42std::string
get_next_param(
const std::string &cmd,
size_t &
pos,
char separate =
' ');
76 const char *
const key;
81 Param(
const char *ky,
void *pD,
Type tp,
bool ignore =
true,
const char *error =
nullptr) :
99 m_param.emplace_back(
Param{key, pD, tp, ignore_case, err});
102 virtual int parser(
char *p =
nullptr);
137 int parser(
char *p =
nullptr)
override;
148 int parser(
char *p =
nullptr)
override;
160 int parser(
char *p =
nullptr)
override;
174 int parser(
char *p =
nullptr)
override;
189 int parser(
char *p =
nullptr)
override;
196class CmdList :
public std::vector<std::shared_ptr<CmdBase>>
202class CmdMap :
public std::map<std::string, std::shared_ptr<CmdList>>
205 int run_all(
const std::string &protocol,
CmdCtx *p,
bool dry_run =
false);
213 int parser(
char * )
override {
return 0; }
int run(CmdCtx *p) override
Definition config.cpp:126
int parser(char *) override
Definition cmd.h:213
CfgCmd(const char *cmd)
Definition cmd.h:211
bool m_bCheckTotalParam
Definition cmd.h:106
std::vector< Param > m_param
Definition cmd.h:113
bool m_NoKeyParam
Definition cmd.h:109
virtual int parser(char *p=nullptr)
Definition cmd.cpp:99
int m_timeout
Definition cmd.h:110
virtual ~CmdBase()
Definition cmd.cpp:95
bool m_lastcmd
Definition cmd.h:108
CmdBase(const char *p)
Definition cmd.h:91
const std::string & get_cmd() const noexcept
Definition cmd.h:95
virtual int run(CmdCtx *p)=0
std::string m_cmd
Definition cmd.h:107
virtual int parser_protocol(char *p, size_t &pos)
Definition cmd.cpp:205
virtual int dump()
Definition cmd.cpp:240
void insert_param_info(const char *key, void *pD, Param::Type tp, bool ignore_case=true, const char *err=nullptr)
Definition cmd.h:97
bool get_lastcmd() const noexcept
Definition cmd.h:96
virtual ~CmdCtx()
Definition cmd.cpp:91
CmdCtx(const CmdCtx &)=delete
ConfigItem * m_config_item
Definition cmd.h:52
TransHandle m_dev
Definition cmd.h:53
CmdCtx & operator=(const CmdCtx &)=delete
short m_current_bcd
Definition cmd.h:54
int m_ms
Definition cmd.h:141
CmdDelay(const char *p)
Definition cmd.h:135
int parser(char *p=nullptr) override
Definition cmd.cpp:608
int run(CmdCtx *p) override
Definition cmd.cpp:629
CmdDone(const char *p)
Definition cmd.h:127
int run(CmdCtx *p) override
Definition cmd.cpp:600
std::string m_unfold_cmd
Definition cmd.h:193
int parser(char *p=nullptr) override
Definition cmd.cpp:743
int run(CmdCtx *p) override
Definition cmd.cpp:915
int parser(char *p=nullptr) override
Definition cmd.cpp:635
CmdError(const char *p)
Definition cmd.h:147
std::string m_error
Definition cmd.h:152
int run(CmdCtx *p) override
Definition cmd.cpp:653
void build_map(CmdCtx *p)
Definition cmd.cpp:850
std::string m_condition
Definition cmd.h:178
CmdIf(const char *p)
Definition cmd.h:172
std::string m_protocol
Definition cmd.h:179
int parser(char *p=nullptr) override
Definition cmd.cpp:809
std::string m_true_cmd
Definition cmd.h:180
int run(CmdCtx *p) override
Definition cmd.cpp:867
int run_all(CmdCtx *p, bool dry_run=false)
Definition cmd.cpp:253
int run_all(const std::string &protocol, CmdCtx *p, bool dry_run=false)
Definition cmd.cpp:294
CmdObjCreateMap()
Definition cmd.cpp:420
std::string m_protocol
Definition cmd.h:165
bool m_dyn
Definition cmd.h:164
int run(CmdCtx *p) override
Definition cmd.cpp:682
CmdShell(const char *p)
Definition cmd.h:158
std::string m_shellcmd
Definition cmd.h:166
int parser(char *p=nullptr) override
Definition cmd.cpp:659
~CmdUsbCtx() override
Definition usbhotplug.cpp:514
int look_for_match_device(const char *protocol)
Definition usbhotplug.cpp:524
int run_cmds(const char *protocol, CmdCtx *p)
Definition cmd.cpp:920
int clear_env()
Definition cmd.cpp:70
bool is_evn_exist(std::string key)
std::shared_ptr< CmdBase >(*)(char *) CreateCmdObj
Definition cmd.h:116
std::string get_env_variable(std::string key)
Definition cmd.cpp:65
std::string get_next_param(const std::string &cmd, size_t &pos, char separate=' ')
Definition cmd.cpp:308
int insert_env_variable(const std::string &key, const std::string &value)
Definition cmd.cpp:59
int run_cmd(CmdCtx *pCtx, const char *cmd, int dry)
Definition cmd.cpp:538
void * pData
Definition cmd.h:78
Param(const char *ky, void *pD, Type tp, bool ignore=true, const char *error=nullptr)
Definition cmd.h:81
const char *const key
Definition cmd.h:76
const Type type
Definition cmd.h:79
const char *const Error
Definition cmd.h:77
@ e_string_filename
Definition cmd.h:73
@ e_uint32
Definition cmd.h:68
@ e_null
Definition cmd.h:72
@ e_string
Definition cmd.h:71
@ e_bool
Definition cmd.h:70
@ e_uint64
Definition cmd.h:69
const bool ignore_case
Definition cmd.h:80
auto pos
Definition usbhotplug.cpp:160