Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Side by Side Diff: examples/indirect_service/indirect_service_demo.cc

Issue 1682113003: Mojo C++ bindings: Generate InterfaceHandle<> instead of InterfacePtr<>. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebase ontop of master, address trung's comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cstdlib> 5 #include <cstdlib>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/threading/thread.h" 9 #include "base/threading/thread.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 // show that the DemoTask threads are accessing the Integer in parallel. 90 // show that the DemoTask threads are accessing the Integer in parallel.
91 // The fact that only one digit appears in each column shows that things 91 // The fact that only one digit appears in each column shows that things
92 // are working correctly. 92 // are working correctly.
93 class IndirectServiceDemoAppDelegate : public ApplicationDelegate { 93 class IndirectServiceDemoAppDelegate : public ApplicationDelegate {
94 public: 94 public:
95 void Initialize(ApplicationImpl* app) override { 95 void Initialize(ApplicationImpl* app) override {
96 IntegerServicePtr indirect_service_delegate; 96 IntegerServicePtr indirect_service_delegate;
97 app->ConnectToService("mojo:indirect_integer_service", 97 app->ConnectToService("mojo:indirect_integer_service",
98 &indirect_integer_service_); 98 &indirect_integer_service_);
99 app->ConnectToService("mojo:integer_service", &indirect_service_delegate); 99 app->ConnectToService("mojo:integer_service", &indirect_service_delegate);
100 indirect_integer_service_->Set(indirect_service_delegate.Pass()); 100 indirect_integer_service_->Set(
101 indirect_service_delegate.PassInterfaceHandle());
101 102
102 for (unsigned i = 0; i < kTaskCount; i++) { 103 for (unsigned i = 0; i < kTaskCount; i++) {
103 IntegerServicePtr integer_service; 104 IntegerServicePtr integer_service;
104 indirect_integer_service_->Get(GetProxy(&integer_service)); 105 indirect_integer_service_->Get(GetProxy(&integer_service));
105 DemoTaskFinishedCallback finished_callback = base::Bind( 106 DemoTaskFinishedCallback finished_callback = base::Bind(
106 &IndirectServiceDemoAppDelegate::FinishDemoTask, 107 &IndirectServiceDemoAppDelegate::FinishDemoTask,
107 base::Unretained(this), 108 base::Unretained(this),
108 base::Unretained(base::MessageLoop::current())); 109 base::Unretained(base::MessageLoop::current()));
109 // We're passing the integer_service_ proxy to another thread, so 110 // We're passing the integer_service_ proxy to another thread, so
110 // use its MessagePipe. 111 // use its MessagePipe.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 149
149 150
150 } // namespace examples 151 } // namespace examples
151 } // namespace mojo 152 } // namespace mojo
152 153
153 MojoResult MojoMain(MojoHandle application_request) { 154 MojoResult MojoMain(MojoHandle application_request) {
154 mojo::ApplicationRunnerChromium runner( 155 mojo::ApplicationRunnerChromium runner(
155 new mojo::examples::IndirectServiceDemoAppDelegate); 156 new mojo::examples::IndirectServiceDemoAppDelegate);
156 return runner.Run(application_request); 157 return runner.Run(application_request);
157 } 158 }
OLDNEW
« no previous file with comments | « examples/indirect_service/indirect_integer_service.cc ('k') | examples/moterm_example_app/moterm_example_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698