/* * MenuDescription.hpp * * Created on: Oct 26, 2010 * Author: heber */ #ifndef MENUDESCRIPTION_HPP_ #define MENUDESCRIPTION_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include "CodePatterns/Singleton.hpp" class MenuDescriptionTest; /** Class contains information on menus. * */ class MenuDescription : public Singleton { //!> unit tests needs to access private maps friend class MenuDescriptionTest; //!> unit tests needs to access private maps to check consistency against those stored in ActionRegistry friend class MenuDescription_ActionRegistry_ConsistencyTest; friend class Singleton; public: typedef std::pair TopPosition; typedef std::map IterableMap; typedef IterableMap::iterator iterator; typedef IterableMap::const_iterator const_iterator ; typedef std::map TextMap; // getter for description const std::string getDescription(const std::string &token) const; const std::string getName(const std::string &token) const; //std::multimap getMenuItemsMap() const; // iterators iterator getBeginIter(); iterator getEndIter(); const_iterator getBeginIter() const; const_iterator getEndIter() const; private: MenuDescription(); ~MenuDescription(); static TextMap *MenuDescriptionsMap; static IterableMap *MenuPositionMap; static TextMap *MenuNameMap; }; #endif /* MENUDESCRIPTION_HPP_ */