Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/ActionRegistry.hpp

    rb2d8d0 r986ed3  
    11/*
    2  * Registry<Action>.hpp
     2 * ActionRegistry.hpp
    33 *
    44 *  Created on: Jan 7, 2010
     
    1313#include <map>
    1414
    15 #include "Patterns/Registry.hpp"
    1615#include "Patterns/Singleton.hpp"
    17 #include "Actions/Action.hpp"
    1816
    19 /** Action Registry.
    20  *
    21  * The Action registry is a storage for any Action instance to retrieved by name.
    22  * It is a singleton and can be called from anywhere.
    23  *
    24  */
    25 class ActionRegistry : public Singleton<ActionRegistry>, public Registry<Action>
     17class Action;
     18
     19class ActionRegistry : public Singleton<ActionRegistry>
    2620{
    2721  friend class Singleton<ActionRegistry>;
    28   //friend class Registry<Action>;
     22public:
     23  Action* getActionByName(const std::string);
     24  bool isActionByNamePresent(const std::string name);
     25  void registerAction(Action*);
     26  void unregisterAction(Action*);
    2927
    30 public:
    31   Action* getActionByName(const std::string name);
    32   bool isActionPresentByName(const std::string name);
     28  std::map<const std::string,Action*>::iterator getBeginIter();
     29  std::map<const std::string,Action*>::const_iterator getBeginIter() const;
     30  std::map<const std::string,Action*>::iterator getEndIter();
     31  std::map<const std::string,Action*>::const_iterator getEndIter() const;
     32
     33private:
     34  std::map<const std::string,Action*> actionMap;
    3335
    3436private:
    3537  ActionRegistry();
    36   ~ActionRegistry();
     38  virtual ~ActionRegistry();
    3739};
    3840
     41std::ostream& operator<<(std::ostream& ost, const ActionRegistry& m);
     42
    3943#endif /* ACTIONREGISTRY_HPP_ */
Note: See TracChangeset for help on using the changeset viewer.