35 #ifndef HPP_CORBASERVER_SERVER_HH
36 #define HPP_CORBASERVER_SERVER_HH
38 #include <omniORB4/CORBA.h>
40 #include <hpp/corba/template/server.hh>
47 namespace corbaServer {
91 Server(core::ProblemSolverPtr_t problemSolver,
int argc,
const char* argv[],
92 bool multiThread =
false);
98 Server(core::ProblemSolverPtr_t problemSolver,
bool multiThread =
false);
114 PortableServer::POA_var
poa() {
return tools_->main_poa(); }
116 CORBA::ORB_var
orb() {
return tools_->orb(); }
147 CORBA::Object_ptr
getServer(
const std::string& contextName,
148 const std::string& pluginName,
149 const std::string& objectName);
155 const std::string& libFilename);
166 PortableServer::Servant servant);
175 corba::Server<Tools>* tools_;
177 std::string ORBendPoint;
178 std::string mainContextId_;
180 bool multiThread_, nameService_;
191 typedef shared_ptr<ServerPlugin> ServerPluginPtr_t;
192 typedef std::map<std::string, ServerPluginPtr_t> ServerPluginMap_t;
194 ServerPluginPtr_t main;
195 ServerPluginMap_t plugins;
197 std::map<std::string, Context> contexts_;
199 Context& getContext(
const std::string& name);
201 typedef std::map<ServantKey, PortableServer::Servant>
202 ServantKeyToServantMap_t;
203 typedef std::map<PortableServer::Servant, ServantKey>
204 ServantToServantKeyMap_t;
205 ServantKeyToServantMap_t servantKeyToServantMap_;
206 ServantToServantKeyMap_t servantToServantKeyMap_;
Definition: read-write-lock.hh:17
Implementation of Hpp module Corba server.
Definition: server.hh:78
void requestShutdown(bool wait)
void initialize()
Initialize ORB and CORBA servers.
std::vector< std::string > getAllObjectIds()
bool parseArguments(int argc, const char *argv[])
Configure using command line argument.
Server(core::ProblemSolverPtr_t problemSolver, bool multiThread=false)
std::vector< std::string > getContexts() const
const bool & multiThread() const
Definition: server.hh:125
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:116
const std::string & mainContextId() const
Get main context ID.
Definition: server.hh:123
ProblemSolverMapPtr_t problemSolverMap()
const bool & nameService() const
Definition: server.hh:127
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:114
void * ServantKey
Definition: server.hh:161
core::ProblemSolverPtr_t problemSolver()
bool deleteContext(const std::string &contextName)
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:88
shared_ptr< ProblemSolverMap > ProblemSolverMapPtr_t
Definition: fwd.hh:57
Implement CORBA interface `‘Obstacle’'.
Definition: client.hh:46