#![allow(dead_code)]
mod build;
mod control;
mod resolve;
mod spawn;
mod spawn_node;
use mecha10_runtime::ProcessManager;
pub struct ProcessService {
manager: ProcessManager,
}
impl ProcessService {
pub fn new() -> Self {
Self {
manager: ProcessManager::new(),
}
}
pub fn track_dependency(&mut self, node: &str, dependencies: Vec<String>) {
for dep in dependencies {
self.manager.add_dependency(node.to_string(), dep);
}
}
pub fn get_shutdown_order(&self) -> Vec<String> {
self.manager.shutdown_order()
}
pub fn count(&self) -> usize {
self.manager.len()
}
pub fn is_empty(&self) -> bool {
self.manager.is_empty()
}
pub fn manager(&mut self) -> &mut ProcessManager {
&mut self.manager
}
}
impl Default for ProcessService {
fn default() -> Self {
Self::new()
}
}
impl Drop for ProcessService {
fn drop(&mut self) {}
}