#ifndef CLI_DATASET_HPP_
#define CLI_DATASET_HPP_
#include "openthread-core-config.h"
#include <stdarg.h>
#include <openthread/dataset.h>
namespace ot {
namespace Cli {
class Interpreter;
class Dataset
{
public:
explicit Dataset(Interpreter &aInterpreter)
: mInterpreter(aInterpreter)
{
}
otError Process(uint8_t aArgsLength, char *aArgs[]);
private:
struct Command
{
const char *mName;
otError (Dataset::*mCommand)(uint8_t aArgsLength, char *aArgs[]);
};
void OutputBytes(const uint8_t *aBytes, uint8_t aLength);
otError Print(otOperationalDataset &aDataset);
otError ProcessHelp(uint8_t aArgsLength, char *aArgs[]);
otError ProcessActive(uint8_t aArgsLength, char *aArgs[]);
otError ProcessActiveTimestamp(uint8_t aArgsLength, char *aArgs[]);
otError ProcessChannel(uint8_t aArgsLength, char *aArgs[]);
otError ProcessChannelMask(uint8_t aArgsLength, char *aArgs[]);
otError ProcessClear(uint8_t aArgsLength, char *aArgs[]);
otError ProcessCommit(uint8_t aArgsLength, char *aArgs[]);
otError ProcessDelay(uint8_t aArgsLength, char *aArgs[]);
otError ProcessExtPanId(uint8_t aArgsLength, char *aArgs[]);
otError ProcessInit(uint8_t aArgsLength, char *aArgs[]);
otError ProcessMasterKey(uint8_t aArgsLength, char *aArgs[]);
otError ProcessMeshLocalPrefix(uint8_t aArgsLength, char *aArgs[]);
otError ProcessNetworkName(uint8_t aArgsLength, char *aArgs[]);
otError ProcessPanId(uint8_t aArgsLength, char *aArgs[]);
otError ProcessPending(uint8_t aArgsLength, char *aArgs[]);
otError ProcessPendingTimestamp(uint8_t aArgsLength, char *aArgs[]);
otError ProcessMgmtSetCommand(uint8_t aArgsLength, char *aArgs[]);
otError ProcessMgmtGetCommand(uint8_t aArgsLength, char *aArgs[]);
otError ProcessPskc(uint8_t aArgsLength, char *aArgs[]);
otError ProcessSecurityPolicy(uint8_t aArgsLength, char *aArgs[]);
Interpreter &mInterpreter;
static const Command sCommands[];
static otOperationalDataset sDataset;
};
} }
#endif