| Index: device/serial/serial_connection_factory.cc
|
| diff --git a/device/serial/serial_connection_factory.cc b/device/serial/serial_connection_factory.cc
|
| index 6b01490ecab7d08691ce7650de7cdb8a70291b2f..85a3e2e9ba65e2f8038b1e1ec08cabe4cf823209 100644
|
| --- a/device/serial/serial_connection_factory.cc
|
| +++ b/device/serial/serial_connection_factory.cc
|
| @@ -37,7 +37,8 @@ class SerialConnectionFactory::ConnectTask
|
| serial::ConnectionOptionsPtr options,
|
| mojo::InterfaceRequest<serial::Connection> connection_request,
|
| mojo::InterfaceRequest<serial::DataSink> sink,
|
| - mojo::InterfaceRequest<serial::DataSource> source);
|
| + mojo::InterfaceRequest<serial::DataSource> source,
|
| + mojo::InterfacePtr<serial::DataSourceClient> source_client);
|
| void Run();
|
|
|
| private:
|
| @@ -52,6 +53,7 @@ class SerialConnectionFactory::ConnectTask
|
| mojo::InterfaceRequest<serial::Connection> connection_request_;
|
| mojo::InterfaceRequest<serial::DataSink> sink_;
|
| mojo::InterfaceRequest<serial::DataSource> source_;
|
| + mojo::InterfacePtr<serial::DataSourceClient> source_client_;
|
| scoped_refptr<SerialIoHandler> io_handler_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ConnectTask);
|
| @@ -69,13 +71,11 @@ void SerialConnectionFactory::CreateConnection(
|
| serial::ConnectionOptionsPtr options,
|
| mojo::InterfaceRequest<serial::Connection> connection_request,
|
| mojo::InterfaceRequest<serial::DataSink> sink,
|
| - mojo::InterfaceRequest<serial::DataSource> source) {
|
| - scoped_refptr<ConnectTask> task(new ConnectTask(this,
|
| - path,
|
| - options.Pass(),
|
| - connection_request.Pass(),
|
| - sink.Pass(),
|
| - source.Pass()));
|
| + mojo::InterfaceRequest<serial::DataSource> source,
|
| + mojo::InterfacePtr<serial::DataSourceClient> source_client) {
|
| + scoped_refptr<ConnectTask> task(
|
| + new ConnectTask(this, path, options.Pass(), connection_request.Pass(),
|
| + sink.Pass(), source.Pass(), source_client.Pass()));
|
| task->Run();
|
| }
|
|
|
| @@ -88,13 +88,15 @@ SerialConnectionFactory::ConnectTask::ConnectTask(
|
| serial::ConnectionOptionsPtr options,
|
| mojo::InterfaceRequest<serial::Connection> connection_request,
|
| mojo::InterfaceRequest<serial::DataSink> sink,
|
| - mojo::InterfaceRequest<serial::DataSource> source)
|
| + mojo::InterfaceRequest<serial::DataSource> source,
|
| + mojo::InterfacePtr<serial::DataSourceClient> source_client)
|
| : factory_(factory),
|
| path_(path),
|
| options_(options.Pass()),
|
| connection_request_(connection_request.Pass()),
|
| sink_(sink.Pass()),
|
| - source_(source.Pass()) {
|
| + source_(source.Pass()),
|
| + source_client_(source_client.Pass()) {
|
| if (!options_) {
|
| options_ = serial::ConnectionOptions::New();
|
| }
|
| @@ -124,7 +126,8 @@ void SerialConnectionFactory::ConnectTask::OnConnected(bool success) {
|
| }
|
|
|
| mojo::BindToRequest(
|
| - new SerialConnection(io_handler_, sink_.Pass(), source_.Pass()),
|
| + new SerialConnection(io_handler_, sink_.Pass(), source_.Pass(),
|
| + source_client_.Pass()),
|
| &connection_request_);
|
| }
|
|
|
|
|