/* * Copyright 2012, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #ifndef CLI_COMMAND_H #define CLI_COMMAND_H #include class CliContext; class CliCommand : public BReferenceable { public: CliCommand(const char* summary, const char* usage); virtual ~CliCommand(); const char* Summary() const { return fSummary; } const char* Usage() const { return fUsage; } void PrintUsage(const char* commandName) const; virtual void Execute(int argc, const char* const* argv, CliContext& context) = 0; protected: const char* fSummary; const char* fUsage; }; #endif // CLI_COMMAND_H