use super::types::*;
use crate::event::Event;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyActivateRequested {
pub policy_id: PolicyId,
}
impl Event for PolicyActivateRequested {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyDeactivateRequested {
pub policy_id: Option<PolicyId>,
}
impl Event for PolicyDeactivateRequested {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyCycleRequested;
impl Event for PolicyCycleRequested {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyActivatedEvent {
pub policy_id: PolicyId,
pub policy_name: String,
pub effects: HashMap<String, f32>,
pub previous_policy_id: Option<PolicyId>,
}
impl Event for PolicyActivatedEvent {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyDeactivatedEvent {
pub policy_id: PolicyId,
pub policy_name: String,
}
impl Event for PolicyDeactivatedEvent {}