29 #ifndef HPP_CORBASERVER_SERVER_PLUGIN_HH
30 #define HPP_CORBASERVER_SERVER_PLUGIN_HH
32 #include <hpp/corba/template/server.hh>
37 #include <hpp/util/exception.hh>
40 #define HPP_CORBASERVER_DEFINE_PLUGIN(PluginClassName) \
42 ::hpp::corbaServer::ServerPlugin* createServerPlugin( \
43 ::hpp::corbaServer::Server* server) { \
44 return new PluginClassName(server); \
49 namespace corbaServer {
56 const std::string& contextKind) = 0;
58 virtual std::string
name()
const = 0;
60 virtual ::CORBA::Object_ptr
servant(
const std::string& name)
const = 0;
65 return problemSolverMap_->selected();
72 problemSolverMap_ = psMap;
83 const std::string& contextId,
84 const std::string& contextKind,
85 const std::string& objectId,
86 const std::string& objectKind) {
87 server =
new corba::Server<T>(0, NULL);
88 server->initRootPOA(parent()->multiThread());
90 int ret = parent()->nameService()
91 ? server->startCorbaServer(contextId, contextKind, objectId,
93 : server->startCorbaServer();
96 throw std::runtime_error(
"Failed to start corba " + contextId +
'.' +
97 contextKind +
'/' + objectId +
'.' + objectKind +
Definition: server-plugin.hh:50
ProblemSolverMapPtr_t problemSolverMap_
Definition: server-plugin.hh:79
ProblemSolverMapPtr_t problemSolverMap() const
Definition: server-plugin.hh:68
Server * parent()
Definition: server-plugin.hh:62
void setProblemSolverMap(ProblemSolverMapPtr_t psMap)
Set planner that will be controlled by server.
Definition: server-plugin.hh:71
void initializeTplServer(corba::Server< T > *&server, const std::string &contextId, const std::string &contextKind, const std::string &objectId, const std::string &objectKind)
Definition: server-plugin.hh:82
ServerPlugin(Server *parent)
Definition: server-plugin.hh:76
core::ProblemSolverPtr_t problemSolver() const
Definition: server-plugin.hh:64
virtual ~ServerPlugin()
Definition: server-plugin.hh:52
virtual ::CORBA::Object_ptr servant(const std::string &name) const =0
Server * parent_
Definition: server-plugin.hh:78
virtual void startCorbaServer(const std::string &contextId, const std::string &contextKind)=0
Start corba server.
virtual std::string name() const =0
Implementation of Hpp module Corba server.
Definition: server.hh:78
#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