// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Session {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub request_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(string, tag = "3")]
    pub requester_id: ::prost::alloc::string::String,
}
impl ::prost::Name for Session {
    const NAME: &'static str = "Session";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.Session".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.Session".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoorSessions {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub door_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub sessions: ::prost::alloc::vec::Vec<Session>,
}
impl ::prost::Name for DoorSessions {
    const NAME: &'static str = "DoorSessions";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.DoorSessions".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.DoorSessions".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SupervisorHeartbeat {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub all_sessions: ::prost::alloc::vec::Vec<DoorSessions>,
}
impl ::prost::Name for SupervisorHeartbeat {
    const NAME: &'static str = "SupervisorHeartbeat";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.SupervisorHeartbeat".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.SupervisorHeartbeat".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoorMode {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub value: u32,
}
impl ::prost::Name for DoorMode {
    const NAME: &'static str = "DoorMode";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.DoorMode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.DoorMode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoorRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub request_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(string, tag = "3")]
    pub requester_id: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub door_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub requested_mode: ::core::option::Option<DoorMode>,
}
impl ::prost::Name for DoorRequest {
    const NAME: &'static str = "DoorRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.DoorRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.DoorRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoorState {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub door_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "3")]
    pub door_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub current_mode: ::core::option::Option<DoorMode>,
}
impl ::prost::Name for DoorState {
    const NAME: &'static str = "DoorState";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_door_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_door_msgs.msg.DoorState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_door_msgs.msg.DoorState".into()
    }
}
