// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceDetails {
    #[prost(string, tag = "1")]
    pub service_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub service_type: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceDetails {
    const NAME: &'static str = "ServiceDetails";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.ServiceDetails".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.ServiceDetails".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscriberDetails {
    #[prost(string, tag = "1")]
    pub topic_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub message_type: ::prost::alloc::string::String,
    #[prost(bool, tag = "3")]
    pub latched: bool,
}
impl ::prost::Name for SubscriberDetails {
    const NAME: &'static str = "SubscriberDetails";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.SubscriberDetails"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.SubscriberDetails"
            .into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SnapshotStreamParameters {
    #[prost(double, tag = "1")]
    pub snapshot_period: f64,
    #[prost(bool, tag = "2")]
    pub blackboard_data: bool,
    #[prost(bool, tag = "3")]
    pub blackboard_activity: bool,
}
impl ::prost::Name for SnapshotStreamParameters {
    const NAME: &'static str = "SnapshotStreamParameters";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.SnapshotStreamParameters"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.SnapshotStreamParameters"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublisherDetails {
    #[prost(string, tag = "1")]
    pub topic_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub message_type: ::prost::alloc::string::String,
    #[prost(bool, tag = "3")]
    pub latched: bool,
}
impl ::prost::Name for PublisherDetails {
    const NAME: &'static str = "PublisherDetails";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.PublisherDetails"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.PublisherDetails"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeyValue {
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for KeyValue {
    const NAME: &'static str = "KeyValue";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.KeyValue".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.KeyValue".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityItem {
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub client_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub activity_type: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub previous_value: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub current_value: ::prost::alloc::string::String,
}
impl ::prost::Name for ActivityItem {
    const NAME: &'static str = "ActivityItem";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.ActivityItem".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.ActivityItem".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Behaviour {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub class_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub own_id: ::core::option::Option<super::super::unique_identifier_msgs::msg::Uuid>,
    #[prost(message, optional, tag = "4")]
    pub parent_id: ::core::option::Option<
        super::super::unique_identifier_msgs::msg::Uuid,
    >,
    #[prost(message, optional, tag = "5")]
    pub tip_id: ::core::option::Option<super::super::unique_identifier_msgs::msg::Uuid>,
    #[prost(message, repeated, tag = "6")]
    pub child_ids: ::prost::alloc::vec::Vec<
        super::super::unique_identifier_msgs::msg::Uuid,
    >,
    #[prost(message, optional, tag = "7")]
    pub current_child_id: ::core::option::Option<
        super::super::unique_identifier_msgs::msg::Uuid,
    >,
    #[prost(uint32, tag = "8")]
    pub r#type: u32,
    #[prost(string, tag = "9")]
    pub additional_detail: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub blackbox_level: u32,
    #[prost(uint32, tag = "11")]
    pub status: u32,
    #[prost(string, tag = "12")]
    pub message: ::prost::alloc::string::String,
    #[prost(bool, tag = "13")]
    pub is_active: bool,
    #[prost(message, repeated, tag = "14")]
    pub blackboard_access: ::prost::alloc::vec::Vec<KeyValue>,
}
impl ::prost::Name for Behaviour {
    const NAME: &'static str = "Behaviour";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.Behaviour".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.Behaviour".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Statistics {
    #[prost(int64, tag = "1")]
    pub count: i64,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(float, tag = "3")]
    pub tick_duration: f32,
    #[prost(float, tag = "4")]
    pub tick_duration_average: f32,
    #[prost(float, tag = "5")]
    pub tick_duration_variance: f32,
    #[prost(float, tag = "6")]
    pub tick_interval: f32,
    #[prost(float, tag = "7")]
    pub tick_interval_average: f32,
    #[prost(float, tag = "8")]
    pub tick_interval_variance: f32,
}
impl ::prost::Name for Statistics {
    const NAME: &'static str = "Statistics";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.Statistics".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.Statistics".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BehaviourTree {
    #[prost(message, repeated, tag = "1")]
    pub behaviours: ::prost::alloc::vec::Vec<Behaviour>,
    #[prost(bool, tag = "2")]
    pub changed: bool,
    #[prost(message, repeated, tag = "3")]
    pub blackboard_on_visited_path: ::prost::alloc::vec::Vec<
        super::super::diagnostic_msgs::msg::KeyValue,
    >,
    #[prost(message, repeated, tag = "4")]
    pub blackboard_activity: ::prost::alloc::vec::Vec<ActivityItem>,
    #[prost(message, optional, tag = "5")]
    pub statistics: ::core::option::Option<Statistics>,
}
impl ::prost::Name for BehaviourTree {
    const NAME: &'static str = "BehaviourTree";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.BehaviourTree".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.py_trees_ros_interfaces.msg.BehaviourTree".into()
    }
}
