Beispiel #1
0
void CGridCgiSampleApplication::x_SetupArgs()
{
    // Disregard the case of CGI arguments
    SetRequestFlags(CCgiRequest::fCaseInsensitiveArgs);

    // Create CGI argument descriptions class
    //  (For CGI applications only keys can be used)
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "CGI sample application");
        
    // Describe possible cmd-line and HTTP entries
    // (optional)
    arg_desc->AddOptionalKey("message",
                             "message",
                             "Message passed to CGI application",
                             CArgDescriptions::eString,
                             CArgDescriptions::fAllowMultiple);

    arg_desc->AddOptionalKey("Cancel",
                             "Cancel",
                             "Cancel the job",
                             CArgDescriptions::eString);
    
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
void CTestMultipartCgiApplication::Init()
{
    CCgiApplication::Init();

    SetRequestFlags(CCgiRequest::fCaseInsensitiveArgs);

    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Test of multipart CGI response implementation");
        
    arg_desc->AddDefaultKey("mode", "mode", "Multipart mode",
                            CArgDescriptions::eString, "none");
    arg_desc->SetConstraint
        ("mode",
         &(*new CArgAllow_Strings, "none", "mixed", "related", "replace"));

    SetupArgDescriptions(arg_desc.release());
}