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()); }