예제 #1
0
//--------------------------------------------------------------------------------------------------
static void SetCommandHandler
(
    const char* argPtr                  ///< [IN] Command-line argument.
)
{
    if (strcmp(argPtr, "ls") == 0)
    {
        CommandHandler = ListEntries;
        le_arg_AddPositionalCallback(SetPath);
        le_arg_SetFlagVar(&ListSizeFlag, "s", NULL);
        le_arg_AllowLessPositionalArgsThanCallbacks();
    }
    else if (strcmp(argPtr, "read") == 0)
    {
        CommandHandler = PrintEntry;
        le_arg_AddPositionalCallback(SetPath);
    }
    else if (strcmp(argPtr, "write") == 0)
    {
        CommandHandler = WriteEntry;
        le_arg_AddPositionalCallback(SetInputFile);
        le_arg_AddPositionalCallback(SetPath);
    }
    else if (strcmp(argPtr, "rm") == 0)
    {
        CommandHandler = DeletePath;
        le_arg_AddPositionalCallback(SetPath);
    }
    else if (strcmp(argPtr, "size") == 0)
    {
        CommandHandler = PrintSize;
        le_arg_AddPositionalCallback(SetPath);
        le_arg_AllowLessPositionalArgsThanCallbacks();
    }
    else if (strcmp(argPtr, "total") == 0)
    {
        CommandHandler = PrintTotalSizes;
    }
    else if (strcmp(argPtr, "readmeta") == 0)
    {
        CommandHandler = ReadMeta;
    }
    else
    {
        fprintf(stderr, "Unknown command.\n");
        exit(EXIT_FAILURE);
    }
}
예제 #2
0
파일: gdbCfg.c 프로젝트: mbaglin/legato-af
//--------------------------------------------------------------------------------------------------
static void HandleAppName
(
    const char* appName
)
{
    AppName = appName;

    // Now that we have received the only mandatory argument, we can allow less positional
    // arguments than callbacks.
    le_arg_AllowLessPositionalArgsThanCallbacks();
}
예제 #3
0
파일: logTool.c 프로젝트: mbaglin/legato-af
//--------------------------------------------------------------------------------------------------
static void TraceKeywordArgHandler
(
    const char* keyword
)
{
    CommandParamPtr = keyword;

    // Wait for an optional log session identifier next.
    le_arg_AddPositionalCallback(SessionIdArgHandler);
    le_arg_AllowLessPositionalArgsThanCallbacks();
}
예제 #4
0
파일: config.c 프로젝트: ekral85/legato-af
//--------------------------------------------------------------------------------------------------
static void NodeValueArgHandler
(
    const char* nodeValue
)
//--------------------------------------------------------------------------------------------------
{
    NodeValue = nodeValue;

    // Could optionally have a node type argument after the node value.
    le_arg_AddPositionalCallback(DataTypeArgHandler);
    le_arg_AllowLessPositionalArgsThanCallbacks();
}
예제 #5
0
파일: logTool.c 프로젝트: mbaglin/legato-af
//--------------------------------------------------------------------------------------------------
static void LogLevelArgHandler
(
    const char* logLevel
)
{
    // Check that string is one of the level strings.
    le_log_Level_t level = ParseSeverityLevel(logLevel);
    if (level == (le_log_Level_t)(-1))
    {
        ExitWithErrorMsg("Invalid log level.");
    }

    const char* levelStr = log_SeverityLevelToStr(level);
    LE_ASSERT(levelStr != NULL);
    CommandParamPtr = levelStr;

    // Wait for an optional log session identifier next.
    le_arg_AddPositionalCallback(SessionIdArgHandler);
    le_arg_AllowLessPositionalArgsThanCallbacks();
}