Something went wrong. Try again.
Buttplug sex toy control library
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940use buttplug_client::ButtplugClient;use buttplug_client_in_process::{ButtplugInProcessClientConnectorBuilder, in_process_client};use buttplug_server::{ButtplugServerBuilder, device::ServerDeviceManagerBuilder};use buttplug_server_device_config::DeviceConfigurationManagerBuilder;use buttplug_server_hwmgr_btleplug::BtlePlugCommunicationManagerBuilder;
#[allow(dead_code)]async fn main_the_hard_way() -> anyhow::Result<()> { let dcm = DeviceConfigurationManagerBuilder::default() .finish() .unwrap();
let mut device_manager_builder = ServerDeviceManagerBuilder::new(dcm); device_manager_builder.comm_manager(BtlePlugCommunicationManagerBuilder::default());
// This is how we add Bluetooth manually. (We could also do this with any other communication manager.)
let server = ButtplugServerBuilder::new(device_manager_builder.finish().unwrap()) .finish() .unwrap();
// First off, we'll set up our Embedded Connector. let connector = ButtplugInProcessClientConnectorBuilder::default() .server(server) .finish();
let client = ButtplugClient::new("Example Client"); client.connect(connector).await?;
Ok(())}
#[tokio::main]async fn main() -> anyhow::Result<()> { // This is the easy way, it sets up an embedded server with everything set up automatically let _client = in_process_client("Example Client").await;
Ok(())}