use serde::{Deserialize, Serialize};
use crate::component::ComponentId;
use crate::error::FailureReason;
use crate::event::LifecycleState;
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct ChildStatus {
pub name: String,
pub pid: u64,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct ComponentStatus {
pub id: ComponentId,
pub state: LifecycleState,
pub children: Vec<ChildStatus>,
pub failure: Option<FailureReason>,
}