From 57fd648407a233ae62b2c561d902783597274f83 Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Wed, 24 Jan 2024 21:40:48 +0100 Subject: Start work on ALSA volume display --- alsa/src/communication.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 alsa/src/communication.rs (limited to 'alsa/src/communication.rs') diff --git a/alsa/src/communication.rs b/alsa/src/communication.rs new file mode 100644 index 0000000..be11dd8 --- /dev/null +++ b/alsa/src/communication.rs @@ -0,0 +1,30 @@ +use std::sync::mpsc::*; +use swaystatus_plugin::*; + +pub enum MessagesFromMain { + Quit, + Refresh +} + +pub struct SenderForMain { + sender : Sender, +} + +impl<'p> SenderForMain { + pub fn new(sender : Sender) -> Self { + Self { sender } + } + + fn send(&self, message : MessagesFromMain) -> Result<(), PluginCommunicationError> { + self.sender.send(message).map_err(|_| PluginCommunicationError) + } +} + +impl MsgMainToModule for SenderForMain { + fn send_quit(&self) -> Result<(),PluginCommunicationError> { + self.send(MessagesFromMain::Quit) + } + fn send_refresh(&self) -> Result<(),PluginCommunicationError> { + self.send(MessagesFromMain::Refresh) + } +} -- cgit v1.2.3