pub trait RemoteServiceProxyInterface: Send + Sync {
    type DiscoverCharacteristicsResponseFut: Future<Output = Result<(Status, Vec<Characteristic>), Error>> + Send;
    type ReadCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
    type ReadLongCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
    type WriteCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;
    type WriteLongCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;
    type ReadDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
    type ReadLongDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
    type WriteDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send;
    type WriteLongDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send;
    type ReadByTypeResponseFut: Future<Output = Result<RemoteServiceReadByTypeResult, Error>> + Send;
    type NotifyCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;

    // Required methods
    fn discover_characteristics(
        &self,
    ) -> Self::DiscoverCharacteristicsResponseFut;
    fn read_characteristic(
        &self,
        id: u64,
    ) -> Self::ReadCharacteristicResponseFut;
    fn read_long_characteristic(
        &self,
        id: u64,
        offset: u16,
        max_bytes: u16,
    ) -> Self::ReadLongCharacteristicResponseFut;
    fn write_characteristic(
        &self,
        id: u64,
        value: &[u8],
    ) -> Self::WriteCharacteristicResponseFut;
    fn write_long_characteristic(
        &self,
        id: u64,
        offset: u16,
        value: &[u8],
        write_options: &WriteOptions,
    ) -> Self::WriteLongCharacteristicResponseFut;
    fn write_characteristic_without_response(
        &self,
        id: u64,
        value: &[u8],
    ) -> Result<(), Error>;
    fn read_descriptor(&self, id: u64) -> Self::ReadDescriptorResponseFut;
    fn read_long_descriptor(
        &self,
        id: u64,
        offset: u16,
        max_bytes: u16,
    ) -> Self::ReadLongDescriptorResponseFut;
    fn write_descriptor(
        &self,
        id: u64,
        value: &[u8],
    ) -> Self::WriteDescriptorResponseFut;
    fn write_long_descriptor(
        &self,
        id: u64,
        offset: u16,
        value: &[u8],
    ) -> Self::WriteLongDescriptorResponseFut;
    fn read_by_type(&self, uuid: &Uuid) -> Self::ReadByTypeResponseFut;
    fn notify_characteristic(
        &self,
        id: u64,
        enable: bool,
    ) -> Self::NotifyCharacteristicResponseFut;
}

Required Associated Types§

source

type DiscoverCharacteristicsResponseFut: Future<Output = Result<(Status, Vec<Characteristic>), Error>> + Send

source

type ReadCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send

source

type ReadLongCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send

source

type WriteCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send

source

type WriteLongCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send

source

type ReadDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send

source

type ReadLongDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send

source

type WriteDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send

source

type WriteLongDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send

source

type ReadByTypeResponseFut: Future<Output = Result<RemoteServiceReadByTypeResult, Error>> + Send

source

type NotifyCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send

Required Methods§

source

fn discover_characteristics(&self) -> Self::DiscoverCharacteristicsResponseFut

source

fn read_characteristic(&self, id: u64) -> Self::ReadCharacteristicResponseFut

source

fn read_long_characteristic( &self, id: u64, offset: u16, max_bytes: u16, ) -> Self::ReadLongCharacteristicResponseFut

source

fn write_characteristic( &self, id: u64, value: &[u8], ) -> Self::WriteCharacteristicResponseFut

source

fn write_long_characteristic( &self, id: u64, offset: u16, value: &[u8], write_options: &WriteOptions, ) -> Self::WriteLongCharacteristicResponseFut

source

fn write_characteristic_without_response( &self, id: u64, value: &[u8], ) -> Result<(), Error>

source

fn read_descriptor(&self, id: u64) -> Self::ReadDescriptorResponseFut

source

fn read_long_descriptor( &self, id: u64, offset: u16, max_bytes: u16, ) -> Self::ReadLongDescriptorResponseFut

source

fn write_descriptor( &self, id: u64, value: &[u8], ) -> Self::WriteDescriptorResponseFut

source

fn write_long_descriptor( &self, id: u64, offset: u16, value: &[u8], ) -> Self::WriteLongDescriptorResponseFut

source

fn read_by_type(&self, uuid: &Uuid) -> Self::ReadByTypeResponseFut

source

fn notify_characteristic( &self, id: u64, enable: bool, ) -> Self::NotifyCharacteristicResponseFut

Implementors§

source§

impl RemoteServiceProxyInterface for RemoteServiceProxy

§

type DiscoverCharacteristicsResponseFut = QueryResponseFut<(Status, Vec<Characteristic>)>

§

type ReadCharacteristicResponseFut = QueryResponseFut<(Status, Vec<u8>)>

§

type ReadLongCharacteristicResponseFut = QueryResponseFut<(Status, Vec<u8>)>

§

type WriteCharacteristicResponseFut = QueryResponseFut<Status>

§

type WriteLongCharacteristicResponseFut = QueryResponseFut<Status>

§

type ReadDescriptorResponseFut = QueryResponseFut<(Status, Vec<u8>)>

§

type ReadLongDescriptorResponseFut = QueryResponseFut<(Status, Vec<u8>)>

§

type WriteDescriptorResponseFut = QueryResponseFut<Status>

§

type WriteLongDescriptorResponseFut = QueryResponseFut<Status>

§

type ReadByTypeResponseFut = QueryResponseFut<Result<Vec<ReadByTypeResult>, Error>>

§

type NotifyCharacteristicResponseFut = QueryResponseFut<Status>