Documentation
1
2
3
4
5
6
7
8
9
use crate::core::Core;
use downcast::AnySync;
use std::{sync::Arc, thread::JoinHandle};

pub trait Service: AnySync {
    fn ident(self: Arc<Self>) -> &'static str;
    fn start(self: Arc<Self>, core: Arc<Core>) -> Vec<JoinHandle<()>>;
    fn stop(self: Arc<Self>);
}