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);
}