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_MODEL_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_MODEL_PROXY_HH_INCLUDED 00013 00014 00015 #include "ScalableProxy.hh" 00016 00017 00018 namespace peekabot 00019 { 00020 namespace client 00021 { 00025 class PEEKABOT_API ModelProxyBase : public ScalableProxyBase 00026 { 00027 public: 00028 ModelProxyBase(); 00029 00030 ModelProxyBase(const ModelProxyBase &p); 00031 }; 00032 00033 00037 class PEEKABOT_API ModelProxy : public ModelProxyBase 00038 { 00039 public: 00040 ModelProxy(); 00041 00042 ModelProxy(const ModelProxyBase &p); 00043 00044 ModelProxy &operator=(const ModelProxy &p); 00045 00046 ModelProxy &operator=(const ModelProxyBase &p); 00047 00051 DelayedDispatch assign(const ObjectProxyBase &p); 00052 00056 DelayedDispatch assign( 00057 PeekabotClient &client, 00058 const std::string &path); 00059 00064 DelayedDispatch assign( 00065 const ObjectProxyBase &parent, 00066 const std::string &rel_path); 00067 00083 DelayedDispatch add( 00084 PeekabotClient &client, 00085 const std::string &path, 00086 const std::string &filename, 00087 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00088 00105 DelayedDispatch add( 00106 const ObjectProxyBase &parent, 00107 const std::string &name, 00108 const std::string &filename, 00109 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00110 }; 00111 } 00112 } 00113 00114 00115 #endif // PEEKABOT_CLIENT_MODEL_PROXY_HH_INCLUDED
1.7.1