00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _fbfs_PROXY
00021 #define _fbfs_PROXY 1
00022
00023 #include "../idl/Proxy.hh"
00024 #include "../utils/Prefs.h"
00025 #include "../utils/ShareLock.h"
00026 #include "../NameServer/NameServerClient.h"
00027
00034 namespace fbfs {
00035 class Proxy_i;
00036 };
00037
00049 class fbfs::Proxy_i : public POA_fbfs::Proxy, public PortableServer::RefCountServantBase {
00050 public:
00055 Proxy_i(utils::Prefs &prefs, const CORBA::ORB_ptr &orb);
00056
00060 virtual ~Proxy_i() {};
00061
00082 fbfs::Obj *get(const Security &cert, const Obj_id &id)
00083 throw(NotFound, SecurityException, InternalError);
00084
00104 void put(const Security &cert, const Obj_id &id, const Obj &obj, const Obj_prop &props)
00105 throw(AlreadyPresent, NotFound, SecurityException, InternalError);
00106
00121 void remove(const Security &cert, const Obj_id &id)
00122 throw(NotFound, SecurityException, InternalError);
00123
00124 private:
00125 utils::Prefs &prefs;
00126 const string dir;
00127 CORBA::ORB_ptr orb;
00128 NameServerClient nsclient;
00129 utils::ShareLock lock;
00130 };
00131
00144 #endif