/* client/action.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_ACTION_H__ #define __INCLUDED_CLIENT_ACTION_H__ #include namespace client { /// an Action that can be bound to a key class Action { public: /// actions enum Identifier {None = 0}; /// define a new action Action(const char *name, Identifier action, const char *info = 0); ~Action(); /// name of the Action inline std::string const & name() const { return action_name; } /// Action Identifier inline Identifier id() const { return action_id; } inline std::string const & info() const { return action_info; } /// set info void set_info(const char *info); private: std::string action_name; std::string action_info; Identifier action_id; }; } // namespace client #endif // __INCLUDED_CLIENT_ACTION_H__