blob: d77a1323adef29e043868bf02a6a73999fe25a89 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
use std::sync::mpsc::*;
use crate::config::*;
use swaystatus_plugin::*;
use crate::communication::*;
pub struct PulseVolumeRunnable<'p> {
config : &'p PulseVolumeConfig,
to_main : Box<dyn MsgModuleToMain + 'p>,
from_main : Receiver<MessagesFromMain>,
pulse : std::sync::Arc<PulseMainLoop>
}
impl<'p : 's, 's> PulseVolumeRunnable<'p> {
pub fn new(config : &'p PulseVolumeConfig, to_main : Box<dyn MsgModuleToMain + 'p>) -> (Self, SenderForMain) {
let (s, r) = channel();
let pulse = std::sync::Arc::new(PulseMainLoop {});//TODO: initialize this properly
let result = PulseVolumeRunnable {
config,
to_main,
from_main : r,
pulse: pulse.clone()
};
let sender = SenderForMain::new(s, pulse);
(result, sender)
}
}
impl<'p> SwayStatusModuleRunnable for PulseVolumeRunnable<'p> {
fn run(&self) {
//TODO
}
}
pub struct PulseMainLoop {
//TODO!
}
|