// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetParamNamesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetParamNamesRequest {
    const NAME: &'static str = "GetParamNamesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetParamNamesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetParamNamesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetParamNamesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for GetParamNamesResponse {
    const NAME: &'static str = "GetParamNamesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetParamNamesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetParamNamesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublishersRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub topic: ::prost::alloc::string::String,
}
impl ::prost::Name for PublishersRequest {
    const NAME: &'static str = "PublishersRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.PublishersRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.PublishersRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublishersResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub publishers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for PublishersResponse {
    const NAME: &'static str = "PublishersResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.PublishersResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.PublishersResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for NodesRequest {
    const NAME: &'static str = "NodesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.NodesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.NodesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for NodesResponse {
    const NAME: &'static str = "NodesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.NodesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.NodesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetParamRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for SetParamRequest {
    const NAME: &'static str = "SetParamRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.SetParamRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.SetParamRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetParamResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for SetParamResponse {
    const NAME: &'static str = "SetParamResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.SetParamResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.SetParamResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActionServersRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetActionServersRequest {
    const NAME: &'static str = "GetActionServersRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetActionServersRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetActionServersRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActionServersResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub action_servers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for GetActionServersResponse {
    const NAME: &'static str = "GetActionServersResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetActionServersResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetActionServersResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsForTypeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for TopicsForTypeRequest {
    const NAME: &'static str = "TopicsForTypeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsForTypeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsForTypeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsForTypeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub topics: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for TopicsForTypeResponse {
    const NAME: &'static str = "TopicsForTypeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsForTypeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsForTypeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRosVersionRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetRosVersionRequest {
    const NAME: &'static str = "GetROSVersionRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetROSVersionRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetROSVersionRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRosVersionResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub version: u32,
    #[prost(string, tag = "3")]
    pub distro: ::prost::alloc::string::String,
}
impl ::prost::Name for GetRosVersionResponse {
    const NAME: &'static str = "GetROSVersionResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetROSVersionResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetROSVersionResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteParamRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteParamRequest {
    const NAME: &'static str = "DeleteParamRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.DeleteParamRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.DeleteParamRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteParamResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for DeleteParamResponse {
    const NAME: &'static str = "DeleteParamResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.DeleteParamResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.DeleteParamResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceNodeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub service: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceNodeRequest {
    const NAME: &'static str = "ServiceNodeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceNodeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceNodeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceNodeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub node: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceNodeResponse {
    const NAME: &'static str = "ServiceNodeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceNodeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceNodeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceTypeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub service: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceTypeRequest {
    const NAME: &'static str = "ServiceTypeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceTypeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceTypeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceTypeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceTypeResponse {
    const NAME: &'static str = "ServiceTypeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceTypeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceTypeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServicesForTypeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for ServicesForTypeRequest {
    const NAME: &'static str = "ServicesForTypeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServicesForTypeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServicesForTypeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServicesForTypeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub services: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ServicesForTypeResponse {
    const NAME: &'static str = "ServicesForTypeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServicesForTypeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServicesForTypeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsAndRawTypesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for TopicsAndRawTypesRequest {
    const NAME: &'static str = "TopicsAndRawTypesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsAndRawTypesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsAndRawTypesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsAndRawTypesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub topics: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub typedefs_full_text: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for TopicsAndRawTypesResponse {
    const NAME: &'static str = "TopicsAndRawTypesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsAndRawTypesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsAndRawTypesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribersRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub topic: ::prost::alloc::string::String,
}
impl ::prost::Name for SubscribersRequest {
    const NAME: &'static str = "SubscribersRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.SubscribersRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.SubscribersRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribersResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub subscribers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for SubscribersResponse {
    const NAME: &'static str = "SubscribersResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.SubscribersResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.SubscribersResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceResponseDetailsRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceResponseDetailsRequest {
    const NAME: &'static str = "ServiceResponseDetailsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceResponseDetailsRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceResponseDetailsRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceResponseDetailsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub typedefs: ::prost::alloc::vec::Vec<super::msg::TypeDef>,
}
impl ::prost::Name for ServiceResponseDetailsResponse {
    const NAME: &'static str = "ServiceResponseDetailsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceResponseDetailsResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceResponseDetailsResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicTypeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub topic: ::prost::alloc::string::String,
}
impl ::prost::Name for TopicTypeRequest {
    const NAME: &'static str = "TopicTypeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicTypeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicTypeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicTypeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for TopicTypeResponse {
    const NAME: &'static str = "TopicTypeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicTypeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicTypeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HasParamRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
}
impl ::prost::Name for HasParamRequest {
    const NAME: &'static str = "HasParamRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.HasParamRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.HasParamRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HasParamResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub exists: bool,
}
impl ::prost::Name for HasParamResponse {
    const NAME: &'static str = "HasParamResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.HasParamResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.HasParamResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for TopicsRequest {
    const NAME: &'static str = "TopicsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopicsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub topics: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for TopicsResponse {
    const NAME: &'static str = "TopicsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.TopicsResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.TopicsResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetParamRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub default_value: ::prost::alloc::string::String,
}
impl ::prost::Name for GetParamRequest {
    const NAME: &'static str = "GetParamRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetParamRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetParamRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetParamResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for GetParamResponse {
    const NAME: &'static str = "GetParamResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetParamResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetParamResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTimeRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetTimeRequest {
    const NAME: &'static str = "GetTimeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetTimeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetTimeRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTimeResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
}
impl ::prost::Name for GetTimeResponse {
    const NAME: &'static str = "GetTimeResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.GetTimeResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.GetTimeResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceProvidersRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub service: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceProvidersRequest {
    const NAME: &'static str = "ServiceProvidersRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceProvidersRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceProvidersRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceProvidersResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub providers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ServiceProvidersResponse {
    const NAME: &'static str = "ServiceProvidersResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceProvidersResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceProvidersResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceRequestDetailsRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for ServiceRequestDetailsRequest {
    const NAME: &'static str = "ServiceRequestDetailsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceRequestDetailsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceRequestDetailsRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceRequestDetailsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub typedefs: ::prost::alloc::vec::Vec<super::msg::TypeDef>,
}
impl ::prost::Name for ServiceRequestDetailsResponse {
    const NAME: &'static str = "ServiceRequestDetailsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServiceRequestDetailsResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServiceRequestDetailsResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServicesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for ServicesRequest {
    const NAME: &'static str = "ServicesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServicesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServicesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServicesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub services: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ServicesResponse {
    const NAME: &'static str = "ServicesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.ServicesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.ServicesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageDetailsRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
}
impl ::prost::Name for MessageDetailsRequest {
    const NAME: &'static str = "MessageDetailsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.MessageDetailsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.MessageDetailsRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageDetailsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub typedefs: ::prost::alloc::vec::Vec<super::msg::TypeDef>,
}
impl ::prost::Name for MessageDetailsResponse {
    const NAME: &'static str = "MessageDetailsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.MessageDetailsResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.MessageDetailsResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeDetailsRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub node: ::prost::alloc::string::String,
}
impl ::prost::Name for NodeDetailsRequest {
    const NAME: &'static str = "NodeDetailsRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.NodeDetailsRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.NodeDetailsRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeDetailsResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub subscribing: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub publishing: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub services: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for NodeDetailsResponse {
    const NAME: &'static str = "NodeDetailsResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rosapi_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rosapi_msgs.srv.NodeDetailsResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rosapi_msgs.srv.NodeDetailsResponse".into()
    }
}
