shiny_application/controllers/jobs.rs
1use shiny_jobs::Job;
2use std::sync::Arc;
3
4#[derive(Default)]
5pub struct JobsController(Vec<(String, Arc<dyn Job>)>);
6
7impl JobsController {
8 pub fn new() -> Self {
9 JobsController::default()
10 }
11
12 pub fn add(&mut self, name: impl ToString, job: Arc<dyn Job>) -> &mut Self {
13 self.0.push((name.to_string(), job));
14 self
15 }
16
17 pub fn take_jobs(self) -> Vec<(String, Arc<dyn Job>)> {
18 self.0
19 }
20}