本文整理汇总了C++中Configurator::load方法的典型用法代码示例。如果您正苦于以下问题:C++ Configurator::load方法的具体用法?C++ Configurator::load怎么用?C++ Configurator::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Configurator
的用法示例。
在下文中一共展示了Configurator::load方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main (int argc, char **argv)
{
Configurator conf;
conf.addOption<int>("port", 'p', "Port to listen on", 5050);
conf.addOption<string>("ip", "IP address to listen on");
local::registerOptions(&conf);
if (argc == 2 && string("--help") == argv[1]) {
usage(argv[0], conf);
exit(1);
}
Params params;
try {
params = conf.load(argc, argv, true);
} catch (ConfigurationException& e) {
cerr << "Configuration error: " << e.what() << endl;
exit(1);
}
Logging::init(argv[0], params);
if (params.contains("port"))
setenv("LIBPROCESS_PORT", params["port"].c_str(), 1);
if (params.contains("ip"))
setenv("LIBPROCESS_IP", params["ip"].c_str(), 1);
const PID &master = local::launch(params, false);
Process::wait(master);
return 0;
}
示例2: file
// Check that when we specify a conf directory on the command line,
// we load values from the config file first and then the command line
TEST_WITH_WORKDIR(ConfiguratorTest, CommandLineConfFlag)
{
if (mkdir("bin", 0755) != 0)
FAIL() << "Failed to create directory bin";
if (mkdir("conf2", 0755) != 0)
FAIL() << "Failed to create directory conf2";
ofstream file("conf2/mesos.conf");
file << "a=1\n";
file << "b=2\n";
file << "c=3";
file.close();
const int ARGC = 4;
char* argv[ARGC];
argv[0] = (char*) "bin/filename";
argv[1] = (char*) "--conf=conf2";
argv[2] = (char*) "--b=overridden";
argv[3] = (char*) "--d=fromCmdLine";
Configurator conf;
EXPECT_NO_THROW( conf.load(ARGC, argv) );
EXPECT_EQ("1", conf.getConfiguration()["a"]);
EXPECT_EQ("overridden", conf.getConfiguration()["b"]);
EXPECT_EQ("3", conf.getConfiguration()["c"]);
EXPECT_EQ("fromCmdLine", conf.getConfiguration()["d"]);
}
示例3: main
int main(int argc, char *argv[]) {
QGuiApplication* app = SailfishApp::application(argc, argv);
QQuickView* view = SailfishApp::createView();
Configurator config;
config.load();
//qmlRegisterType<Request>("Sailbook.Request", 1, 0, "Request");
qmlRegisterUncreatableType<Request>("App.Sailbook", 1, 0, "Request", QStringLiteral("Error"));
//qmlRegisterInterface<SessionManager>("SessionManager");
SessionManager session(QStringLiteral(APPID), config.getValue(QStringLiteral("token")).toString());
session.setExtendedPermission(SessionManager::ExtendedPermissions(
SessionManager::Email |
SessionManager::ManageNotifications |
SessionManager::ManagePages |
SessionManager::PublishActions |
SessionManager::ReadFriendList |
SessionManager::ReadInsights |
SessionManager::ReadMailbox |
SessionManager::ReadPageMailboxes |
SessionManager::ReadStream |
SessionManager::RsvpEvent
));
session.setUserDataPermission(SessionManager::UserDataPermissions(
SessionManager::UserAboutMe |
SessionManager::UserActionsBooks |
SessionManager::UserActionsMusic |
SessionManager::UserActionsNews |
SessionManager::UserActionsVideo |
SessionManager::UserActivities |
SessionManager::UserBirthday |
SessionManager::UserEducationHistory |
SessionManager::UserEvents |
SessionManager::UserFriends |
SessionManager::UserGamesActivity |
SessionManager::UserGroups |
SessionManager::UserHometown |
SessionManager::UserInterests |
SessionManager::UserLikes |
SessionManager::UserLocation |
SessionManager::UserPhotos |
SessionManager::UserRelationshipDetails |
SessionManager::UserRelationships |
SessionManager::UserReligionPolitics |
SessionManager::UserStatus |
SessionManager::UserTaggedPlaces |
SessionManager::UserVideos |
SessionManager::UserWebsite |
SessionManager::UserWorkHistory
));
view->rootContext()->setContextProperty("SessionManager", &session);
view->rootContext()->setContextProperty("Configurator", &config);
view->setSource(SailfishApp::pathTo("qml/sailbook.qml"));
view->show();
return app->exec();
}
示例4: setenv
TEST(ConfiguratorTest, Environment)
{
setenv("MESOS_TEST", "working", true);
Configurator conf;
conf.load();
unsetenv("MESOS_TEST");
EXPECT_EQ("working", conf.getConfiguration()["test"]);
}
示例5: l
TvnServer::TvnServer(bool runsInServiceContext, StringStorage vncIniDirPath /*""*/, bool runAsPortable /*=false*/ )
: Singleton<TvnServer>(),
ListenerContainer<TvnServerListener *>(),
m_runAsService(runsInServiceContext),
m_runPortable(runAsPortable),
m_rfbClientManager(0),
m_httpServer(0), m_controlServer(0), m_rfbServer(0)
{
Configurator *configurator = Configurator::getInstance();
configurator->setServiceFlag(m_runAsService);
configurator->setPortableRunFlag(m_runPortable);
configurator->setVncIniDirectoryPath ( vncIniDirPath.getString() );
configurator->load();
m_config = Configurator::getInstance()->getServerConfig();
resetLogFilePath();
m_log.changeLevel(m_config->getLogLevel());
Log::message(_T("TightVNC Server Build on %s"), BuildTime::DATE);
Log::info(_T("Initialize WinSock"));
try {
WindowsSocket::startup(2, 1);
} catch (Exception &ex) {
Log::interror(_T("%s"), ex.getMessage());
}
ZombieKiller *zombieKiller = new ZombieKiller();
m_rfbClientManager = new RfbClientManager(NULL);
m_rfbClientManager->addListener(this);
Configurator::getInstance()->addListener(this);
{
AutoLock l(&m_mutex);
restartMainRfbServer();
(void)m_extraRfbServers.reload(m_runAsService, m_rfbClientManager);
restartHttpServer();
restartControlServer();
}
}
示例6: runConfigurator
int ControlApplication::runConfigurator(bool configService, bool isRunAsRequested)
{
// If not enough rights to configurate service, then restart application requesting
// admin access rights.
if (configService && (IsUserAnAdmin() == FALSE)) {
// If admin rights already requested and application still don't have them,
// then show error message and exit.
if (isRunAsRequested) {
MessageBox(0,
StringTable::getString(IDS_ADMIN_RIGHTS_NEEDED),
StringTable::getString(IDS_MBC_TVNCONTROL),
MB_OK | MB_ICONERROR);
return 0;
}
// Path to tvnserver binary.
StringStorage pathToBinary;
// Command line for child process.
StringStorage childCommandLine;
// Get path to tvnserver binary.
Environment::getCurrentModulePath(&pathToBinary);
// Set -dontelevate flag to tvncontrol know that admin rights already requested.
childCommandLine.format(_T("%s -dontelevate"), m_commandLine.getString());
// Start child.
try {
Shell::runAsAdmin(pathToBinary.getString(), childCommandLine.getString());
} catch (SystemException &sysEx) {
if (sysEx.getErrorCode() != ERROR_CANCELLED) {
MessageBox(0,
sysEx.getMessage(),
StringTable::getString(IDS_MBC_TVNCONTROL),
MB_OK | MB_ICONERROR);
}
return 1;
} // try / catch.
return 0;
}
Configurator *configurator = Configurator::getInstance();
configurator->setServiceFlag(configService);
configurator->load();
ConfigDialog confDialog(configService, 0);
return confDialog.showModal();
}
示例7: main
int main(int argc, char **argv)
{
GOOGLE_PROTOBUF_VERIFY_VERSION;
Configurator configurator;
logging::registerOptions(&configurator);
local::registerOptions(&configurator);
configurator.addOption<int>("port", 'p', "Port to listen on", 5050);
configurator.addOption<string>("ip", "IP address to listen on");
if (argc == 2 && string("--help") == argv[1]) {
usage(argv[0], configurator);
exit(1);
}
Configuration conf;
try {
conf = configurator.load(argc, argv);
} catch (ConfigurationException& e) {
cerr << "Configuration error: " << e.what() << endl;
exit(1);
}
if (conf.contains("port")) {
utils::os::setenv("LIBPROCESS_PORT", conf["port"]);
}
if (conf.contains("ip")) {
utils::os::setenv("LIBPROCESS_IP", conf["ip"]);
}
// Initialize libprocess.
process::initialize("master");
logging::initialize(argv[0], conf);
process::wait(local::launch(conf, false));
return 0;
}
示例8:
TEST(ConfiguratorTest, DefaultOptions)
{
const int ARGC = 5;
char* argv[ARGC];
argv[0] = (char*) "bin/filename";
argv[1] = (char*) "--test1=501";
argv[2] = (char*) "--test2";
argv[3] = (char*) "--excp=txt";
argv[4] = (char*) "--test8=foo";
Configurator conf;
EXPECT_NO_THROW(conf.addOption<int>("test1", "Testing option", 500));
EXPECT_NO_THROW(conf.addOption<bool>("test2", "Another tester", 0));
EXPECT_NO_THROW(conf.addOption<long>("test3", "Tests the default", 2010));
EXPECT_NO_THROW(conf.addOption<string>("test4", "Option without default"));
EXPECT_NO_THROW(conf.addOption<string>("test5", "Option with a default",
"default"));
EXPECT_NO_THROW(conf.addOption<bool>("test6", "Toggler...", false));
EXPECT_NO_THROW(conf.addOption<bool>("test7", "Toggler...", true));
EXPECT_NO_THROW(conf.addOption<string>("test8", "Overridden default",
"default"));
EXPECT_NO_THROW(conf.load(ARGC, argv));
EXPECT_NO_THROW(conf.addOption<int>("excp", "Exception tester.", 50));
EXPECT_THROW(conf.validate(), ConfigurationException);
conf.getConfiguration()["excp"] = "27";
EXPECT_NO_THROW(conf.validate());
EXPECT_EQ("501", conf.getConfiguration()["test1"]);
EXPECT_EQ("1", conf.getConfiguration()["test2"]);
EXPECT_EQ("2010", conf.getConfiguration()["test3"]);
EXPECT_EQ("", conf.getConfiguration()["test4"]);
EXPECT_EQ("default", conf.getConfiguration()["test5"]);
EXPECT_EQ("27", conf.getConfiguration()["excp"]);
EXPECT_EQ("0", conf.getConfiguration()["test6"]);
EXPECT_EQ("1", conf.getConfiguration()["test7"]);
EXPECT_EQ("foo", conf.getConfiguration()["test8"]);
}
示例9: main
int main(int argc, char **argv)
{
Configurator configurator;
local::registerOptions(&configurator);
configurator.addOption<int>("port", 'p', "Port to listen on", 5050);
configurator.addOption<string>("ip", "IP address to listen on");
if (argc == 2 && string("--help") == argv[1]) {
usage(argv[0], configurator);
exit(1);
}
Configuration conf;
try {
conf = configurator.load(argc, argv, true);
} catch (ConfigurationException& e) {
cerr << "Configuration error: " << e.what() << endl;
exit(1);
}
Logging::init(argv[0], conf);
if (conf.contains("port")) {
setenv("LIBPROCESS_PORT", conf["port"].c_str(), 1);
}
if (conf.contains("ip")) {
setenv("LIBPROCESS_IP", conf["ip"].c_str(), 1);
}
// Initialize libprocess library (but not glog, done above).
process::initialize(false);
process::wait(local::launch(conf, false));
return 0;
}
示例10: main
int main(int argc, char **argv)
{
Configurator configurator;
Logging::registerOptions(&configurator);
Master::registerOptions(&configurator);
configurator.addOption<int>("port", 'p', "Port to listen on", 5050);
configurator.addOption<string>("ip", "IP address to listen on");
configurator.addOption<string>("url", 'u', "URL used for leader election");
#ifdef MESOS_WEBUI
configurator.addOption<int>("webui_port", 'w', "Web UI port", 8080);
#endif
if (argc == 2 && string("--help") == argv[1]) {
usage(argv[0], configurator);
exit(1);
}
Configuration conf;
try {
conf = configurator.load(argc, argv, true);
} catch (ConfigurationException& e) {
cerr << "Configuration error: " << e.what() << endl;
exit(1);
}
Logging::init(argv[0], conf);
if (conf.contains("port")) {
setenv("LIBPROCESS_PORT", conf["port"].c_str(), 1);
}
if (conf.contains("ip")) {
setenv("LIBPROCESS_IP", conf["ip"].c_str(), 1);
}
// Initialize libprocess library (but not glog, done above).
process::initialize(false);
string url = conf.get("url", "");
LOG(INFO) << "Build: " << build::DATE << " by " << build::USER;
LOG(INFO) << "Starting Mesos master";
if (chdir(dirname(argv[0])) != 0) {
fatalerror("Could not chdir into %s", dirname(argv[0]));
}
Master* master = new Master(conf);
process::spawn(master);
MasterDetector* detector =
MasterDetector::create(url, master->self(), true, Logging::isQuiet(conf));
#ifdef MESOS_WEBUI
webui::start(master->self(), conf);
#endif
process::wait(master->self());
delete master;
MasterDetector::destroy(detector);
return 0;
}
示例11: main
int main(int argc, char** argv)
{
GOOGLE_PROTOBUF_VERIFY_VERSION;
Configurator configurator;
Logging::registerOptions(&configurator);
Slave::registerOptions(&configurator);
// The following options are executable specific (e.g., since we
// only have one instance of libprocess per execution, we only want
// to advertise the port and ip option once, here).
configurator.addOption<int>("port", 'p', "Port to listen on", 0);
configurator.addOption<string>("ip", "IP address to listen on");
configurator.addOption<string>("isolation", "Isolation module", "process");
#ifdef MESOS_WEBUI
configurator.addOption<int>("webui_port", "Web UI port", 8081);
#endif
configurator.addOption<string>(
"master",
'm',
"May be one of:\n"
" host:port\n"
" zk://host1:port1,host2:port2,.../path\n"
" zk://username:[email protected]:port1,host2:port2,.../path\n"
" file://path/to/file (where file contains one of the above)");
if (argc == 2 && string("--help") == argv[1]) {
usage(argv[0], configurator);
exit(1);
}
Configuration conf;
try {
conf = configurator.load(argc, argv);
} catch (ConfigurationException& e) {
cerr << "Configuration error: " << e.what() << endl;
exit(1);
}
Logging::init(argv[0], conf);
if (conf.contains("port")) {
setenv("LIBPROCESS_PORT", conf["port"].c_str(), 1);
}
if (conf.contains("ip")) {
setenv("LIBPROCESS_IP", conf["ip"].c_str(), 1);
}
// Initialize libprocess library (but not glog, done above).
process::initialize(false);
if (!conf.contains("master")) {
cerr << "Missing required option --master (-m)" << endl;
exit(1);
}
string master = conf["master"];
string isolation = conf["isolation"];
LOG(INFO) << "Creating \"" << isolation << "\" isolation module";
IsolationModule* isolationModule = IsolationModule::create(isolation);
if (isolationModule == NULL) {
cerr << "Unrecognized isolation type: " << isolation << endl;
exit(1);
}
LOG(INFO) << "Build: " << build::DATE << " by " << build::USER;
LOG(INFO) << "Starting Mesos slave";
if (chdir(dirname(argv[0])) != 0) {
fatalerror("Could not chdir into %s", dirname(argv[0]));
}
Slave* slave = new Slave(conf, false, isolationModule);
process::spawn(slave);
Try<MasterDetector*> detector =
MasterDetector::create(master, slave->self(), false, Logging::isQuiet(conf));
CHECK(detector.isSome())
<< "Failed to create a master detector: " << detector.error();
#ifdef MESOS_WEBUI
webui::start(slave->self(), conf);
#endif
process::wait(slave->self());
delete slave;
MasterDetector::destroy(detector.get());
IsolationModule::destroy(isolationModule);
return 0;
}