00001 #ifndef BspProxyStubPool_HPP 00002 #define BspProxyStubPool_HPP 00003 00004 #include <string> 00005 #include <vector> 00006 00007 #include "utils/c++/Config.hpp" 00008 #include "BspPut.hpp" 00009 #include "BspGetRequest.hpp" 00010 #include "BspGetReply.hpp" 00011 00012 00013 00014 00015 using namespace std; 00016 00030 class BspProxyStubPool{ 00031 00032 private: 00033 00034 00035 //Member fields------------------------------------------------------------------ 00036 string orbPath; 00037 string bspIdlPath; 00039 struct lua_State * clientSideState; 00040 int lastCreatedProxy; 00044 public: 00045 00051 BspProxyStubPool(const Config & config); 00052 00061 string createNewProxy(const string & ior); 00062 00074 void registerRemoteIor(string proxyId, int pid, string ior); 00075 00088 void takeYourPid(string proxyId, int pid); 00089 00096 void bspPut(string proxyId, BspPut & bspPut); 00097 00105 void bspSynch(string proxyId, int pid); 00106 00114 void bspSynchDone(string proxyId, int pid); 00115 00122 void bspGetRequest(const string & proxyId, const BspGetRequest & request); 00123 00130 void bspGetReply(const string & proxyId, const BspGetReply & response); 00131 00132 }; 00133 00134 00135 #endif//BspProxyStubPool_HPP 00136