diff options
Diffstat (limited to 'daemon/peripheral_manager_client.h')
-rw-r--r-- | daemon/peripheral_manager_client.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/daemon/peripheral_manager_client.h b/daemon/peripheral_manager_client.h index 4db211d..bdba9ef 100644 --- a/daemon/peripheral_manager_client.h +++ b/daemon/peripheral_manager_client.h @@ -29,6 +29,7 @@ #include "i2c_manager.h" #include "led_manager.h" #include "spi_manager.h" +#include "uart_manager.h" using android::binder::Status; using android::os::BnPeripheralManagerClient; @@ -162,12 +163,32 @@ class PeripheralManagerClient : public BnPeripheralManagerClient { const std::vector<uint8_t>& data, int32_t* bytes_written) override; + // Uart functions. + virtual Status ListUartDevices(std::vector<std::string>* devices) override; + + virtual Status OpenUartDevice(const std::string& name) override; + + virtual Status ReleaseUartDevice(const std::string& name) override; + + virtual Status SetUartDeviceBaudrate(const std::string& name, + int32_t baudrate) override; + + virtual Status UartDeviceWrite(const std::string& name, + const std::vector<uint8_t>& data, + int* bytes_written) override; + + virtual Status UartDeviceRead(const std::string& name, + std::vector<uint8_t>* data, + int size, + int* bytes_read) override; + private: std::map<std::string, std::unique_ptr<GpioPin>> gpios_; std::map<std::pair<std::string, uint32_t>, std::unique_ptr<I2cDevice>> i2c_devices_; std::map<std::string, std::unique_ptr<SpiDevice>> spi_devices_; std::map<std::string, std::unique_ptr<Led>> leds_; + std::map<std::string, std::unique_ptr<UartDevice>> uart_devices_; DISALLOW_COPY_AND_ASSIGN(PeripheralManagerClient); }; |