29 #ifndef HPP_CORBASERVER_PROBLEM_SOLVER_MAP_HH 30 #define HPP_CORBASERVER_PROBLEM_SOLVER_MAP_HH 31 #include <boost/thread/mutex.hpp> 36 #include "hpp/core/fwd.hh" 39 namespace corbaServer {
42 typedef std::map<std::string, core::ProblemSolverPtr_t>
ProblemMap_t;
48 const std::string& name =
"default");
52 core::ProblemSolverPtr_t operator->();
53 operator core::ProblemSolverPtr_t();
55 core::ProblemSolverPtr_t selected()
const;
56 core::ProblemSolverPtr_t
get(
const std::string& name)
const;
57 void selected(
const std::string& name);
59 bool has(
const std::string& name)
const;
60 void add(
const std::string& name, core::ProblemSolverPtr_t ps);
61 void remove(
const std::string& name);
62 void replaceSelected(core::ProblemSolverPtr_t ps);
64 template <
typename ReturnType>
66 mutex_t::scoped_lock lock(*mutex_);
68 for (ProblemMap_t::const_iterator it = map_->begin(); it != map_->end();
70 l.push_back(it->first);
77 std::string selected_;
Implement CORBA interface ``Obstacle''.
Definition: basic-server.hh:35
shared_ptr< mutex_t > mutexPtr_t
Definition: problem-solver-map.hh:45
const std::string & selectedName() const
Definition: problem-solver-map.hh:74
std::map< std::string, core::ProblemSolverPtr_t > ProblemMap_t
Definition: problem-solver-map.hh:42
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:64
Definition: problem-solver-map.hh:40
boost::mutex mutex_t
Definition: problem-solver-map.hh:44
ReturnType keys() const
Definition: problem-solver-map.hh:65
shared_ptr< ProblemMap_t > ProblemMapPtr_t
Definition: problem-solver-map.hh:43