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§

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>