00001 /* 00002 * Copyright Staffan Gimåker 2008-2009. 00003 * 00004 * --- 00005 * 00006 * Distributed under the Boost Software License, Version 1.0. 00007 * (See accompanying file LICENSE_1_0.txt or copy at 00008 * http://www.boost.org/LICENSE_1_0.txt) 00009 */ 00010 00011 #ifndef PEEKABOT_CLIENT_CIRCLE_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_CIRCLE_PROXY_HH_INCLUDED 00013 00014 00015 #include "ScalableProxy.hh" 00016 #include "LineBasedProxy.hh" 00017 00018 00019 namespace peekabot 00020 { 00021 namespace client 00022 { 00026 class PEEKABOT_API CircleProxyBase : public ScalableProxyBase, 00027 public LineBasedProxyBase 00028 { 00029 public: 00030 CircleProxyBase(); 00031 00032 CircleProxyBase(const CircleProxyBase &p); 00033 }; 00034 00035 00039 class PEEKABOT_API CircleProxy : public CircleProxyBase 00040 { 00041 public: 00042 CircleProxy(); 00043 00044 CircleProxy(const CircleProxyBase &p); 00045 00046 CircleProxy &operator=(const CircleProxy &p); 00047 00048 CircleProxy &operator=(const CircleProxyBase &p); 00049 00053 DelayedDispatch assign(const ObjectProxyBase &p); 00054 00058 DelayedDispatch assign( 00059 PeekabotClient &client, 00060 const std::string &path); 00061 00066 DelayedDispatch assign( 00067 const ObjectProxyBase &parent, 00068 const std::string &rel_path); 00069 00081 DelayedDispatch add( 00082 PeekabotClient &client, 00083 const std::string &path, 00084 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00085 00098 DelayedDispatch add( 00099 const ObjectProxyBase &parent, 00100 const std::string &name, 00101 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00102 }; 00103 } 00104 } 00105 00106 00107 #endif // PEEKABOT_CLIENT_CIRCLE_PROXY_HH_INCLUDED
1.7.1