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");
53 operator core::ProblemSolverPtr_t();
56 core::ProblemSolverPtr_t
get(
const std::string& name)
const;
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);
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_;
Definition: problem-solver-map.hh:40
void selected(const std::string &name)
const std::string & selectedName() const
Definition: problem-solver-map.hh:74
void replaceSelected(core::ProblemSolverPtr_t ps)
core::ProblemSolverPtr_t operator->()
ProblemSolverMap(core::ProblemSolverPtr_t init, const std::string &name="default")
bool has(const std::string &name) const
void remove(const std::string &name)
core::ProblemSolverPtr_t selected() const
shared_ptr< ProblemMap_t > ProblemMapPtr_t
Definition: problem-solver-map.hh:43
void add(const std::string &name, core::ProblemSolverPtr_t ps)
boost::mutex mutex_t
Definition: problem-solver-map.hh:44
ReturnType keys() const
Definition: problem-solver-map.hh:65
core::ProblemSolverPtr_t get(const std::string &name) const
std::map< std::string, core::ProblemSolverPtr_t > ProblemMap_t
Definition: problem-solver-map.hh:42
ProblemSolverMap(const ProblemSolverMap &map)
shared_ptr< mutex_t > mutexPtr_t
Definition: problem-solver-map.hh:45
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:88
Implement CORBA interface `‘Obstacle’'.
Definition: client.hh:46