160 os <<
"Here is the list of queues: ..." << endl;
181 os <<
"Creating queue '" << args[
"queue"].AsString() <<
"'." << endl;
195 arg_desc.
AddOptionalKey(
"imp",
"Importance",
"The message importance",
205 os <<
"Sending message '" << args[
"message"].AsString()
206 <<
"' to queue '" << args[
"queue"].AsString() <<
"'";
208 os <<
" with importance '" << args[
"imp"].AsString() <<
"'." << endl;
210 os <<
" with default importance." << endl;
229 os <<
"Messages for queue '" << args[
"queue"].AsString() <<
"': ..."
232 os <<
"Messages for all queues: ..." << endl;
244 arg_desc.
AddFlag(
"v",
"Verbose");
245 arg_desc.
AddPositional(
"script_file",
"A file containing commands",
252 os <<
"Executing script file '" << args[
"script_file"].AsString() <<
"'." << endl;
253 if ( args[
"v"].AsBoolean() ) {
254 os <<
" Blah, blah, blah..." << endl;
302 virtual void Init(
void);
303 virtual int Run(
void);
316 unique_ptr<CCommandArgDescriptions> cmd_desc(
321 cmd_desc->SetUsageContext(
GetArguments().GetProgramBasename(),
322 "Demo program for command-based command-line "
323 "argument processing.",
false);
329 for (
size_t idx = 0; idx <
s_NumCmds; ++idx) {
337 arg_desc->SetUsageContext(
"",
s_Cmds[idx].m_Desc);
356 cmd_desc->AddCommand(
s_Cmds[idx].m_Name, arg_desc.release(),
382 for (
size_t idx = 0; idx <
s_NumCmds; ++idx) {
CCommandArgDescriptions –.
virtual int Run(void)
Run the application.
virtual void Init(void)
Initialize the application.
virtual const CArgs & GetArgs(void) const
Get parsed command line arguments.
int AppMain(int argc, const char *const *argv, const char *const *envp=0, EAppDiagStream diag=eDS_Default, const char *conf=NcbiEmptyCStr, const string &name=NcbiEmptyString)
Main function (entry point) for the NCBI application.
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
const CNcbiArguments & GetArguments(void) const
Get the application's cached unprocessed command-line arguments.
void AddFlag(const string &name, const string &comment, CBoolEnum< EFlagValue > set_value=eFlagHasValueIfSet, TFlags flags=0)
Add description for flag argument.
void AddPositional(const string &name, const string &comment, EType type, TFlags flags=0)
Add description for mandatory positional argument.
void AddOptionalKey(const string &name, const string &synopsis, const string &comment, EType type, TFlags flags=0)
Add description for optional key without default value.
void AddOptionalPositional(const string &name, const string &comment, EType type, TFlags flags=0)
Add description for optional positional argument without default value.
void AddOpening(const string &name, const string &comment, EType type, TFlags flags=0)
Add description of mandatory opening positional argument.
@ eCommandOptional
Command is not necessary.
@ eString
An arbitrary string.
unsigned int
A callback function used to compare two keys in a database.
int(* FRun)(const CArgs &args, ostream &os)
static void s_CommandlessInit(CArgDescriptions &arg_desc)
static int s_RunQuery(const CArgs &args, ostream &os)
int NcbiSys_main(int argc, ncbi::TXChar *argv[])
static void s_InitQuery(CArgDescriptions &arg_desc)
static void s_InitCreate(CArgDescriptions &arg_desc)
static int s_RunPost(const CArgs &args, ostream &os)
void(* FInit)(CArgDescriptions &arg_desc)
static int s_RunCreate(const CArgs &args, ostream &os)
static void s_InitPost(CArgDescriptions &arg_desc)
static int s_CommandlessRun(const CArgs &args, ostream &os)
static int s_RunList(const CArgs &args, ostream &os)
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Defines command line argument related classes.