From d2fd2da41dbc9c2f19711c14cd68142d5484eb40 Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Sun, 2 May 2021 16:01:55 +0200 Subject: Factor out all unsafe code into its own module (unfinished) --- pulse/src/runnable/mod.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pulse/src/runnable/mod.rs (limited to 'pulse/src/runnable/mod.rs') diff --git a/pulse/src/runnable/mod.rs b/pulse/src/runnable/mod.rs new file mode 100644 index 0000000..612bca9 --- /dev/null +++ b/pulse/src/runnable/mod.rs @@ -0,0 +1,34 @@ +use std::sync::mpsc::*; +use crate::config::*; +use swaystatus_plugin::*; +use crate::communication::*; + +pub mod pulse; +use pulse::Pulse; + +pub struct PulseVolumeRunnable<'p> { + config : &'p PulseVolumeConfig, + to_main : Box, + from_main : Receiver, + pulse : Pulse +} + +impl<'p : 's, 's> PulseVolumeRunnable<'p> { + pub fn new(config : &'p PulseVolumeConfig, to_main : Box) -> (Self, SenderForMain) { + let (s, r) = channel(); + let result = PulseVolumeRunnable { + config, + to_main, + from_main : r, + pulse: Pulse::init(&config.sink), + }; + let sender = SenderForMain::new(s, result.pulse.get_wake_up()); + (result, sender) + } +} + +impl<'p> SwayStatusModuleRunnable for PulseVolumeRunnable<'p> { + fn run(&self) { + //TODO + } +} -- cgit v1.2.3