hpp-manipulation-corba  4.9.0
Corba server for manipulation planning
server.hh
Go to the documentation of this file.
1 // Copyright (C) 2014 CNRS-LAAS
2 // Author: Florent Lamiraux.
3 //
4 // This file is part of the hpp-manipulation-corba.
5 //
6 // hpp-manipulation-corba is free software: you can redistribute
7 // it and/or modify it under the terms of the GNU Lesser General
8 // Public License as published by the Free Software Foundation, either
9 // version 3 of the License, or (at your option) any later version.
10 //
11 // hpp-manipulation-corba is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with hpp-manipulation-corba. If not, see
18 // <http://www.gnu.org/licenses/>.
19 
20 #ifndef HPP_MANIPULATION_CORBA_SERVER_HH
21 # define HPP_MANIPULATION_CORBA_SERVER_HH
22 
23 # include <stdexcept>
24 
26 
28 
30 # include <hpp/corbaserver/manipulation/config.hh>
31 
32 namespace hpp {
33  namespace manipulation {
34  namespace impl {
35  class Graph;
36  class Problem;
37  class Robot;
38  }
39  class HPP_MANIPULATION_CORBA_DLLAPI Server : public corbaServer::ServerPlugin
40  {
41  public:
42  Server (corbaServer::Server* parent);
43 
44  ~Server ();
45 
48  void startCorbaServer(const std::string& contextId,
49  const std::string& contextKind);
50 
51  ::CORBA::Object_ptr servant (const std::string& name) const;
52 
53  std::string name () const;
54 
55  ProblemSolverPtr_t problemSolver ();
56 
57  private:
58  corba::Server <impl::Graph>* graphImpl_;
59  corba::Server <impl::Problem>* problemImpl_;
60  corba::Server <impl::Robot>* robotImpl_;
61  }; // class Server
62  } // namespace manipulation
63 } // namespace hpp
64 
65 #endif // HPP_MANIPULATION_CORBA_SERVER_HH
ProblemSolver * ProblemSolverPtr_t
ProblemServant< POA_hpp::core_idl::Problem, core::ProblemPtr_t > Problem
Definition: server.hh:39