examples/ubuntu: add --disable_privet flag - set dns_sd, wifi and http_server to nullptr Bug: 24408713 Change-Id: I2018043c2d575c777e2471d31abcfc4cd1c19881 Reviewed-on: https://weave-review.googlesource.com/1342 Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/examples/daemon/main.cc b/libweave/examples/daemon/main.cc index 5adff7b..cdf3b41 100644 --- a/libweave/examples/daemon/main.cc +++ b/libweave/examples/daemon/main.cc
@@ -31,7 +31,8 @@ << "\t-b,--bootstrapping Force WiFi bootstrapping\n" << "\t-d,--disable_security Disable privet security\n" << "\t--registration_ticket=TICKET Register device with the " - "given ticket\n"; + "given ticket\n" + << "\t--disable_privet Disable local privet\n"; } class CommandHandler { @@ -234,6 +235,7 @@ int main(int argc, char** argv) { bool force_bootstrapping = false; bool disable_security = false; + bool disable_privet = false; std::string registration_ticket; for (int i = 1; i < argc; ++i) { std::string arg = argv[i]; @@ -244,6 +246,8 @@ force_bootstrapping = true; } else if (arg == "-d" || arg == "--disable_security") { disable_security = true; + } else if (arg == "--disable_privet") { + disable_privet = true; } else if (arg.find("--registration_ticket") != std::string::npos) { auto pos = arg.find("="); if (pos == std::string::npos) { @@ -268,16 +272,23 @@ weave::examples::EventTaskRunner task_runner; weave::examples::CurlHttpClient http_client{&task_runner}; weave::examples::EventNetworkImpl network{&task_runner}; - weave::examples::WifiImpl wifi{&task_runner, force_bootstrapping}; - weave::examples::AvahiClient dns_sd; - weave::examples::HttpServerImpl http_server{&task_runner}; weave::examples::BluetoothImpl bluetooth; - auto device = weave::Device::Create( - &config_store, &task_runner, &http_client, &network, &dns_sd, - &http_server, - weave::examples::WifiImpl::HasWifiCapability() ? &wifi : nullptr, - &bluetooth); + std::unique_ptr<weave::Device> device; + if (disable_privet) { + device = + weave::Device::Create(&config_store, &task_runner, &http_client, + &network, nullptr, nullptr, nullptr, &bluetooth); + } else { + weave::examples::AvahiClient dns_sd; + weave::examples::HttpServerImpl http_server{&task_runner}; + weave::examples::WifiImpl wifi{&task_runner, force_bootstrapping}; + device = weave::Device::Create( + &config_store, &task_runner, &http_client, &network, &dns_sd, + &http_server, + weave::examples::WifiImpl::HasWifiCapability() ? &wifi : nullptr, + &bluetooth); + } if (!registration_ticket.empty()) { device->Register(registration_ticket,