Buttplug sex toy control library
at master 17 lines 659 B view raw
1use getset::{Getters, MutGetters, Setters}; 2use serde::{Deserialize, Serialize}; 3 4use super::device::ConfigBaseDeviceDefinition; 5 6use crate::ProtocolCommunicationSpecifier; 7 8#[derive(Deserialize, Serialize, Debug, Clone, Default, Getters, Setters, MutGetters)] 9#[getset(get = "pub", set = "pub", get_mut = "pub(crate)")] 10pub(super) struct ProtocolDefinition { 11 #[serde(skip_serializing_if = "Option::is_none")] 12 pub communication: Option<Vec<ProtocolCommunicationSpecifier>>, 13 #[serde(skip_serializing_if = "Option::is_none")] 14 pub defaults: Option<ConfigBaseDeviceDefinition>, 15 #[serde(default)] 16 pub configurations: Vec<ConfigBaseDeviceDefinition>, 17}