本文整理汇总了C++中ACE_Get_Opt::long_option方法的典型用法代码示例。如果您正苦于以下问题:C++ ACE_Get_Opt::long_option方法的具体用法?C++ ACE_Get_Opt::long_option怎么用?C++ ACE_Get_Opt::long_option使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACE_Get_Opt
的用法示例。
在下文中一共展示了ACE_Get_Opt::long_option方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: opts
int
NDDS_Log_Backend::init (int argc, ACE_TCHAR **argv)
{
ACE_Get_Opt opts (argc, argv, ACE_TEXT ("t:d:q:n:"), 0, 0,
ACE_Get_Opt::RETURN_IN_ORDER);
opts.long_option (ACE_TEXT ("topic"), 't', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT ("domain"), 'd', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT ("qos-file"), 'q', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT ("node-name"), 'n', ACE_Get_Opt::ARG_REQUIRED);
int c = 0;
while ((c = opts ()) != -1)
{
switch (c)
{
case 't':
this->topic_name_ = opts.opt_arg ();
break;
case 'd':
this->domain_ = ACE_OS::atoi (opts.opt_arg ());
break;
case 'q':
this->qos_file_ = opts.opt_arg ();
break;
case 'n':
this->node_ = opts.opt_arg ();
break;
default:
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unknown option for NDDS_Log_Backend: %s\n"),
opts.last_option ()));
}
}
return this->open (ACE_TEXT (""));
}
示例2: getopt
int
MCT_Config::open (int argc, ACE_TCHAR *argv[])
{
int retval = 0;
int help = 0;
//FUZZ: disable check_for_lack_ACE_OS
ACE_Get_Opt getopt (argc, argv, ACE_TEXT (":?"), 1, 1);
//FUZZ: enable check_for_lack_ACE_OS
if (getopt.long_option (ACE_TEXT ("GroupStart"),
'g',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add GroupStart option.\n")),
1);
if (getopt.long_option (ACE_TEXT ("Groups"),
'n',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add Groups option.\n")), 1);
if (getopt.long_option (ACE_TEXT ("Debug"),
'd',
ACE_Get_Opt::NO_ARG) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add Debug option.\n")), 1);
if (getopt.long_option (ACE_TEXT ("Role"),
'r',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add Role option.\n")), 1);
if (getopt.long_option (ACE_TEXT ("SDM_options"),
'm',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add Multicast_Options option.\n")),
1);
if (getopt.long_option (ACE_TEXT ("Iterations"),
'i',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add iterations option.\n")),
1);
if (getopt.long_option (ACE_TEXT ("TTL"),
't',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add TTL option.\n")),
1);
if (getopt.long_option (ACE_TEXT ("Wait"),
'w',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add wait option.\n")),
1);
if (getopt.long_option (ACE_TEXT ("help"),
'h',
ACE_Get_Opt::NO_ARG) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add help option.\n")),
1);
//FUZZ: disable check_for_lack_ACE_OS
// Now, let's parse it...
int c = 0;
while ((c = getopt ()) != EOF)
{
//FUZZ: enable check_for_lack_ACE_OS
switch (c)
{
case 0:
// Long Option. This should never happen.
retval = -1;
break;
case 'g':
{
// @todo validate all these, i.e., must be within range
// 224.255.0.0 to 238.255.255.255, but we only allow the
// administrative "site local" range, 239.255.0.0 to
// 239.255.255.255.
ACE_TCHAR *group = getopt.opt_arg ();
if (this->group_start_.set (group) != 0)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Bad group address:%s\n"),
group));
}
}
break;
case 'i':
this->iterations_ = ACE_OS::atoi (getopt.opt_arg ());
break;
case 'n':
//.........这里部分代码省略.........
示例3: opts
int
TAO_MonitorManager::init (int argc, ACE_TCHAR* argv[])
{
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->task_.mutex_, -1);
this->task_.argv_.add (ACE_TEXT("fake_process_name"));
ACE_Get_Opt opts (argc,
argv,
ACE_TEXT ("o:"),
0,
0,
ACE_Get_Opt::PERMUTE_ARGS,
1);
static const ACE_TCHAR* orbarg = ACE_TEXT ("ORBArg");
static const ACE_TCHAR* nonamesvc = ACE_TEXT ("NoNameSvc");
opts.long_option (orbarg, ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (nonamesvc, ACE_Get_Opt::NO_ARG);
int c;
while ((c = opts ()) != -1)
switch (c)
{
case 'o':
this->task_.ior_output_ = opts.opt_arg ();
if (TAO_debug_level > 7)
{
ORBSVCS_DEBUG((LM_INFO,
ACE_TEXT("(%P|%t) TAO_MonitorManager: Setting IOR output file to: %s"),
this->task_.ior_output_.c_str ()));
}
break;
case 0:
if (ACE_OS::strcmp (opts.long_option (), orbarg) == 0)
{
ACE_TCHAR * orbArgs = opts.opt_arg ();
if (TAO_debug_level > 7)
{
ORBSVCS_DEBUG((LM_INFO,
ACE_TEXT("(%P|%t) TAO_MonitorManager: Setting Orb arguments to: %s"),
orbArgs));
}
this->task_.argv_.add (orbArgs);
}
else if (ACE_OS::strcmp (opts.long_option (), nonamesvc) == 0)
{
if (TAO_debug_level > 7)
{
ORBSVCS_DEBUG((LM_INFO,
ACE_TEXT("(%P|%t) TAO_MonitorManager: Not using naming service")));
}
this->task_.use_name_svc_ = false;
}
break;
case ':':
ORBSVCS_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) TAO_MonitorManager: %s requires an argument\n"),
opts.last_option ()),
-1);
}
// Force the ARGV_T to copy the elements added by the add() method
this->task_.argv_.argv ();
// Rember that Monitor has been configured
this->initialized_ = true;
return 0;
}
示例4: opts
void
LocalityManager_Task::parse_args (int argc, ACE_TCHAR **argv)
{
DANCE_TRACE ("LocalityManager_Task::parse_args");
DANCE_DEBUG (DANCE_LOG_TRACE,
(LM_TRACE, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("parsing arguments...\n")));
ACE_Get_Opt opts (argc, argv, ACE_TEXT("hu:c:p:"), 1, 0,
ACE_Get_Opt::RETURN_IN_ORDER);
opts.long_option (ACE_TEXT("uuid"), 'u', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT("callback-ior"), 'c', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT("help"), 'h');
opts.long_option (ACE_TEXT("log-level"),'l', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT("trace"),'t', ACE_Get_Opt::NO_ARG);
opts.long_option (ACE_TEXT("output-ior"),'o', ACE_Get_Opt::ARG_REQUIRED);
opts.long_option (ACE_TEXT("plugin-config"),'p', ACE_Get_Opt::ARG_REQUIRED);
int c = 0;
while ((c = opts ()) != -1)
{
DANCE_DEBUG (DANCE_LOG_DETAILED_TRACE,
(LM_TRACE, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("Found option: \"%s\" with argument \"%s\"\n"),
opts.last_option (), opts.opt_arg ()));
switch (c)
{
case 'u':
DANCE_DEBUG (DANCE_LOG_MAJOR_DEBUG_INFO,
(LM_DEBUG, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("uuid is %s\n"),
opts.opt_arg ()));
this->uuid_ = opts.opt_arg ();
break;
case 'c':
DANCE_DEBUG (DANCE_LOG_MAJOR_DEBUG_INFO,
(LM_DEBUG, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("callback ior is %s\n"),
opts.opt_arg ()));
this->callback_ior_str_ = opts.opt_arg ();
break;
case 'l':
{
continue; // no-op, already taken care of
}
case 't':
continue; // already taken care of
case 'o':
DANCE_DEBUG (DANCE_LOG_MAJOR_DEBUG_INFO,
(LM_DEBUG, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("IOR Output file: %s\n"),
opts.opt_arg ()));
this->output_file_ = opts.opt_arg ();
break;
case 'p':
DANCE_DEBUG (DANCE_LOG_MAJOR_DEBUG_INFO,
(LM_DEBUG, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("Adding <%s> to plugin config list\n"),
opts.opt_arg ()));
this->plugin_config_.push_back (ACE_TEXT_ALWAYS_CHAR (opts.opt_arg ()));
break;
case 'h':
this->usage ();
throw Error ("Command line help requested, bailing out....");
default:
DANCE_ERROR (DANCE_LOG_ERROR, (LM_ERROR, DLINFO
ACE_TEXT (" Unknown option: %s\n"),
opts.last_option ()));
this->usage ();
ACE_CString err ("Unknown option ");
err += ACE_TEXT_ALWAYS_CHAR (opts.last_option ());
throw Error (err);
}
}
// check required options.
if (this->uuid_ == ACE_TEXT (""))
throw Error ("Option required: -u|--uuid");
if (this->callback_ior_str_ == ACE_TEXT(""))
{
DANCE_ERROR (DANCE_LOG_WARNING,
(LM_WARNING, DLINFO
ACE_TEXT ("LocalityManager_Task::parse_args - ")
ACE_TEXT ("Starting ComponentServer without a callback IOR\n")));
}
//.........这里部分代码省略.........
示例5: argumentParser
//.........这里部分代码省略.........
configFile_out = configuration_path;
configFile_out += ACE_DIRECTORY_SEPARATOR_CHAR_A;
#if defined (DEBUG_DEBUGGER)
configFile_out += ACE_TEXT_ALWAYS_CHAR ("protocol");
configFile_out += ACE_DIRECTORY_SEPARATOR_CHAR_A;
#endif
configFile_out += ACE_TEXT_ALWAYS_CHAR (IRC_CLIENT_CNF_DEF_INI_FILE);
debugParser_out = false;
logToFile_out = false;
traceInformation_out = false;
printVersionAndExit_out = false;
numThreadPoolThreads_out = IRC_CLIENT_DEF_NUM_TP_THREADS;
ACE_Get_Opt argumentParser (argc_in,
argv_in,
ACE_TEXT("c:dltvx:"),
1, // skip command name
1, // report parsing errors
ACE_Get_Opt::PERMUTE_ARGS, // ordering
0); // for now, don't use long options
int option = 0;
std::stringstream converter;
while ((option = argumentParser ()) != EOF)
{
switch (option)
{
case 'c':
{
configFile_out = argumentParser.opt_arg ();
break;
}
case 'd':
{
debugParser_out = true;
break;
}
case 'l':
{
logToFile_out = true;
break;
}
case 't':
{
traceInformation_out = true;
break;
}
case 'v':
{
printVersionAndExit_out = true;
break;
}
case 'x':
{
converter.clear ();
converter.str (ACE_TEXT_ALWAYS_CHAR (""));
converter << argumentParser.opt_arg ();
converter >> numThreadPoolThreads_out;
break;
}
// error handling
case ':':
{
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("option \"%c\" requires an argument, aborting\n"),
argumentParser.opt_opt ()));
return false;
}
case '?':
{
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("unrecognized option \"%s\", aborting\n"),
argumentParser.last_option ()));
return false;
}
case 0:
{
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("found long option \"%s\", aborting\n"),
argumentParser.long_option ()));
return false;
}
default:
{
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("parse error, aborting\n")));
return false;
}
} // end SWITCH
} // end WHILE
return true;
}