X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=include%2Fparameter.h;h=1396f830d07ed3d63f11eb9540f6bc028a71c4cd;hb=9bc6a44ad1a07a6420ce4fd75dfea0796bcd0d46;hp=e55a2d1e248c2fe3541fb3395177a52691c33dee;hpb=56957154bf5f7dfc6005d689347df96276e4b51d;p=command.git diff --git a/include/parameter.h b/include/parameter.h index e55a2d1..1396f83 100644 --- a/include/parameter.h +++ b/include/parameter.h @@ -8,15 +8,12 @@ namespace command { /** - * Class responsible for handling commandline arguments. - * Arguments are required,x non-named parameters of program. + * Base class for all the Arguments and Options. * * Example: * ./myprog ARGUMENT */ class Parameter : public Descriptive { - protected: - std:string userValue; public: typedef class Parameter Type; /** @@ -24,16 +21,22 @@ namespace command { * * @param description Description of current Argument */ - Parameter(std::string description) + Parameter(const std::string & description) : Descriptive(description) { } - virtual ~Parameter() {} + virtual ~Parameter() { } + + /** + * Method used for handling method calls linked with Argument or Option + */ virtual void handle() = 0; - virtual void passUserValue(std::string argVal) { - userValue = argVal; - } + /** + * Method used for checking if the given user value understandable for + * parameter. + */ + virtual bool understand(const std::string & ) = 0; }; }