ProtocolHandler

Trait ProtocolHandler 

Source
pub trait ProtocolHandler: Sync + Send {
Show 23 methods // Provided methods fn needs_full_command_set(&self) -> bool { ... } fn has_handle_message(&self) -> bool { ... } fn keepalive_strategy(&self) -> ProtocolKeepaliveStrategy { ... } fn handle_message( &self, message: &ButtplugDeviceCommandMessageUnion, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn command_unimplemented( &self, command: &str, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_cmd( &self, commands: &[Option<(ActuatorType, u32)>], ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_vibrate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_rotate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_oscillate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_inflate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_constrict_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_scalar_position_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_vorze_a10_cyclone_cmd( &self, message: VorzeA10CycloneCmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_kiiroo_cmd( &self, message: KiirooCmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_fleshlight_launch_fw12_cmd( &self, message: FleshlightLaunchFW12CmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_rotate_cmd( &self, _commands: &[Option<(u32, bool)>], ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_linear_cmd( &self, message: LinearCmdV4, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... } fn handle_sensor_subscribe_cmd( &self, _device: Arc<Hardware>, _message: &SensorSubscribeCmdV4, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... } fn handle_sensor_unsubscribe_cmd( &self, _device: Arc<Hardware>, _message: &SensorUnsubscribeCmdV4, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... } fn handle_sensor_read_cmd( &self, device: Arc<Hardware>, message: &SensorReadCmdV4, ) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>> { ... } fn handle_battery_level_cmd( &self, device: Arc<Hardware>, message: SensorReadCmdV4, ) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>> { ... } fn handle_rssi_level_cmd( &self, _device: Arc<Hardware>, _message: RSSILevelCmdV2, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... } fn event_stream( &self, ) -> Pin<Box<dyn Stream<Item = ButtplugServerDeviceMessage> + Send>> { ... }
}

Provided Methods§

Source

fn needs_full_command_set(&self) -> bool

Source

fn has_handle_message(&self) -> bool

Source

fn keepalive_strategy(&self) -> ProtocolKeepaliveStrategy

Source

