OLD | NEW |
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 29 matching lines...) Expand all Loading... |
40 options.message_loop_type = base::MessageLoop::TYPE_CUSTOM; | 40 options.message_loop_type = base::MessageLoop::TYPE_CUSTOM; |
41 options.message_pump_factory = base::Bind(&common::MessagePumpMojo::Create); | 41 options.message_pump_factory = base::Bind(&common::MessagePumpMojo::Create); |
42 CHECK(thread_.StartWithOptions(options)); | 42 CHECK(thread_.StartWithOptions(options)); |
43 | 43 |
44 thread_.message_loop()->PostTask( | 44 thread_.message_loop()->PostTask( |
45 FROM_HERE, base::Bind(&DemoTask::Run, base::Unretained(this))); | 45 FROM_HERE, base::Bind(&DemoTask::Run, base::Unretained(this))); |
46 } | 46 } |
47 | 47 |
48 void Run() { | 48 void Run() { |
49 integer_service_.Bind( | 49 integer_service_.Bind( |
50 InterfacePtrInfo<IntegerService>(proxy_handle_.Pass(), 0u)); | 50 InterfaceHandle<IntegerService>(proxy_handle_.Pass(), 0u)); |
51 base::Callback<void(int32_t)> callback = | 51 base::Callback<void(int32_t)> callback = |
52 base::Bind(&DemoTask::SaveResultAndFinish, base::Unretained(this)); | 52 base::Bind(&DemoTask::SaveResultAndFinish, base::Unretained(this)); |
53 for(int unsigned i = 0; i < iteration_count_; i++) { | 53 for(int unsigned i = 0; i < iteration_count_; i++) { |
54 integer_service_->Increment(callback); | 54 integer_service_->Increment(callback); |
55 // To ensure that the DemoTask threads' execution overlaps, sleep. | 55 // To ensure that the DemoTask threads' execution overlaps, sleep. |
56 if (i < iteration_count_ - 1) | 56 if (i < iteration_count_ - 1) |
57 base::PlatformThread::Sleep( | 57 base::PlatformThread::Sleep( |
58 base::TimeDelta::FromMilliseconds(rand() % 10)); | 58 base::TimeDelta::FromMilliseconds(rand() % 10)); |
59 } | 59 } |
60 } | 60 } |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 148 |
149 | 149 |
150 } // namespace examples | 150 } // namespace examples |
151 } // namespace mojo | 151 } // namespace mojo |
152 | 152 |
153 MojoResult MojoMain(MojoHandle application_request) { | 153 MojoResult MojoMain(MojoHandle application_request) { |
154 mojo::ApplicationRunnerChromium runner( | 154 mojo::ApplicationRunnerChromium runner( |
155 new mojo::examples::IndirectServiceDemoAppDelegate); | 155 new mojo::examples::IndirectServiceDemoAppDelegate); |
156 return runner.Run(application_request); | 156 return runner.Run(application_request); |
157 } | 157 } |
OLD | NEW |