Index: examples/indirect_service/indirect_service_demo.cc |
diff --git a/examples/indirect_service/indirect_service_demo.cc b/examples/indirect_service/indirect_service_demo.cc |
index d592bfbd60977a4923234936ba3ee2480cdaedc4..313b5c400775c359c8bdb03de1f27695100c42fb 100644 |
--- a/examples/indirect_service/indirect_service_demo.cc |
+++ b/examples/indirect_service/indirect_service_demo.cc |
@@ -9,12 +9,11 @@ |
#include "base/threading/thread.h" |
#include "base/time/time.h" |
#include "examples/indirect_service/indirect_service_demo.mojom.h" |
-#include "mojo/application/application_runner_chromium.h" |
#include "mojo/message_pump/message_pump_mojo.h" |
#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_impl_base.h" |
#include "mojo/public/cpp/application/connect.h" |
+#include "mojo/public/cpp/application/run_application.h" |
namespace mojo { |
namespace examples { |
@@ -91,13 +90,13 @@ class DemoTask { |
// show that the DemoTask threads are accessing the Integer in parallel. |
// The fact that only one digit appears in each column shows that things |
// are working correctly. |
-class IndirectServiceDemoAppDelegate : public ApplicationDelegate { |
+class IndirectServiceDemoApp : public ApplicationImplBase { |
public: |
- void Initialize(ApplicationImpl* app) override { |
+ void OnInitialize() override { |
IntegerServicePtr indirect_service_delegate; |
- ConnectToService(app->shell(), "mojo:indirect_integer_service", |
+ ConnectToService(shell(), "mojo:indirect_integer_service", |
GetProxy(&indirect_integer_service_)); |
- ConnectToService(app->shell(), "mojo:integer_service", |
+ ConnectToService(shell(), "mojo:integer_service", |
GetProxy(&indirect_service_delegate)); |
indirect_integer_service_->Set( |
indirect_service_delegate.PassInterfaceHandle()); |
@@ -106,8 +105,7 @@ class IndirectServiceDemoAppDelegate : public ApplicationDelegate { |
IntegerServicePtr integer_service; |
indirect_integer_service_->Get(GetProxy(&integer_service)); |
DemoTaskFinishedCallback finished_callback = base::Bind( |
- &IndirectServiceDemoAppDelegate::FinishDemoTask, |
- base::Unretained(this), |
+ &IndirectServiceDemoApp::FinishDemoTask, base::Unretained(this), |
base::Unretained(base::MessageLoop::current())); |
// We're passing the integer_service_ proxy to another thread, so |
// use its MessagePipe. |
@@ -127,11 +125,10 @@ class IndirectServiceDemoAppDelegate : public ApplicationDelegate { |
void FinishDemoTask(base::MessageLoop *run_loop, |
DemoTask* task, |
const std::vector<int32_t>& results) { |
- run_loop->PostTask(FROM_HERE, base::Bind( |
- &IndirectServiceDemoAppDelegate::DoFinishDemoTask, |
- base::Unretained(this), |
- base::Unretained(task), |
- results)); |
+ run_loop->PostTask( |
+ FROM_HERE, |
+ base::Bind(&IndirectServiceDemoApp::DoFinishDemoTask, |
+ base::Unretained(this), base::Unretained(task), results)); |
} |
void DoFinishDemoTask(DemoTask* task, const std::vector<int32_t>& results) { |
@@ -142,19 +139,18 @@ class IndirectServiceDemoAppDelegate : public ApplicationDelegate { |
tasks_.erase(std::remove(tasks_.begin(), tasks_.end(), task), tasks_.end()); |
delete task; // Stop the DemoTask's thread etc. |
if (tasks_.empty()) |
- ApplicationImpl::Terminate(); |
+ TerminateMainApplication(MOJO_RESULT_OK); |
} |
IndirectIntegerServicePtr indirect_integer_service_; |
std::vector<DemoTask*> tasks_; |
}; |
- |
} // namespace examples |
} // namespace mojo |
MojoResult MojoMain(MojoHandle application_request) { |
- mojo::ApplicationRunnerChromium runner( |
- new mojo::examples::IndirectServiceDemoAppDelegate); |
- return runner.Run(application_request); |
+ mojo::examples::IndirectServiceDemoApp indirect_service_demo_app; |
+ return mojo::RunMainApplication(application_request, |
+ &indirect_service_demo_app); |
} |