Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/control.h')
-rw-r--r--src/client/control.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/client/control.h b/src/client/control.h
new file mode 100644
index 0000000..bf30418
--- /dev/null
+++ b/src/client/control.h
@@ -0,0 +1,53 @@
+/*
+ client/control.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_CONTROL_H__
+#define __INCLUDED_CLIENT_CONTROL_H__
+
+#include <string>
+
+namespace client
+{
+
+/**
+ * @brief a client key control.
+ * A Control maps commands to key names
+ */
+class Control
+{
+public:
+ Control(const char *name, const char *command, const char * keyname = 0);
+ ~Control();
+
+ inline const std::string &name() const
+ {
+ return _name;
+ }
+
+ inline const std::string & command() const
+ {
+ return _command;
+ }
+
+ inline const std::string & keyname() const
+ {
+ return _keyname;
+ }
+
+ inline void set_keyname(const std::string &keyname)
+ {
+ _keyname.assign(keyname);
+ }
+
+private:
+ std::string _name;
+ std::string _command;
+ std::string _keyname;
+};
+
+} // namespace client
+
+#endif // __INCLUDED_CLIENT_CONTROL_H__