diff options
Diffstat (limited to 'src/client/action.h')
-rw-r--r-- | src/client/action.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/client/action.h b/src/client/action.h new file mode 100644 index 0000000..c7086c8 --- /dev/null +++ b/src/client/action.h @@ -0,0 +1,45 @@ +/* + 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 <string> + +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__ |