35 #ifndef HPP_CORBASERVER_SERVER_HH 36 #define HPP_CORBASERVER_SERVER_HH 38 #include <omniORB4/CORBA.h> 40 #include <hpp/corba/template/server.hh> 46 namespace corbaServer {
90 Server(core::ProblemSolverPtr_t problemSolver,
int argc,
const char* argv[],
91 bool multiThread =
false);
105 bool multiThread =
false);
110 PortableServer::POA_var
poa() {
return tools_->main_poa(); }
112 CORBA::ORB_var
orb() {
return tools_->orb(); }
116 void startCorbaServer();
129 int processRequest(
bool loop);
135 void requestShutdown(
bool wait);
137 bool createContext(
const std::string& contextName);
139 std::vector<std::string> getContexts()
const;
141 bool deleteContext(
const std::string& contextName);
143 CORBA::Object_ptr getServer(
const std::string& contextName,
144 const std::string& pluginName,
145 const std::string& objectName);
150 bool loadPlugin(
const std::string& contextName,
151 const std::string& libFilename);
155 core::ProblemSolverPtr_t problemSolver();
159 PortableServer::Servant getServant(ServantKey servantKey)
const;
161 void addServantKeyAndServant(ServantKey servantKey,
162 PortableServer::Servant servant);
164 void removeServant(PortableServer::Servant servant);
166 void clearServantsMap();
173 void parseArguments(
int argc,
const char* argv[]);
177 corba::Server<Tools>* tools_;
179 std::string ORBendPoint;
180 std::string mainContextId_;
182 bool multiThread_, nameService_;
193 typedef shared_ptr<ServerPlugin> ServerPluginPtr_t;
194 typedef std::map<std::string, ServerPluginPtr_t> ServerPluginMap_t;
196 ServerPluginPtr_t main;
197 ServerPluginMap_t plugins;
199 std::map<std::string, Context> contexts_;
201 Context& getContext(
const std::string& name);
203 typedef std::map<ServantKey, PortableServer::Servant>
204 ServantKeyToServantMap_t;
205 typedef std::map<PortableServer::Servant, ServantKey>
206 ServantToServantKeyMap_t;
207 ServantKeyToServantMap_t servantKeyToServantMap_;
208 ServantToServantKeyMap_t servantToServantKeyMap_;
shared_ptr< ProblemSolverMap > ProblemSolverMapPtr_t
Definition: fwd.hh:57
Implement CORBA interface ``Obstacle''.
Definition: client.hh:46
CORBA::ORB_var orb()
Definition: server.hh:112
PortableServer::POA_var poa()
Definition: server.hh:110
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:64
const std::string & mainContextId() const
Get main context ID.
Definition: server.hh:119
Implementation of Hpp module Corba server.
Definition: server.hh:77
const bool & multiThread() const
Definition: server.hh:121
void * ServantKey
Definition: server.hh:157
const bool & nameService() const
Definition: server.hh:123