00001 /* 00002 * Copyright Staffan Gimåker 2010. 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_POLYLINE_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_POLYLINE_PROXY_HH_INCLUDED 00013 00014 00015 #include "ScalableProxy.hh" 00016 #include "VertexBasedProxy.hh" 00017 #include "LineBasedProxy.hh" 00018 00019 00020 namespace peekabot 00021 { 00022 namespace client 00023 { 00027 class PEEKABOT_API PolylineProxyBase : 00028 public ScalableProxyBase, 00029 public VertexBasedProxyBase, 00030 public LineBasedProxyBase 00031 { 00032 public: 00033 PolylineProxyBase(); 00034 00035 PolylineProxyBase(const PolylineProxyBase &p); 00036 }; 00037 00038 00046 class PEEKABOT_API PolylineProxy : public PolylineProxyBase 00047 { 00048 public: 00049 PolylineProxy(); 00050 00051 PolylineProxy(const PolylineProxyBase &p); 00052 00053 PolylineProxy &operator=(const PolylineProxy &p); 00054 00055 PolylineProxy &operator=(const PolylineProxyBase &p); 00056 00060 DelayedDispatch assign(const ObjectProxyBase &p); 00061 00065 DelayedDispatch assign( 00066 PeekabotClient &client, 00067 const std::string &path); 00068 00073 DelayedDispatch assign( 00074 const ObjectProxyBase &parent, 00075 const std::string &rel_path); 00076 00088 DelayedDispatch add( 00089 PeekabotClient &client, 00090 const std::string &path, 00091 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00092 00105 DelayedDispatch add( 00106 const ObjectProxyBase &parent, 00107 const std::string &name, 00108 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00109 }; 00110 } 00111 } 00112 00113 00114 #endif // PEEKABOT_CLIENT_POLYLINE_PROXY_HH_INCLUDED
1.7.1