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_POLYGON_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_POLYGON_PROXY_HH_INCLUDED 00013 00014 00015 #include <stdexcept> 00016 00017 #include "ScalableProxy.hh" 00018 #include "VertexBasedProxy.hh" 00019 00020 00021 namespace peekabot 00022 { 00023 namespace client 00024 { 00028 class PEEKABOT_API PolygonProxyBase : public ScalableProxyBase, 00029 public VertexBasedProxyBase 00030 { 00031 public: 00032 PolygonProxyBase(); 00033 00034 PolygonProxyBase(const PolygonProxyBase &p); 00035 }; 00036 00037 00051 class PEEKABOT_API PolygonProxy : public PolygonProxyBase 00052 { 00053 public: 00054 PolygonProxy(); 00055 00056 PolygonProxy(const PolygonProxyBase &p); 00057 00058 PolygonProxy &operator=(const PolygonProxy &p); 00059 00060 PolygonProxy &operator=(const PolygonProxyBase &p); 00061 00065 DelayedDispatch assign(const ObjectProxyBase &p); 00066 00070 DelayedDispatch assign( 00071 PeekabotClient &client, 00072 const std::string &path); 00073 00078 DelayedDispatch assign( 00079 const ObjectProxyBase &parent, 00080 const std::string &rel_path); 00081 00093 DelayedDispatch add( 00094 PeekabotClient &client, 00095 const std::string &path, 00096 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00097 00110 DelayedDispatch add( 00111 const ObjectProxyBase &parent, 00112 const std::string &name, 00113 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00114 }; 00115 } 00116 } 00117 00118 00119 #endif // PEEKABOT_CLIENT_POLYGON_PROXY_HH_INCLUDED
1.7.1