Buttplug sex toy control library
at dev 965 B view raw
1use buttplug_server_device_config::UserDeviceIdentifier; 2use serde::{Deserialize, Serialize}; 3 4// Everything in this struct is an object, even if it has null contents. This is to make other 5// languages happy when trying to recompose JSON into objects. 6#[derive(Debug, Clone, Serialize, Deserialize)] 7pub enum EngineMessage { 8 EngineVersion { 9 version: String, 10 }, 11 EngineStarted {}, 12 EngineError { 13 error: String, 14 }, 15 EngineServerCreated {}, 16 EngineStopped {}, 17 ClientConnected { 18 client_name: String, 19 }, 20 ClientDisconnected {}, 21 DeviceConnected { 22 name: String, 23 index: u32, 24 identifier: UserDeviceIdentifier, 25 #[serde(skip_serializing_if = "Option::is_none")] 26 display_name: Option<String>, 27 }, 28 DeviceDisconnected { 29 index: u32, 30 }, 31 ClientRejected { 32 reason: String, 33 }, 34} 35 36#[derive(Debug, Clone, Serialize, Deserialize)] 37pub enum IntifaceMessage { 38 RequestEngineVersion { expected_version: u32 }, 39 Stop {}, 40}