initial commit
[raggin.git] / src / command.hpp
blob5d485182569898f7e9b9ea99ebf515cf115ad123
1 #ifndef command_hpp_INCLUDED
2 #define command_hpp_INCLUDED
4 #include <string>
5 #include "param_vector.hpp"
8 namespace raggin
10 class command
12 public:
13 /** DefaultKonstruktor.
15 command();
17 /** Konstruktor.
18 * @param cmdName Der Name des Commands.
20 command(std::string cmd_name);
22 /** Konstruktor.
23 * @param cmdName Der Name des Commands.
24 * @param params Die Parameter des Commands.
26 command(std::string cmd_name, param_vector params);
28 /** Gibt einen Parameter zurueck.
29 * @param index Index des Parameters.
31 template<typename T>
32 T & get_param(int index)
34 return boost::get<T>(params_.at(index));
37 /** Fuegt einen Parameter hinzu.
38 * @param newParam Objekt, dass als Parameter hinzugefuegt werden soll.
40 template<typename T>
41 void add_param(const T & param)
43 params_.push_back(param);
46 private:
47 std::string name_;
48 param_vector params_;
52 #endif