fn handle_message( &self, message: &ButtplugDeviceCommandMessageUnion, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn command_unimplemented( &self, command: &str, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_cmd( &self, commands: &[Option<(ActuatorType, u32)>], ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_vibrate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_rotate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_oscillate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_inflate_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_constrict_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_scalar_position_cmd( &self, _index: u32, _scalar: u32, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_vorze_a10_cyclone_cmd( &self, message: VorzeA10CycloneCmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_kiiroo_cmd( &self, message: KiirooCmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_fleshlight_launch_fw12_cmd( &self, message: FleshlightLaunchFW12CmdV0, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_rotate_cmd( &self, _commands: &[Option<(u32, bool)>], ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_linear_cmd( &self, message: LinearCmdV4, ) -> Result<Vec<HardwareCommand>, ButtplugDeviceError>

Source

fn handle_sensor_subscribe_cmd( &self, _device: Arc<Hardware>, _message: &SensorSubscribeCmdV4, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>>

Source

fn handle_sensor_unsubscribe_cmd( &self, _device: Arc<Hardware>, _message: &SensorUnsubscribeCmdV4, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>>

Source

fn handle_sensor_read_cmd( &self, device: Arc<Hardware>, message: &SensorReadCmdV4, ) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>>

Source

fn handle_battery_level_cmd( &self, device: Arc<Hardware>, message: SensorReadCmdV4, ) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>>

Source

fn handle_rssi_level_cmd( &self, _device: Arc<Hardware>, _message: RSSILevelCmdV2, ) -> BoxFuture<'_, Result<(), ButtplugDeviceError>>

Source

fn event_stream( &self, ) -> Pin<Box<dyn Stream<Item = ButtplugServerDeviceMessage> + Send>>

Implementors§

Source§

impl ProtocolHandler for ActiveJoy

Source§

impl ProtocolHandler for AdrienLastic

Source§

impl ProtocolHandler for AmorelieJoy

Source§

impl ProtocolHandler for Aneros

Source§

impl ProtocolHandler for Ankni

Source§

impl ProtocolHandler for Bananasome

Source§

impl ProtocolHandler for Cachito

Source§

impl ProtocolHandler for Cowgirl

Source§

impl ProtocolHandler for CowgirlCone

Source§

impl ProtocolHandler for Cupido

Source§

impl ProtocolHandler for DeepSire

Source§

impl ProtocolHandler for FeelingSo

Source§

impl ProtocolHandler for FleshyThrust

Source§

impl ProtocolHandler for Foreo

Source§

impl ProtocolHandler for Fox

Source§

impl ProtocolHandler for Fredorch

Source§

impl ProtocolHandler for FredorchRotary

Source§

impl ProtocolHandler for Galaku

Source§

impl ProtocolHandler for GalakuPump

Source§

impl ProtocolHandler for Hgod

Source§

impl ProtocolHandler for Hismith

Source§

impl ProtocolHandler for HismithMini

Source§

impl ProtocolHandler for HtkBm

Source§

impl ProtocolHandler for IToys

Source§

impl ProtocolHandler for JeJoue

Source§

impl ProtocolHandler for JoyHub

Source§

impl ProtocolHandler for JoyHubV2

Source§

impl ProtocolHandler for JoyHubV3

Source§

impl ProtocolHandler for JoyHubV4

Source§

impl ProtocolHandler for JoyHubV5

Source§

impl ProtocolHandler for JoyHubV6

Source§

impl ProtocolHandler for KGoalBoost

Source§

impl ProtocolHandler for KiirooProWand

Source§

impl ProtocolHandler for KiirooSpot

Source§

impl ProtocolHandler for KiirooV2

Source§

impl ProtocolHandler for KiirooV2Vibrator

Source§

impl ProtocolHandler for KiirooV21

Source§

impl ProtocolHandler for KiirooV21Initialized

Source§

impl ProtocolHandler for Kizuna

Source§

impl ProtocolHandler for LeloHarmony

Source§

impl ProtocolHandler for LeloF1s

Source§

impl ProtocolHandler for LeloF1sV2

Source§

impl ProtocolHandler for Leten

Source§

impl ProtocolHandler for LiboElle

Source§

impl ProtocolHandler for LiboShark

Source§

impl ProtocolHandler for LiboVibes

Source§

impl ProtocolHandler for Lioness

Source§

impl ProtocolHandler for LongLostTouch

Source§

impl ProtocolHandler for Loob

Source§

impl ProtocolHandler for LoveDistance

Source§

impl ProtocolHandler for LovehoneyDesire

Source§

impl ProtocolHandler for Lovense

Source§

impl ProtocolHandler for LovenseConnectService

Source§

impl ProtocolHandler for LoveNuts

Source§

impl ProtocolHandler for Luvmazer

Source§

impl ProtocolHandler for MagicMotionV1

Source§

impl ProtocolHandler for MagicMotionV2

Source§

impl ProtocolHandler for MagicMotionV3

Source§

impl ProtocolHandler for MagicMotionV4

Source§

impl ProtocolHandler for ManNuo

Source§

impl ProtocolHandler for Maxpro

Source§

impl ProtocolHandler for Meese

Source§

impl ProtocolHandler for MetaXSire

Source§

impl ProtocolHandler for MetaXSireRepeat

Source§

impl ProtocolHandler for MetaXSireV2

Source§

impl ProtocolHandler for MetaXSireV3

Source§

impl ProtocolHandler for MizzZee

Source§

impl ProtocolHandler for MizzZeeV2

Source§

impl ProtocolHandler for MizzZeeV3

Source§

impl ProtocolHandler for MonsterPub

Source§

impl ProtocolHandler for Motorbunny

Source§

impl ProtocolHandler for buttplug::server::device::protocol::mysteryvibe::MysteryVibe

Source§

impl ProtocolHandler for buttplug::server::device::protocol::mysteryvibe_v2::MysteryVibe

Source§

impl ProtocolHandler for NextLevelRacing

Source§

impl ProtocolHandler for NexusRevo

Source§

impl ProtocolHandler for NintendoJoycon

Source§

impl ProtocolHandler for Nobra

Source§

impl ProtocolHandler for Omobo

Source§

impl ProtocolHandler for Patoo

Source§

impl ProtocolHandler for Picobong

Source§

impl ProtocolHandler for PinkPunch

Source§

impl ProtocolHandler for PrettyLove

Source§

impl ProtocolHandler for RawProtocol

Source§

impl ProtocolHandler for Realov

Source§

impl ProtocolHandler for Sakuraneko

Source§

impl ProtocolHandler for Satisfyer

Source§

impl ProtocolHandler for Sensee

Source§

impl ProtocolHandler for SenseeCapsule

Source§

impl ProtocolHandler for SenseeV2

Source§

impl ProtocolHandler for ServeU

Source§

impl ProtocolHandler for SexverseLG389

Source§

impl ProtocolHandler for Svakom

Source§

impl ProtocolHandler for SvakomAlex

Source§

impl ProtocolHandler for SvakomAlexV2

Source§

impl ProtocolHandler for SvakomAvaNeo

Source§

impl ProtocolHandler for SvakomBarnard

Source§

impl ProtocolHandler for SvakomBarney

Source§

impl ProtocolHandler for SvakomDice

Source§

impl ProtocolHandler for SvakomDT250A

Source§

impl ProtocolHandler for SvakomIker

Source§

impl ProtocolHandler for SvakomPulse

Source§

impl ProtocolHandler for SvakomSam2

Source§

impl ProtocolHandler for SvakomSam

Source§

impl ProtocolHandler for SvakomSuitcase

Source§

impl ProtocolHandler for SvakomTaraX

Source§

impl ProtocolHandler for SvakomV2

Source§

impl ProtocolHandler for SvakomV3

Source§

impl ProtocolHandler for SvakomV4

Source§

impl ProtocolHandler for SvakomV5

Source§

impl ProtocolHandler for SvakomV6

Source§

impl ProtocolHandler for Synchro

Source§

impl ProtocolHandler for TCodeV03

Source§

impl ProtocolHandler for TheHandy

Source§

impl ProtocolHandler for TryFun

Source§

impl ProtocolHandler for TryFunBlackHole

Source§

impl ProtocolHandler for TryFunMeta2

Source§

impl ProtocolHandler for VibCrafter

Source§

impl ProtocolHandler for Vibratissimo

Source§

impl ProtocolHandler for VorzeSA

Source§

impl ProtocolHandler for WeToy

Source§

impl ProtocolHandler for WeVibe8Bit

Source§

impl ProtocolHandler for WeVibe

Source§

impl ProtocolHandler for WeVibeChorus

Source§

impl ProtocolHandler for Xibao

Source§

impl ProtocolHandler for XInput

Source§

impl ProtocolHandler for Xiuxiuda

Source§

impl ProtocolHandler for Xuanhuan

Source§

impl ProtocolHandler for Youcups

Source§

impl ProtocolHandler for Youou

Source§

impl ProtocolHandler for Zalo