// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Asset {
    #[prost(string, tag = "1")]
    pub guid: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for Asset {
    const NAME: &'static str = "Asset";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.Asset".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.Asset".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Trait {
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "2")]
    pub value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for Trait {
    const NAME: &'static str = "Trait";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.Trait".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.Trait".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkcellConfiguration {
    #[prost(message, optional, tag = "1")]
    pub time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub guid: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub assets: ::prost::alloc::vec::Vec<Asset>,
    #[prost(message, repeated, tag = "5")]
    pub traits: ::prost::alloc::vec::Vec<Trait>,
}
impl ::prost::Name for WorkcellConfiguration {
    const NAME: &'static str = "WorkcellConfiguration";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellConfiguration".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellConfiguration".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkcellState {
    #[prost(message, optional, tag = "1")]
    pub time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub guid: ::prost::alloc::string::String,
    #[prost(int32, tag = "3")]
    pub mode: i32,
    #[prost(string, repeated, tag = "4")]
    pub request_guid_queue: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for WorkcellState {
    const NAME: &'static str = "WorkcellState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkcellResult {
    #[prost(message, optional, tag = "1")]
    pub time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub request_guid: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub source_guid: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub status: u32,
}
impl ::prost::Name for WorkcellResult {
    const NAME: &'static str = "WorkcellResult";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellResult".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellResult".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkcellRequest {
    #[prost(message, optional, tag = "1")]
    pub time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub request_guid: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub target_guid: ::prost::alloc::string::String,
}
impl ::prost::Name for WorkcellRequest {
    const NAME: &'static str = "WorkcellRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_workcell_msgs.msg.WorkcellRequest".into()
    }
}
