11 #ifndef HPP_CORBASERVER_SERVER_HH
12 # define HPP_CORBASERVER_SERVER_HH
14 # include <omniORB4/CORBA.h>
20 # include <hpp/corba/template/server.hh>
68 Server (core::ProblemSolverPtr_t problemSolver,
int argc,
69 const char* argv[],
bool multiThread =
false);
83 const char* argv[],
bool multiThread =
false);
88 PortableServer::POA_var
poa ()
90 return tools_->main_poa();
105 return mainContextId_;
132 CORBA::Object_ptr
getServer (
const std::string& contextName,
133 const std::string& pluginName,
134 const std::string& objectName);
140 const std::string& libFilename);
162 void parseArguments (
int argc,
const char* argv[]);
166 corba::Server<Tools>* tools_;
168 std::string ORBendPoint;
169 std::string mainContextId_;
171 bool multiThread_, nameService_;
182 typedef shared_ptr<ServerPlugin> ServerPluginPtr_t;
183 typedef std::map<std::string, ServerPluginPtr_t> ServerPluginMap_t;
185 ServerPluginPtr_t main;
186 ServerPluginMap_t plugins;
188 std::map<std::string, Context> contexts_;
190 Context& getContext (
const std::string& name);
192 typedef std::map <ServantKey, PortableServer::Servant> ServantKeyToServantMap_t;
193 typedef std::map <PortableServer::Servant, ServantKey> ServantToServantKeyMap_t;
194 ServantKeyToServantMap_t servantKeyToServantMap_;
195 ServantToServantKeyMap_t servantToServantKeyMap_;
Implementation of Hpp module Corba server.
Definition: server.hh:55
void requestShutdown(bool wait)
const bool & multiThread() const
Definition: server.hh:108
CORBA::Object_ptr getServer(const std::string &contextName, const std::string &pluginName, const std::string &objectName)
PortableServer::Servant getServant(ServantKey servantKey) const
bool createContext(const std::string &contextName)
CORBA::ORB_var orb()
Definition: server.hh:93
const std::string & mainContextId() const
Get main context ID.
Definition: server.hh:103
ProblemSolverMapPtr_t problemSolverMap()
const bool & nameService() const
Definition: server.hh:113
void addServantKeyAndServant(ServantKey servantKey, PortableServer::Servant servant)
~Server()
Shutdown CORBA server.
Server(core::ProblemSolverPtr_t problemSolver, int argc, const char *argv[], bool multiThread=false)
void removeServant(PortableServer::Servant servant)
bool loadPlugin(const std::string &contextName, const std::string &libFilename)
int processRequest(bool loop)
If ORB work is pending, process it.
void startCorbaServer()
Initialize CORBA server to process requests from clients.
PortableServer::POA_var poa()
Definition: server.hh:88
void * ServantKey
Definition: server.hh:146
Server(ProblemSolverMapPtr_t problemSolverMap, int argc, const char *argv[], bool multiThread=false)
core::ProblemSolverPtr_t problemSolver()
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:64
shared_ptr< ProblemSolverMap > ProblemSolverMapPtr_t
Definition: fwd.hh:34
Implement CORBA interface `‘Obstacle’'.
Definition: basic-server.hh:27