mecha10_cli/services/process/
mod.rs1#![allow(dead_code)]
2
3mod build;
10mod control;
11mod resolve;
12mod spawn;
13mod spawn_node;
14
15use mecha10_runtime::ProcessManager;
16
17pub struct ProcessService {
18 manager: ProcessManager,
19}
20
21impl ProcessService {
22 pub fn new() -> Self {
24 Self {
25 manager: ProcessManager::new(),
26 }
27 }
28
29 pub fn track_dependency(&mut self, node: &str, dependencies: Vec<String>) {
32 for dep in dependencies {
33 self.manager.add_dependency(node.to_string(), dep);
34 }
35 }
36
37 pub fn get_shutdown_order(&self) -> Vec<String> {
40 self.manager.shutdown_order()
41 }
42
43 pub fn count(&self) -> usize {
45 self.manager.len()
46 }
47
48 pub fn is_empty(&self) -> bool {
50 self.manager.is_empty()
51 }
52
53 pub fn manager(&mut self) -> &mut ProcessManager {
55 &mut self.manager
56 }
57}
58
59impl Default for ProcessService {
60 fn default() -> Self {
61 Self::new()
62 }
63}
64
65impl Drop for ProcessService {
66 fn drop(&mut self) {}
67}