Yet more ApplicationDelegate/ApplicationRunner conversion. R=vardhan@google.com Review URL: https://codereview.chromium.org/2019743002 .
diff --git a/examples/content_handler_demo/content_handler_demo.cc b/examples/content_handler_demo/content_handler_demo.cc index fc12891..fb322eb 100644 --- a/examples/content_handler_demo/content_handler_demo.cc +++ b/examples/content_handler_demo/content_handler_demo.cc
@@ -4,13 +4,12 @@ #include <stdio.h> -#include <memory> #include <utility> #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_impl.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" +#include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/system/wait.h" #include "mojo/services/content_handler/interfaces/content_handler.mojom.h" @@ -92,15 +91,12 @@ MOJO_DISALLOW_COPY_AND_ASSIGN(ContentHandlerImpl); }; -class ContentHandlerApp : public ApplicationDelegate { +class ContentHandlerApp : public ApplicationImplBase { public: ContentHandlerApp() {} ~ContentHandlerApp() override {} - void Initialize(ApplicationImpl* app) override {} - - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<ContentHandler>( [](const ConnectionContext& connection_context, InterfaceRequest<ContentHandler> content_handler_request) { @@ -117,8 +113,6 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner( - std::unique_ptr<mojo::examples::ContentHandlerApp>( - new mojo::examples::ContentHandlerApp())); - return runner.Run(application_request); + mojo::examples::ContentHandlerApp content_handler_app; + return mojo::RunMainApplication(application_request, &content_handler_app); }
diff --git a/examples/echo/echo_server.cc b/examples/echo/echo_server.cc index a920bdb..093705c 100644 --- a/examples/echo/echo_server.cc +++ b/examples/echo/echo_server.cc
@@ -7,8 +7,8 @@ #include "examples/echo/echo.mojom.h" #include "mojo/common/binding_set.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" @@ -50,13 +50,12 @@ }; // MultiServer creates a new object to handle each message pipe. -class MultiServer : public mojo::ApplicationDelegate { +class MultiServer : public mojo::ApplicationImplBase { public: MultiServer() {} - // From ApplicationDelegate - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // From ApplicationImplBase + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<Echo>( [](const mojo::ConnectionContext& connection_context, mojo::InterfaceRequest<Echo> echo_request) { @@ -70,13 +69,12 @@ // SingletonServer uses the same object to handle all message pipes. Useful // for stateless operation. -class SingletonServer : public mojo::ApplicationDelegate { +class SingletonServer : public mojo::ApplicationImplBase { public: SingletonServer() {} - // From ApplicationDelegate - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // From ApplicationImplBase + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<Echo>( [this](const mojo::ConnectionContext& connection_context, mojo::InterfaceRequest<Echo> echo_request) { @@ -99,13 +97,12 @@ // not reliable. There's a race condition because a second client could bind // to the server before the first client called EchoString(). Therefore, this // is an example of how not to write your code. -class OneAtATimeServer : public mojo::ApplicationDelegate { +class OneAtATimeServer : public mojo::ApplicationImplBase { public: OneAtATimeServer() : binding_(&echo_impl_) {} - // From ApplicationDelegate - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // From ApplicationImplBase + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<Echo>( [this](const mojo::ConnectionContext& connection_context, mojo::InterfaceRequest<Echo> echo_request) { @@ -125,10 +122,8 @@ MojoResult MojoMain(MojoHandle application_request) { // Uncomment one of the three servers at a time to see it work: - mojo::ApplicationRunner runner(std::unique_ptr<mojo::examples::MultiServer>( - new mojo::examples::MultiServer())); - // mojo::ApplicationRunner runner(new mojo::examples::SingletonServer()); - // mojo::ApplicationRunner runner(new mojo::examples::OneAtATimeServer()); - - return runner.Run(application_request); + mojo::examples::MultiServer server_app; + // mojo::examples::SingletonServer server_app; + // mojo::examples::OneAtATimeServer server_app; + return mojo::RunMainApplication(application_request, &server_app); }
diff --git a/examples/indirect_service/indirect_integer_service.cc b/examples/indirect_service/indirect_integer_service.cc index 6d9425c..f8dc3c9 100644 --- a/examples/indirect_service/indirect_integer_service.cc +++ b/examples/indirect_service/indirect_integer_service.cc
@@ -2,12 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <memory> - #include "examples/indirect_service/indirect_service_demo.mojom.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/strong_binding.h" @@ -49,10 +47,9 @@ StrongBinding<IndirectIntegerService> binding_; }; -class IndirectIntegerServiceAppDelegate : public ApplicationDelegate { +class IndirectIntegerServiceApp : public ApplicationImplBase { public: - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<IndirectIntegerService>( [](const ConnectionContext& connection_context, InterfaceRequest<IndirectIntegerService> request) { @@ -66,8 +63,7 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner( - std::unique_ptr<mojo::examples::IndirectIntegerServiceAppDelegate>( - new mojo::examples::IndirectIntegerServiceAppDelegate())); - return runner.Run(application_request); + mojo::examples::IndirectIntegerServiceApp indirect_integer_service_app; + return mojo::RunMainApplication(application_request, + &indirect_integer_service_app); }
diff --git a/examples/indirect_service/integer_service.cc b/examples/indirect_service/integer_service.cc index dac2703..0db7eaf 100644 --- a/examples/indirect_service/integer_service.cc +++ b/examples/indirect_service/integer_service.cc
@@ -2,12 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <memory> - #include "examples/indirect_service/indirect_service_demo.mojom.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" @@ -29,10 +27,9 @@ StrongBinding<IntegerService> binding_; }; -class IntegerServiceAppDelegate : public ApplicationDelegate { +class IntegerServiceApp : public ApplicationImplBase { public: - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<IntegerService>( [](const ConnectionContext& connection_context, InterfaceRequest<IntegerService> request) { @@ -46,9 +43,7 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner( - std::unique_ptr<mojo::examples::IntegerServiceAppDelegate>( - new mojo::examples::IntegerServiceAppDelegate)); - return runner.Run(application_request); + mojo::examples::IntegerServiceApp integer_service_app; + return mojo::RunMainApplication(application_request, &integer_service_app); }
diff --git a/services/device_info/device_info.cc b/services/device_info/device_info.cc index 749f909..76d4def 100644 --- a/services/device_info/device_info.cc +++ b/services/device_info/device_info.cc
@@ -2,13 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <cstdlib> -#include <memory> +#include <stdlib.h> #include "mojo/common/binding_set.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/services/device_info/interfaces/device_info.mojom.h" @@ -18,7 +17,7 @@ // This is a native Mojo application which implements |DeviceInfo| interface for // Linux. -class DeviceInfo : public ApplicationDelegate, public mojo::DeviceInfo { +class DeviceInfoApp : public ApplicationImplBase, public mojo::DeviceInfo { public: // We look for the 'DISPLAY' environment variable. If present, then we assume // it to be a desktop, else we assume it to be a commandline @@ -27,9 +26,8 @@ : DeviceInfo::DeviceType::HEADLESS); } - // |ApplicationDelegate| override. - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // |ApplicationImplBase| override. + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<mojo::DeviceInfo>( [this](const ConnectionContext& connection_context, InterfaceRequest<mojo::DeviceInfo> device_info_request) { @@ -47,8 +45,6 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner( - std::unique_ptr<mojo::services::device_info::DeviceInfo>( - new mojo::services::device_info::DeviceInfo())); - return runner.Run(application_request); + mojo::services::device_info::DeviceInfoApp device_info_app; + return mojo::RunMainApplication(application_request, &device_info_app); }
diff --git a/services/nacl/nonsfi/pnacl_compile.cc b/services/nacl/nonsfi/pnacl_compile.cc index ab80697..d8bcf75 100644 --- a/services/nacl/nonsfi/pnacl_compile.cc +++ b/services/nacl/nonsfi/pnacl_compile.cc
@@ -2,14 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <memory> - #include "base/logging.h" #include "mojo/nacl/nonsfi/file_util.h" #include "mojo/nacl/nonsfi/nexe_launcher_nonsfi.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" #include "services/nacl/nonsfi/kPnaclTranslatorCompile.h" @@ -41,13 +39,12 @@ StrongBinding<PexeCompilerInit> strong_binding_; }; -class MultiPexeCompiler : public ApplicationDelegate { +class MultiPexeCompiler : public ApplicationImplBase { public: MultiPexeCompiler() {} - // From ApplicationDelegate - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // From ApplicationImplBase + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<PexeCompilerInit>( [](const ConnectionContext& connection_context, InterfaceRequest<PexeCompilerInit> request) { @@ -61,7 +58,6 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner(std::unique_ptr<mojo::nacl::MultiPexeCompiler>( - new mojo::nacl::MultiPexeCompiler())); - return runner.Run(application_request); + mojo::nacl::MultiPexeCompiler multi_pexe_compiler; + return mojo::RunMainApplication(application_request, &multi_pexe_compiler); }
diff --git a/services/nacl/nonsfi/pnacl_link.cc b/services/nacl/nonsfi/pnacl_link.cc index e4c741e..9a2ef24 100644 --- a/services/nacl/nonsfi/pnacl_link.cc +++ b/services/nacl/nonsfi/pnacl_link.cc
@@ -2,14 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <memory> - #include "base/logging.h" #include "mojo/nacl/nonsfi/file_util.h" #include "mojo/nacl/nonsfi/nexe_launcher_nonsfi.h" #include "mojo/public/c/system/main.h" -#include "mojo/public/cpp/application/application_delegate.h" -#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/public/cpp/application/application_impl_base.h" +#include "mojo/public/cpp/application/run_application.h" #include "mojo/public/cpp/application/service_provider_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" #include "services/nacl/nonsfi/kLdNexe.h" @@ -38,13 +36,12 @@ StrongBinding<PexeLinkerInit> strong_binding_; }; -class MultiPexeLinker : public ApplicationDelegate { +class MultiPexeLinker : public ApplicationImplBase { public: MultiPexeLinker() {} - // From ApplicationDelegate - bool ConfigureIncomingConnection( - ServiceProviderImpl* service_provider_impl) override { + // From ApplicationImplBase + bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override { service_provider_impl->AddService<PexeLinkerInit>( [](const ConnectionContext& connection_context, InterfaceRequest<PexeLinkerInit> request) { @@ -58,7 +55,6 @@ } // namespace mojo MojoResult MojoMain(MojoHandle application_request) { - mojo::ApplicationRunner runner(std::unique_ptr<mojo::nacl::MultiPexeLinker>( - new mojo::nacl::MultiPexeLinker())); - return runner.Run(application_request); + mojo::nacl::MultiPexeLinker multi_pexe_linker; + return mojo::RunMainApplication(application_request, &multi_pexe_linker); }