本文整理汇总了C++中ACE_Get_Opt::opt_ind方法的典型用法代码示例。如果您正苦于以下问题:C++ ACE_Get_Opt::opt_ind方法的具体用法?C++ ACE_Get_Opt::opt_ind怎么用?C++ ACE_Get_Opt::opt_ind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACE_Get_Opt
的用法示例。
在下文中一共展示了ACE_Get_Opt::opt_ind方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getopt
int
ACE_Service_Config::parse_args_i (int argc, ACE_TCHAR *argv[])
{
ACE_TRACE ("ACE_Service_Config::parse_args_i");
// Using PERMUTE_ARGS (default) in order to have all
// unrecognized options and their value arguments moved
// to the end of the argument vector. We'll pick them up
// after processing our options and pass them on to the
// base class for further parsing.
//FUZZ: disable check_for_lack_ACE_OS
ACE_Get_Opt getopt (argc,
argv,
ACE_TEXT ("bs:p:"),
1 , // Start at argv[1].
0, // Do not report errors
ACE_Get_Opt::RETURN_IN_ORDER);
//FUZZ: enable check_for_lack_ACE_OS
// Keep a list of all unknown arguments, begin with the
// executable's name
ACE_ARGV superargv;
superargv.add (argv[0]);
//FUZZ: disable check_for_lack_ACE_OS
for (int c; (c = getopt ()) != -1; )
//FUZZ: enable check_for_lack_ACE_OS
switch (c)
{
case 'p':
ACE_Service_Config::pid_file_name_ = getopt.opt_arg ();
break;
case 'b':
ACE_Service_Config::be_a_daemon_ = 1;
break;
case 's':
{
// There's no point in dealing with this on NT since it
// doesn't really support signals very well...
#if !defined (ACE_LACKS_UNIX_SIGNALS)
ACE_Service_Config::signum_ =
ACE_OS::atoi (getopt.opt_arg ());
if (ACE_Reactor::instance ()->register_handler
(ACE_Service_Config::signum_,
ACE_Service_Config::signal_handler_) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("cannot obtain signal handler\n")),
-1);
#endif /* ACE_LACKS_UNIX_SIGNALS */
break;
}
default:
superargv.add ( argv[getopt.opt_ind () - 1],true);
}
// Collect any argumets that were left
for (int c = getopt.opt_ind (); c < argc; c++)
superargv.add (argv[c-1],true);
return ACE_Service_Gestalt::parse_args_i (superargv.argc (),
superargv.argv ());
} /* parse_args_i () */
示例2: getopt
//.........这里部分代码省略.........
ACE_CLR_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_YES);
ACE_SET_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::DEFOPT_BINDADDR);
}
else if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_NULLIFACE_ALL")) == 0)
ACE_SET_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
else if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_NULLIFACE_ONE")) == 0)
ACE_CLR_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
else if (ACE_OS::strcasecmp (c, ACE_TEXT ("DEFOPT_NULLIFACE")) == 0)
{
ACE_CLR_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
ACE_SET_BITS (this->sdm_opts_,
ACE_SOCK_Dgram_Mcast::DEFOPT_NULLIFACE);
}
else if (ACE_OS::strcasecmp (c, ACE_TEXT ("DEFOPTS")) == 0)
this->sdm_opts_ = ACE_SOCK_Dgram_Mcast::DEFOPTS;
else
{
help = 1;
retval = -1;
}
}
break;
case 't':
this->ttl_ = ACE_OS::atoi (getopt.opt_arg ());
break;
case 'w':
this->wait_ = ACE_OS::atoi (getopt.opt_arg ());
break;
case ':':
// This means an option requiring an argument didn't have one.
ACE_ERROR ((LM_ERROR,
ACE_TEXT (" Option '%c' requires an argument but ")
ACE_TEXT ("none was supplied\n"),
getopt.opt_opt ()));
help = 1;
retval = -1;
break;
case '?':
case 'h':
default:
if (ACE_OS::strcmp (argv[getopt.opt_ind () - 1], ACE_TEXT ("-?")) != 0
&& getopt.opt_opt () != 'h')
// Don't allow unknown options.
ACE_ERROR ((LM_ERROR,
ACE_TEXT (" Found an unknown option (%c) ")
ACE_TEXT ("we couldn't handle.\n"),
getopt.opt_opt ()));
// getopt.last_option ())); //readd with "%s" when
// last_option() is available.
help = 1;
retval = -1;
break;
}
}
if (retval == -1)
{
if (help)
// print usage here
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("usage: %s [options]\n")
ACE_TEXT ("Options:\n")
ACE_TEXT (" -g {STRING} --GroupStart={STRING} ")
ACE_TEXT ("starting multicast group address\n")
ACE_TEXT (" ")
ACE_TEXT ("(default=239.255.0.1:16000)\n")
ACE_TEXT (" -n {#} --Groups={#} ")
ACE_TEXT ("number of groups (default=5)\n")
ACE_TEXT (" -d --Debug ")
ACE_TEXT ("debug flag (default=off)\n")
ACE_TEXT (" -r {STRING} --Role={STRING} ")
ACE_TEXT ("role {PRODUCER|CONSUMER|BOTH}\n")
ACE_TEXT (" ")
ACE_TEXT ("(default=BOTH)\n")
ACE_TEXT (" -m {STRING} --SDM_options={STRING} ")
ACE_TEXT ("ACE_SOCK_Dgram_Mcast ctor options\n")
ACE_TEXT (" ")
ACE_TEXT ("(default=DEFOPTS)\n")
ACE_TEXT (" -i {#} --Iterations={#} ")
ACE_TEXT ("number of iterations (default=100)\n")
ACE_TEXT (" -t {#} --TTL={#} ")
ACE_TEXT ("time to live (default=1)\n")
ACE_TEXT (" -w {#} --Wait={#} ")
ACE_TEXT ("number of seconds to wait on CONSUMER\n")
ACE_TEXT (" ")
ACE_TEXT ("(default=2)\n")
ACE_TEXT (" -h/? --help ")
ACE_TEXT ("show this message\n"),
argv[0]));
return -1;
}
return 0;
}
示例3: getopt
//.........这里部分代码省略.........
{
ACE_SET_BITS (option_word_, OPTIMIZE);
break;
}
// Generated lookup function now a pointer instead of int.
case 'p':
{
ACE_SET_BITS (option_word_, POINTER);
break;
}
// Utilize randomness to initialize the associated values
// table.
case 'r':
{
ACE_SET_BITS (option_word_, RANDOM);
if (initial_asso_value_ != 0)
ACE_ERROR ((LM_ERROR,
"warning, -r option superceeds -i, disabling -i option and continuing\n"));
break;
}
// Range of associated values, determines size of final table.
case 's':
{
size_ = ACE_OS::atoi (getopt.opt_arg ());
if (abs (size_) > 50)
ACE_ERROR ((LM_ERROR,
"%d is excessive, did you really mean this?! (type %n -h for help)\n",
size_));
break;
}
// Generate switch statement output, rather than lookup table.
case 'S':
{
ACE_SET_BITS (option_word_, SWITCH);
total_switches_ = ACE_OS::atoi (getopt.opt_arg ());
if (total_switches_ <= 0)
ACE_ERROR_RETURN ((LM_ERROR,
"number of switches %s must be a positive number\n%r",
getopt.opt_arg (),
&Options::usage),
-1);
break;
}
// Enable the TYPE mode, allowing arbitrary user structures.
case 't':
{
ACE_SET_BITS (option_word_, TYPE);
break;
}
// Don't print structure definition.
case 'T':
{
ACE_SET_BITS (option_word_, NOTYPE);
break;
}
// Print out the version and quit.
case 'v':
ACE_ERROR ((LM_ERROR,
"%n: version %s\n%r\n",
version_string,
&Options::usage));
ACE_OS::exit (0);
/* NOTREACHED */
break;
// Exit with value of 0 (this is useful to check if gperf exists)
case 'V':
ACE_OS::exit (0);
/* NOTREACHED */
break;
// Set the class name.
case 'Z':
{
class_name_ = getopt.opt_arg ();
break;
}
default:
ACE_ERROR_RETURN ((LM_ERROR,
"%r",
&Options::usage),
-1);
}
}
if (argv[getopt.opt_ind ()] &&
ACE_OS::freopen (argv[getopt.opt_ind ()],
"r",
stdin) == 0)
ACE_ERROR_RETURN ((LM_ERROR,
"Cannot open keyword file %p\n%r",
argv[getopt.opt_ind ()],
&Options::usage),
-1);
if (getopt.opt_ind () + 1 < argc)
ACE_ERROR_RETURN ((LM_ERROR,
"Extra trailing arguments to %n.\n%r",
usage),
-1);
return 0;
}