int main(int argc, char **argv) { Aria::init(); ArGlobalFunctor gotConfigCB(&gotConfig); std::string hostname; client = new ArClientBase; configHandler = new ArClientHandlerConfig(client); configHandler->addGotConfigCB(&gotConfigCB); ArArgumentParser parser(&argc, argv); ArClientSimpleConnector clientConnector(&parser); parser.loadDefaultArguments(); /* Check for -help, and unhandled arguments: */ if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed()) { Aria::logOptions(); exit(0); } /* Connect our client object to the remote server: */ if (!clientConnector.connectClient(client)) { exit(1); } client->setRobotName(client->getHost()); // include server hostname in log messages configHandler->requestConfigFromServer(); client->runAsync(); while (!done) ArUtil::sleep(100); if (configHandler->canRequestDefaults()) { configHandler->requestDefaultConfigFromServer(); while (!configHandler->haveGottenDefaults()) ArUtil::sleep(100); printf("%d\n", configHandler->haveGottenDefaults()); configHandler->getDefaultConfig()->writeFile("configClientDefaults.txt"); printf("wrote defaults\n"); } Aria::exit(0); }
int main(int argc, char **argv) { Aria::init(); //ArLog::init(ArLog::StdOut, ArLog::Verbose); ArGlobalFunctor gotConfigCB(&gotConfig); ArGlobalFunctor saveConfigSucceededCB(&saveConfigSucceeded); ArGlobalFunctor1<const char *> saveConfigFailedCB(&saveConfigFailed); std::string hostname; client = new ArClientBase; configHandler = new ArClientHandlerConfig(client, true); configHandler->addGotConfigCB(&gotConfigCB); configHandler->addSaveConfigSucceededCB(&saveConfigSucceededCB); configHandler->addSaveConfigFailedCB(&saveConfigFailedCB); if (argc == 1) { printf("Usage: %s <file> <host>\n", argv[0]); exit(1); } file = argv[1]; if (argc == 2) hostname = "localhost"; else hostname = argv[2]; if (!client->blockingConnect(hostname.c_str(), 7272)) { printf("Could not connect to server, exiting\n"); exit(1); } //client->requestOnce("setConfig"); configHandler->requestConfigFromServer(); //client->requestOnce("setConfig"); client->run(); return 0; }