diff options
Diffstat (limited to 'device/serial/serial_connection.h')
-rw-r--r-- | device/serial/serial_connection.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/device/serial/serial_connection.h b/device/serial/serial_connection.h index 31d5fc3..807e173 100644 --- a/device/serial/serial_connection.h +++ b/device/serial/serial_connection.h @@ -6,16 +6,23 @@ #define DEVICE_SERIAL_SERIAL_CONNECTION_H_ #include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" #include "device/serial/serial.mojom.h" #include "mojo/public/cpp/bindings/interface_impl.h" namespace device { +class DataSinkReceiver; +class DataSourceSender; +class ReadOnlyBuffer; class SerialIoHandler; +class WritableBuffer; class SerialConnection : public mojo::InterfaceImpl<serial::Connection> { public: - explicit SerialConnection(scoped_refptr<SerialIoHandler> io_handler); + SerialConnection(scoped_refptr<SerialIoHandler> io_handler, + mojo::InterfaceRequest<serial::DataSink> sink, + mojo::InterfaceRequest<serial::DataSource> source); virtual ~SerialConnection(); // mojo::InterfaceImpl<serial::Connection> overrides. @@ -31,7 +38,13 @@ class SerialConnection : public mojo::InterfaceImpl<serial::Connection> { virtual void Flush(const mojo::Callback<void(bool)>& callback) OVERRIDE; private: + void OnSendPipeReady(scoped_ptr<ReadOnlyBuffer> buffer); + void OnSendCancelled(int32_t error); + void OnReceivePipeReady(scoped_ptr<WritableBuffer> buffer); + scoped_refptr<SerialIoHandler> io_handler_; + scoped_refptr<DataSinkReceiver> receiver_; + scoped_refptr<DataSourceSender> sender_; DISALLOW_COPY_AND_ASSIGN(SerialConnection); }; |