00001 /* 00002 * Copyright Staffan Gimåker 2008-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_GRID_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_GRID_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 GridProxyBase : public ScalableProxyBase, 00027 public LineBasedProxyBase 00028 { 00029 public: 00030 GridProxyBase(); 00031 00032 GridProxyBase(GridProxyBase &p); 00033 00037 DelayedDispatch set_segment_count(boost::uint32_t n); 00038 00043 DelayedDispatch set_grid_type(GridType type); 00044 00052 DelayedDispatch set_central_angle(float central_angle); 00053 }; 00054 00055 00062 class PEEKABOT_API GridProxy : public GridProxyBase 00063 { 00064 public: 00065 GridProxy(); 00066 00067 GridProxy(GridProxyBase &p); 00068 00069 GridProxy &operator=(const GridProxy &p); 00070 00071 GridProxy &operator=(const GridProxyBase &p); 00072 00076 DelayedDispatch assign(const ObjectProxyBase &p); 00077 00081 DelayedDispatch assign( 00082 PeekabotClient &client, 00083 const std::string &path); 00084 00089 DelayedDispatch assign( 00090 const ObjectProxyBase &parent, 00091 const std::string &rel_path); 00092 00107 DelayedDispatch add( 00108 PeekabotClient &client, 00109 const std::string &path, 00110 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00111 00127 DelayedDispatch add( 00128 const ObjectProxyBase &parent, 00129 const std::string &name, 00130 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00131 }; 00132 } 00133 } 00134 00135 00136 #endif // PEEKABOT_CLIENT_GRID_PROXY_HH_INCLUDED
1.7.1