// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionStatusRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for ConnectionStatusRequest {
    const NAME: &'static str = "ConnectionStatusRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.ConnectionStatusRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.ConnectionStatusRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionStatusResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub connected: bool,
}
impl ::prost::Name for ConnectionStatusResponse {
    const NAME: &'static str = "ConnectionStatusResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.ConnectionStatusResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.ConnectionStatusResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(string, tag = "4")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for FeatureEnumSetRequest {
    const NAME: &'static str = "FeatureEnumSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumSetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumSetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureEnumSetResponse {
    const NAME: &'static str = "FeatureEnumSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumSetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureCommandRunRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureCommandRunRequest {
    const NAME: &'static str = "FeatureCommandRunRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandRunRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandRunRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureCommandRunResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureCommandRunResponse {
    const NAME: &'static str = "FeatureCommandRunResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandRunResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandRunResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatInfoGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureFloatInfoGetRequest {
    const NAME: &'static str = "FeatureFloatInfoGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatInfoGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatInfoGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatInfoGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub min: f64,
    #[prost(double, tag = "3")]
    pub max: f64,
    #[prost(double, tag = "4")]
    pub inc: f64,
    #[prost(bool, tag = "5")]
    pub inc_available: bool,
    #[prost(message, optional, tag = "6")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureFloatInfoGetResponse {
    const NAME: &'static str = "FeatureFloatInfoGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatInfoGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatInfoGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureIntGetRequest {
    const NAME: &'static str = "FeatureIntGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntGetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntGetRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub value: i64,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureIntGetResponse {
    const NAME: &'static str = "FeatureIntGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntGetResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumAsStringGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(int64, tag = "4")]
    pub value: i64,
}
impl ::prost::Name for FeatureEnumAsStringGetRequest {
    const NAME: &'static str = "FeatureEnumAsStringGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsStringGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsStringGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumAsStringGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub option: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureEnumAsStringGetResponse {
    const NAME: &'static str = "FeatureEnumAsStringGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsStringGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsStringGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawInfoGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureRawInfoGetRequest {
    const NAME: &'static str = "FeatureRawInfoGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawInfoGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawInfoGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawInfoGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub max_length: i64,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureRawInfoGetResponse {
    const NAME: &'static str = "FeatureRawInfoGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawInfoGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawInfoGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureAccessModeGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureAccessModeGetRequest {
    const NAME: &'static str = "FeatureAccessModeGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureAccessModeGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureAccessModeGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureAccessModeGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub is_readable: bool,
    #[prost(bool, tag = "3")]
    pub is_writeable: bool,
    #[prost(message, optional, tag = "4")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureAccessModeGetResponse {
    const NAME: &'static str = "FeatureAccessModeGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureAccessModeGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureAccessModeGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeaturesListGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeaturesListGetRequest {
    const NAME: &'static str = "FeaturesListGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeaturesListGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeaturesListGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeaturesListGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub feature_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeaturesListGetResponse {
    const NAME: &'static str = "FeaturesListGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeaturesListGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeaturesListGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnsubscribeEventRequest {
    #[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 UnsubscribeEventRequest {
    const NAME: &'static str = "UnsubscribeEventRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.UnsubscribeEventRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.UnsubscribeEventRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnsubscribeEventResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for UnsubscribeEventResponse {
    const NAME: &'static str = "UnsubscribeEventResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.UnsubscribeEventResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.UnsubscribeEventResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureBoolGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureBoolGetRequest {
    const NAME: &'static str = "FeatureBoolGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolGetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureBoolGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub value: bool,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureBoolGetResponse {
    const NAME: &'static str = "FeatureBoolGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureStringGetRequest {
    const NAME: &'static str = "FeatureStringGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringGetResponse {
    #[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,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureStringGetResponse {
    const NAME: &'static str = "FeatureStringGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettingsLoadSaveRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub filename: ::prost::alloc::string::String,
}
impl ::prost::Name for SettingsLoadSaveRequest {
    const NAME: &'static str = "SettingsLoadSaveRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.SettingsLoadSaveRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.SettingsLoadSaveRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettingsLoadSaveResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for SettingsLoadSaveResponse {
    const NAME: &'static str = "SettingsLoadSaveResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.SettingsLoadSaveResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.SettingsLoadSaveResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumAsIntGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(string, tag = "4")]
    pub option: ::prost::alloc::string::String,
}
impl ::prost::Name for FeatureEnumAsIntGetRequest {
    const NAME: &'static str = "FeatureEnumAsIntGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsIntGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsIntGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumAsIntGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub value: i64,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureEnumAsIntGetResponse {
    const NAME: &'static str = "FeatureEnumAsIntGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsIntGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumAsIntGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(string, tag = "4")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for FeatureStringSetRequest {
    const NAME: &'static str = "FeatureStringSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringSetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringSetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureStringSetResponse {
    const NAME: &'static str = "FeatureStringSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringSetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeEventRequest {
    #[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 SubscribeEventRequest {
    const NAME: &'static str = "SubscribeEventRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.SubscribeEventRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.SubscribeEventRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeEventResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for SubscribeEventResponse {
    const NAME: &'static str = "SubscribeEventResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.SubscribeEventResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.SubscribeEventResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DummyRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for DummyRequest {
    const NAME: &'static str = "DummyRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.DummyRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.DummyRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DummyResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for DummyResponse {
    const NAME: &'static str = "DummyResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.DummyResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.DummyResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringInfoGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureStringInfoGetRequest {
    const NAME: &'static str = "FeatureStringInfoGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringInfoGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringInfoGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureStringInfoGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub max_length: i64,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureStringInfoGetResponse {
    const NAME: &'static str = "FeatureStringInfoGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringInfoGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureStringInfoGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamStartStopRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for StreamStartStopRequest {
    const NAME: &'static str = "StreamStartStopRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.StreamStartStopRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.StreamStartStopRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamStartStopResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for StreamStartStopResponse {
    const NAME: &'static str = "StreamStartStopResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.StreamStartStopResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.StreamStartStopResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(double, tag = "4")]
    pub value: f64,
}
impl ::prost::Name for FeatureFloatSetRequest {
    const NAME: &'static str = "FeatureFloatSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatSetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatSetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureFloatSetResponse {
    const NAME: &'static str = "FeatureFloatSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatSetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureEnumGetRequest {
    const NAME: &'static str = "FeatureEnumGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumGetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumGetResponse {
    #[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,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureEnumGetResponse {
    const NAME: &'static str = "FeatureEnumGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureInfoQueryRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub feature_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureInfoQueryRequest {
    const NAME: &'static str = "FeatureInfoQueryRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureInfoQueryRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureInfoQueryRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureInfoQueryResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub feature_info: ::prost::alloc::vec::Vec<super::msg::FeatureInfo>,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureInfoQueryResponse {
    const NAME: &'static str = "FeatureInfoQueryResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureInfoQueryResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureInfoQueryResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(int64, tag = "4")]
    pub value: i64,
}
impl ::prost::Name for FeatureIntSetRequest {
    const NAME: &'static str = "FeatureIntSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntSetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntSetRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureIntSetResponse {
    const NAME: &'static str = "FeatureIntSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntSetResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(uint32, repeated, tag = "4")]
    pub buffer: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for FeatureRawSetRequest {
    const NAME: &'static str = "FeatureRawSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawSetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawSetRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureRawSetResponse {
    const NAME: &'static str = "FeatureRawSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawSetResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureBoolSetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
    #[prost(bool, tag = "4")]
    pub value: bool,
}
impl ::prost::Name for FeatureBoolSetRequest {
    const NAME: &'static str = "FeatureBoolSetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolSetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolSetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureBoolSetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureBoolSetResponse {
    const NAME: &'static str = "FeatureBoolSetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolSetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureBoolSetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntInfoGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureIntInfoGetRequest {
    const NAME: &'static str = "FeatureIntInfoGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntInfoGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntInfoGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureIntInfoGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub min: i64,
    #[prost(int64, tag = "3")]
    pub max: i64,
    #[prost(int64, tag = "4")]
    pub inc: i64,
    #[prost(message, optional, tag = "5")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureIntInfoGetResponse {
    const NAME: &'static str = "FeatureIntInfoGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntInfoGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureIntInfoGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumInfoGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureEnumInfoGetRequest {
    const NAME: &'static str = "FeatureEnumInfoGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumInfoGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumInfoGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEnumInfoGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, repeated, tag = "2")]
    pub possible_values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "3")]
    pub available_values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, optional, tag = "4")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureEnumInfoGetResponse {
    const NAME: &'static str = "FeatureEnumInfoGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumInfoGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureEnumInfoGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureFloatGetRequest {
    const NAME: &'static str = "FeatureFloatGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatGetRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatGetRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureFloatGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub value: f64,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureFloatGetResponse {
    const NAME: &'static str = "FeatureFloatGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatGetResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureFloatGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureCommandIsDoneRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureCommandIsDoneRequest {
    const NAME: &'static str = "FeatureCommandIsDoneRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandIsDoneRequest"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandIsDoneRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureCommandIsDoneResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub is_done: bool,
    #[prost(message, optional, tag = "3")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureCommandIsDoneResponse {
    const NAME: &'static str = "FeatureCommandIsDoneResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandIsDoneResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureCommandIsDoneResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawGetRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub feature_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub feature_module: ::core::option::Option<super::msg::FeatureModule>,
}
impl ::prost::Name for FeatureRawGetRequest {
    const NAME: &'static str = "FeatureRawGetRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawGetRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawGetRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRawGetResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, repeated, tag = "2")]
    pub buffer: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub buffer_size: u32,
    #[prost(message, optional, tag = "4")]
    pub error: ::core::option::Option<super::msg::Error>,
}
impl ::prost::Name for FeatureRawGetResponse {
    const NAME: &'static str = "FeatureRawGetResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawGetResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.FeatureRawGetResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatusRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for StatusRequest {
    const NAME: &'static str = "StatusRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.StatusRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.StatusRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatusResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub error: ::core::option::Option<super::msg::Error>,
    #[prost(string, tag = "3")]
    pub display_name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub device_firmware_version: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub device_id: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub device_user_id: ::prost::alloc::string::String,
    #[prost(string, tag = "8")]
    pub device_serial_number: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub interface_id: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub transport_layer_id: ::prost::alloc::string::String,
    #[prost(bool, tag = "11")]
    pub streaming: bool,
    #[prost(uint32, tag = "12")]
    pub width: u32,
    #[prost(uint32, tag = "13")]
    pub height: u32,
    #[prost(double, tag = "14")]
    pub frame_rate: f64,
    #[prost(string, tag = "15")]
    pub pixel_format: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "16")]
    pub trigger_info: ::prost::alloc::vec::Vec<super::msg::TriggerInfo>,
    #[prost(string, tag = "17")]
    pub ip_address: ::prost::alloc::string::String,
    #[prost(string, tag = "18")]
    pub mac_address: ::prost::alloc::string::String,
}
impl ::prost::Name for StatusResponse {
    const NAME: &'static str = "StatusResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.vimbax_camera_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.vimbax_camera_msgs.srv.StatusResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.vimbax_camera_msgs.srv.StatusResponse".into()
    }
}
