9e250869c1c7a95f6290cabf8926b718fe581ecc
[command.git] / include / parameter.h
1 #ifndef __COMMAND_PARAMETER_H
2 #define __COMMAND_PARAMETER_H
3
4 #include <string>
5
6 #include "descriptive.h"
7 #include "callable.h"
8
9 namespace command {
10     /**
11      * Class responsible for handling commandline arguments.
12      * Arguments are required,x non-named parameters of program.
13      *
14      * Example:
15      *  ./myprog ARGUMENT
16      */
17     class Parameter : public Descriptive {
18     public:
19         typedef class Parameter Type;
20         /**
21          * Default constructor.
22          *
23          * @param description Description of current Argument
24          */
25         Parameter(std::string description)
26             : Descriptive(description) {
27         }
28         virtual ~Parameter() {}
29
30         virtual void handle() {
31             std::cout << "Parameter::handle()" << std::endl;
32         };
33     };
34 }
35
36 #endif /* __COMMAND_PARAMETER_H */