// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccEvent {
    #[prost(string, tag = "1")]
    pub event_type: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub event_object_tag: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub event_source: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub label: ::prost::alloc::string::String,
}
impl ::prost::Name for SmaccEvent {
    const NAME: &'static str = "SmaccEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccTransition {
    #[prost(int32, tag = "1")]
    pub index: i32,
    #[prost(string, tag = "2")]
    pub transition_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub transition_type: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub destiny_state_name: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub source_state_name: ::prost::alloc::string::String,
    #[prost(bool, tag = "6")]
    pub history_node: bool,
    #[prost(message, optional, tag = "7")]
    pub event: ::core::option::Option<SmaccEvent>,
}
impl ::prost::Name for SmaccTransition {
    const NAME: &'static str = "SmaccTransition";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccTransition".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccTransition".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccTransitionLogEntry {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "2")]
    pub transition: ::core::option::Option<SmaccTransition>,
}
impl ::prost::Name for SmaccTransitionLogEntry {
    const NAME: &'static str = "SmaccTransitionLogEntry";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccTransitionLogEntry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccTransitionLogEntry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccEventGenerator {
    #[prost(int32, tag = "1")]
    pub index: i32,
    #[prost(string, tag = "2")]
    pub type_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub object_tag: ::prost::alloc::string::String,
}
impl ::prost::Name for SmaccEventGenerator {
    const NAME: &'static str = "SmaccEventGenerator";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccEventGenerator".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccEventGenerator".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccOrthogonal {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "2")]
    pub client_behavior_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub client_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for SmaccOrthogonal {
    const NAME: &'static str = "SmaccOrthogonal";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccOrthogonal".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccOrthogonal".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccStateReactor {
    #[prost(int32, tag = "1")]
    pub index: i32,
    #[prost(string, tag = "2")]
    pub type_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub object_tag: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub event_sources: ::prost::alloc::vec::Vec<SmaccEvent>,
}
impl ::prost::Name for SmaccStateReactor {
    const NAME: &'static str = "SmaccStateReactor";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStateReactor".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStateReactor".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccState {
    #[prost(int32, tag = "1")]
    pub index: i32,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "3")]
    pub children_states: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(int32, tag = "4")]
    pub level: i32,
    #[prost(message, repeated, tag = "5")]
    pub transitions: ::prost::alloc::vec::Vec<SmaccTransition>,
    #[prost(message, repeated, tag = "6")]
    pub orthogonals: ::prost::alloc::vec::Vec<SmaccOrthogonal>,
    #[prost(message, repeated, tag = "7")]
    pub state_reactors: ::prost::alloc::vec::Vec<SmaccStateReactor>,
    #[prost(message, repeated, tag = "8")]
    pub event_generators: ::prost::alloc::vec::Vec<SmaccEventGenerator>,
}
impl ::prost::Name for SmaccState {
    const NAME: &'static str = "SmaccState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccStateMachine {
    #[prost(message, repeated, tag = "1")]
    pub states: ::prost::alloc::vec::Vec<SmaccState>,
}
impl ::prost::Name for SmaccStateMachine {
    const NAME: &'static str = "SmaccStateMachine";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStateMachine".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStateMachine".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SmaccSmCommand {
    #[prost(int32, tag = "1")]
    pub command: i32,
}
impl ::prost::Name for SmaccSmCommand {
    const NAME: &'static str = "SmaccSMCommand";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccSMCommand".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccSMCommand".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccContainerInitialStatusCmd {
    #[prost(string, tag = "1")]
    pub path: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "2")]
    pub initial_states: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "3")]
    pub local_data: ::prost::alloc::string::String,
}
impl ::prost::Name for SmaccContainerInitialStatusCmd {
    const NAME: &'static str = "SmaccContainerInitialStatusCmd";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerInitialStatusCmd"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerInitialStatusCmd"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccContainerStructure {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub path: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "3")]
    pub children: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub internal_outcomes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "5")]
    pub outcomes_from: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "6")]
    pub outcomes_to: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "7")]
    pub container_outcomes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for SmaccContainerStructure {
    const NAME: &'static str = "SmaccContainerStructure";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerStructure".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerStructure".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, repeated, tag = "2")]
    pub current_states: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub global_variable_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub global_variable_values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for SmaccStatus {
    const NAME: &'static str = "SmaccStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccStatus".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmaccContainerStatus {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub path: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "3")]
    pub initial_states: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub active_states: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "5")]
    pub local_data: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub info: ::prost::alloc::string::String,
}
impl ::prost::Name for SmaccContainerStatus {
    const NAME: &'static str = "SmaccContainerStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.smacc2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerStatus".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.smacc2_msgs.msg.SmaccContainerStatus".into()
    }
}
