AceUtils
0.3
Useful Arduino utilties which are too small as separate libraries, but complex enough to have external dependencies to other libraries.
|
25 #ifndef CLI_COMMAND_HANDLER_H
26 #define CLI_COMMAND_HANDLER_H
28 #include <AceCommon.h>
39 #define SHIFT_ARGC_ARGV(argc, argv) do { argc--; argv++; } while (false)
63 virtual void run(Print& printer,
int argc,
const char*
const* argv)
67 ace_common::FCString
getName()
const {
return mName; }
74 static bool isArgEqual(
const char* arg,
const char* token) {
75 return strcmp(arg, token) == 0;
79 static bool isArgEqual(
const char* arg,
const __FlashStringHelper* token) {
80 return strcmp_P(arg, (
const char*) token) == 0;
86 mHelpString(helpString) {}
90 const __FlashStringHelper* helpString):
92 mHelpString(helpString) {}
95 ace_common::FCString
const mName;
96 ace_common::FCString
const mHelpString;
CommandHandler(const __FlashStringHelper *name, const __FlashStringHelper *helpString)
Constructor.
CommandHandler(const char *name, const char *helpString)
Constructor.
Signature for a command handler.
static bool isArgEqual(const char *arg, const __FlashStringHelper *token)
Test for equality when token is in PROGMEM.
ace_common::FCString getHelpString() const
Return the help string of the command.
virtual void run(Print &printer, int argc, const char *const *argv) const =0
Run the command.
static bool isArgEqual(const char *arg, const char *token)
Test for equality against token.
ace_common::FCString getName() const
Return the name of the command.