| 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 |