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

Side by Side Diff: device/serial/serial_connection_factory.cc

Issue 1107013002: [device] Replace MessageLoopProxy usage with ThreadTaskRunnerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Review Comments : Removal of message_loop_proxy header file Created 5 years, 7 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
« no previous file with comments | « device/serial/serial_connection_factory.h ('k') | device/serial/serial_connection_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "device/serial/serial_connection_factory.h" 5 #include "device/serial/serial_connection_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "device/serial/serial_connection.h" 9 #include "device/serial/serial_connection.h"
10 #include "device/serial/serial_io_handler.h" 10 #include "device/serial/serial_io_handler.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 mojo::InterfaceRequest<serial::DataSink> sink_; 54 mojo::InterfaceRequest<serial::DataSink> sink_;
55 mojo::InterfaceRequest<serial::DataSource> source_; 55 mojo::InterfaceRequest<serial::DataSource> source_;
56 mojo::InterfacePtr<serial::DataSourceClient> source_client_; 56 mojo::InterfacePtr<serial::DataSourceClient> source_client_;
57 scoped_refptr<SerialIoHandler> io_handler_; 57 scoped_refptr<SerialIoHandler> io_handler_;
58 58
59 DISALLOW_COPY_AND_ASSIGN(ConnectTask); 59 DISALLOW_COPY_AND_ASSIGN(ConnectTask);
60 }; 60 };
61 61
62 SerialConnectionFactory::SerialConnectionFactory( 62 SerialConnectionFactory::SerialConnectionFactory(
63 const IoHandlerFactory& io_handler_factory, 63 const IoHandlerFactory& io_handler_factory,
64 scoped_refptr<base::MessageLoopProxy> connect_message_loop) 64 scoped_refptr<base::SingleThreadTaskRunner> connect_task_runner)
65 : io_handler_factory_(io_handler_factory), 65 : io_handler_factory_(io_handler_factory),
66 connect_message_loop_(connect_message_loop) { 66 connect_task_runner_(connect_task_runner) {
67 } 67 }
68 68
69 void SerialConnectionFactory::CreateConnection( 69 void SerialConnectionFactory::CreateConnection(
70 const std::string& path, 70 const std::string& path,
71 serial::ConnectionOptionsPtr options, 71 serial::ConnectionOptionsPtr options,
72 mojo::InterfaceRequest<serial::Connection> connection_request, 72 mojo::InterfaceRequest<serial::Connection> connection_request,
73 mojo::InterfaceRequest<serial::DataSink> sink, 73 mojo::InterfaceRequest<serial::DataSink> sink,
74 mojo::InterfaceRequest<serial::DataSource> source, 74 mojo::InterfaceRequest<serial::DataSource> source,
75 mojo::InterfacePtr<serial::DataSourceClient> source_client) { 75 mojo::InterfacePtr<serial::DataSourceClient> source_client) {
76 scoped_refptr<ConnectTask> task( 76 scoped_refptr<ConnectTask> task(
(...skipping 20 matching lines...) Expand all
97 sink_(sink.Pass()), 97 sink_(sink.Pass()),
98 source_(source.Pass()), 98 source_(source.Pass()),
99 source_client_(source_client.Pass()) { 99 source_client_(source_client.Pass()) {
100 if (!options_) { 100 if (!options_) {
101 options_ = serial::ConnectionOptions::New(); 101 options_ = serial::ConnectionOptions::New();
102 } 102 }
103 FillDefaultConnectionOptions(options_.get()); 103 FillDefaultConnectionOptions(options_.get());
104 } 104 }
105 105
106 void SerialConnectionFactory::ConnectTask::Run() { 106 void SerialConnectionFactory::ConnectTask::Run() {
107 factory_->connect_message_loop_->PostTask( 107 factory_->connect_task_runner_->PostTask(
108 FROM_HERE, 108 FROM_HERE,
109 base::Bind(&SerialConnectionFactory::ConnectTask::Connect, this)); 109 base::Bind(&SerialConnectionFactory::ConnectTask::Connect, this));
110 } 110 }
111 111
112 SerialConnectionFactory::ConnectTask::~ConnectTask() { 112 SerialConnectionFactory::ConnectTask::~ConnectTask() {
113 } 113 }
114 114
115 void SerialConnectionFactory::ConnectTask::Connect() { 115 void SerialConnectionFactory::ConnectTask::Connect() {
116 io_handler_ = factory_->io_handler_factory_.Run(); 116 io_handler_ = factory_->io_handler_factory_.Run();
117 io_handler_->Open( 117 io_handler_->Open(
118 path_, *options_, 118 path_, *options_,
119 base::Bind(&SerialConnectionFactory::ConnectTask::OnConnected, this)); 119 base::Bind(&SerialConnectionFactory::ConnectTask::OnConnected, this));
120 } 120 }
121 121
122 void SerialConnectionFactory::ConnectTask::OnConnected(bool success) { 122 void SerialConnectionFactory::ConnectTask::OnConnected(bool success) {
123 DCHECK(io_handler_.get()); 123 DCHECK(io_handler_.get());
124 if (!success) { 124 if (!success) {
125 return; 125 return;
126 } 126 }
127 127
128 mojo::BindToRequest( 128 mojo::BindToRequest(
129 new SerialConnection(io_handler_, sink_.Pass(), source_.Pass(), 129 new SerialConnection(io_handler_, sink_.Pass(), source_.Pass(),
130 source_client_.Pass()), 130 source_client_.Pass()),
131 &connection_request_); 131 &connection_request_);
132 } 132 }
133 133
134 } // namespace device 134 } // namespace device
OLDNEW
« no previous file with comments | « device/serial/serial_connection_factory.h ('k') | device/serial/serial_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698