use crate::model::id::BpmnId;
#[derive(Debug, PartialEq, Eq, Clone, Hash)]
pub enum Symbol {
Cancel,
Compensation,
Conditional,
Error,
Escalation,
Link,
Message,
Signal,
Terminate,
Timer,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Event {
pub event_type: EventType,
pub symbol: Option<Symbol>,
pub id: BpmnId,
pub name: Option<String>
}
impl Event {
pub fn new(event_type: EventType, symbol: Option<Symbol>, id: BpmnId, name: Option<String>) -> Self {
Self { event_type, symbol, id, name }
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum EventType {
Boundary(BpmnId),
End,
IntermediateCatch,
IntermediateThrow,
Start,
}