// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterValue {
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
    #[prost(bool, tag = "2")]
    pub bool_value: bool,
    #[prost(int64, tag = "3")]
    pub integer_value: i64,
    #[prost(double, tag = "4")]
    pub double_value: f64,
    #[prost(string, tag = "5")]
    pub string_value: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "6")]
    pub byte_array_value: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, repeated, tag = "7")]
    pub bool_array_value: ::prost::alloc::vec::Vec<bool>,
    #[prost(int64, repeated, tag = "8")]
    pub integer_array_value: ::prost::alloc::vec::Vec<i64>,
    #[prost(double, repeated, tag = "9")]
    pub double_array_value: ::prost::alloc::vec::Vec<f64>,
    #[prost(string, repeated, tag = "10")]
    pub string_array_value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ParameterValue {
    const NAME: &'static str = "ParameterValue";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterValue".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterValue".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Parameter {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub value: ::core::option::Option<ParameterValue>,
}
impl ::prost::Name for Parameter {
    const NAME: &'static str = "Parameter";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.Parameter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.Parameter".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LoggerLevel {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
impl ::prost::Name for LoggerLevel {
    const NAME: &'static str = "LoggerLevel";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.LoggerLevel".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.LoggerLevel".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FloatingPointRange {
    #[prost(double, tag = "1")]
    pub from_value: f64,
    #[prost(double, tag = "2")]
    pub to_value: f64,
    #[prost(double, tag = "3")]
    pub step: f64,
}
impl ::prost::Name for FloatingPointRange {
    const NAME: &'static str = "FloatingPointRange";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.FloatingPointRange".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.FloatingPointRange".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntegerRange {
    #[prost(int64, tag = "1")]
    pub from_value: i64,
    #[prost(int64, tag = "2")]
    pub to_value: i64,
    #[prost(uint64, tag = "3")]
    pub step: u64,
}
impl ::prost::Name for IntegerRange {
    const NAME: &'static str = "IntegerRange";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.IntegerRange".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.IntegerRange".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterDescriptor {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(string, tag = "3")]
    pub description: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub additional_constraints: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub read_only: bool,
    #[prost(bool, tag = "6")]
    pub dynamic_typing: bool,
    #[prost(message, repeated, tag = "7")]
    pub floating_point_range: ::prost::alloc::vec::Vec<FloatingPointRange>,
    #[prost(message, repeated, tag = "8")]
    pub integer_range: ::prost::alloc::vec::Vec<IntegerRange>,
}
impl ::prost::Name for ParameterDescriptor {
    const NAME: &'static str = "ParameterDescriptor";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterDescriptor".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterDescriptor".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetParametersResult {
    #[prost(bool, tag = "1")]
    pub successful: bool,
    #[prost(string, tag = "2")]
    pub reason: ::prost::alloc::string::String,
}
impl ::prost::Name for SetParametersResult {
    const NAME: &'static str = "SetParametersResult";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.SetParametersResult".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.SetParametersResult".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLoggerLevelsResult {
    #[prost(bool, tag = "1")]
    pub successful: bool,
    #[prost(string, tag = "2")]
    pub reason: ::prost::alloc::string::String,
}
impl ::prost::Name for SetLoggerLevelsResult {
    const NAME: &'static str = "SetLoggerLevelsResult";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.SetLoggerLevelsResult".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.SetLoggerLevelsResult".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListParametersResult {
    #[prost(string, repeated, tag = "1")]
    pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "2")]
    pub prefixes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ListParametersResult {
    const NAME: &'static str = "ListParametersResult";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ListParametersResult".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ListParametersResult".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterEventDescriptors {
    #[prost(message, repeated, tag = "1")]
    pub new_parameters: ::prost::alloc::vec::Vec<ParameterDescriptor>,
    #[prost(message, repeated, tag = "2")]
    pub changed_parameters: ::prost::alloc::vec::Vec<ParameterDescriptor>,
    #[prost(message, repeated, tag = "3")]
    pub deleted_parameters: ::prost::alloc::vec::Vec<ParameterDescriptor>,
}
impl ::prost::Name for ParameterEventDescriptors {
    const NAME: &'static str = "ParameterEventDescriptors";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterEventDescriptors".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterEventDescriptors".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterEvent {
    #[prost(message, optional, tag = "1")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub node: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub new_parameters: ::prost::alloc::vec::Vec<Parameter>,
    #[prost(message, repeated, tag = "4")]
    pub changed_parameters: ::prost::alloc::vec::Vec<Parameter>,
    #[prost(message, repeated, tag = "5")]
    pub deleted_parameters: ::prost::alloc::vec::Vec<Parameter>,
}
impl ::prost::Name for ParameterEvent {
    const NAME: &'static str = "ParameterEvent";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterEvent".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterEvent".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Log {
    #[prost(message, optional, tag = "1")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub file: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub function: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub line: u32,
}
impl ::prost::Name for Log {
    const NAME: &'static str = "Log";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.Log".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.Log".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParameterType {}
impl ::prost::Name for ParameterType {
    const NAME: &'static str = "ParameterType";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rcl_interfaces.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterType".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rcl_interfaces.msg.ParameterType".into()
    }
}
