25 #ifndef ACE_UTILS_CLI_COMMAND_HANDLER_H
26 #define ACE_UTILS_CLI_COMMAND_HANDLER_H
28 #include <AceCommon.h>
55 virtual void run(Print& printer,
int argc,
const char*
const* argv)
59 ace_common::FCString
getName()
const {
return mName; }
83 static bool isArgEqual(
const char* arg,
const char* token) {
84 return strcmp(arg, token) == 0;
88 static bool isArgEqual(
const char* arg,
const __FlashStringHelper* token) {
89 return strcmp_P(arg, (
const char*) token) == 0;
95 mHelpString(helpString) {}
99 const __FlashStringHelper* helpString):
101 mHelpString(helpString) {}
104 ace_common::FCString
const mName;
105 ace_common::FCString
const mHelpString;
Signature for a command handler.
ace_common::FCString getHelpString() const
Return the help string of the command.
ace_common::FCString getName() const
Return the name of the command.
CommandHandler(const char *name, const char *helpString)
Constructor.
static void shiftArgcArgv(int &argc, const char *const *&argv)
Increment argv and decrement argc so that it appears as if the command line arguments are shifted to ...
static void SHIFT_ARGC_ARGV(int &argc, const char *const *&argv)
Backwards compatibility with previous macro implementation .
virtual void run(Print &printer, int argc, const char *const *argv) const =0
Run the command.
CommandHandler(const __FlashStringHelper *name, const __FlashStringHelper *helpString)
Constructor.
static bool isArgEqual(const char *arg, const char *token)
Test for equality against token.
static bool isArgEqual(const char *arg, const __FlashStringHelper *token)
Test for equality when token is in PROGMEM.