Esempio n. 1
0
bool CommandMgr::HandleCommand(const std::string& command, char* args[])
{
    CommandHandler* const handler = GetCommandHandler(command);
    if (!handler)
        return false;

    if (!(this->*handler->Handler)(args))
    {
        printf("Invalid parameter(s)\n");
        printf("%s\n", handler->Help);
    }

    return true;
}
Esempio n. 2
0
/* string query (in string aCommand, in string aStatus); */
NS_IMETHODIMP nsCommandHandler::Query(const char *aCommand, const char *aStatus, char **aResult)
{
    NS_ENSURE_ARG_POINTER(aCommand);
    NS_ENSURE_ARG_POINTER(aResult);

    nsCOMPtr<nsICommandHandler> commandHandler;
    GetCommandHandler(getter_AddRefs(commandHandler));

    // Call the client's command handler to deal with this command
    if (commandHandler)
    {
        *aResult = nullptr;
        return commandHandler->Query(aCommand, aStatus, aResult);
    }

    // Return an empty string
    const char szEmpty[] = "";
    *aResult = (char *) nsMemory::Clone(szEmpty, sizeof(szEmpty));

    return NS_OK;
}