// This file is generated by rust-protobuf 3.5.1. Do not edit
// .proto file is parsed by pure
// @generated

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]

//! Generated file from `webuimessages_storagedevicemanager.proto`
// Generated for lite runtime

/// Generated files are compatible only with the same version
/// of protobuf runtime.
const _PROTOBUF_VERSION_CHECK: () = ::steam_vent_proto_common::protobuf::VERSION_3_5_1;

// @@protoc_insertion_point(message:CStorageDeviceManager_IsServiceAvailable_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_IsServiceAvailable_Request {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_IsServiceAvailable_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_IsServiceAvailable_Request {
    fn default() -> &'a CStorageDeviceManager_IsServiceAvailable_Request {
        <CStorageDeviceManager_IsServiceAvailable_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_IsServiceAvailable_Request {
    pub fn new() -> CStorageDeviceManager_IsServiceAvailable_Request {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_IsServiceAvailable_Request {
    const NAME: &'static str = "CStorageDeviceManager_IsServiceAvailable_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_IsServiceAvailable_Request {
        CStorageDeviceManager_IsServiceAvailable_Request::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_IsServiceAvailable_Request {
        static instance: CStorageDeviceManager_IsServiceAvailable_Request = CStorageDeviceManager_IsServiceAvailable_Request {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_IsServiceAvailable_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_IsServiceAvailable_Response {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_IsServiceAvailable_Response.is_available)
    pub is_available: ::std::option::Option<bool>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_IsServiceAvailable_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_IsServiceAvailable_Response {
    fn default() -> &'a CStorageDeviceManager_IsServiceAvailable_Response {
        <CStorageDeviceManager_IsServiceAvailable_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_IsServiceAvailable_Response {
    pub fn new() -> CStorageDeviceManager_IsServiceAvailable_Response {
        ::std::default::Default::default()
    }

    // optional bool is_available = 1;

    pub fn is_available(&self) -> bool {
        self.is_available.unwrap_or(false)
    }

    pub fn clear_is_available(&mut self) {
        self.is_available = ::std::option::Option::None;
    }

    pub fn has_is_available(&self) -> bool {
        self.is_available.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_available(&mut self, v: bool) {
        self.is_available = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_IsServiceAvailable_Response {
    const NAME: &'static str = "CStorageDeviceManager_IsServiceAvailable_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.is_available = ::std::option::Option::Some(is.read_bool()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.is_available {
            my_size += 1 + 1;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.is_available {
            os.write_bool(1, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_IsServiceAvailable_Response {
        CStorageDeviceManager_IsServiceAvailable_Response::new()
    }

    fn clear(&mut self) {
        self.is_available = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_IsServiceAvailable_Response {
        static instance: CStorageDeviceManager_IsServiceAvailable_Response = CStorageDeviceManager_IsServiceAvailable_Response {
            is_available: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManagerDrive)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManagerDrive {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.id)
    pub id: ::std::option::Option<u32>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.model)
    pub model: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.vendor)
    pub vendor: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.serial)
    pub serial: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.is_ejectable)
    pub is_ejectable: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.size_bytes)
    pub size_bytes: ::std::option::Option<u64>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.media_type)
    pub media_type: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<super::enums::EStorageDriveMediaType>>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.is_unformatted)
    pub is_unformatted: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.adopt_stage)
    pub adopt_stage: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<super::enums::EStorageFormatStage>>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.is_formattable)
    pub is_formattable: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerDrive.is_media_available)
    pub is_media_available: ::std::option::Option<bool>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManagerDrive.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManagerDrive {
    fn default() -> &'a CStorageDeviceManagerDrive {
        <CStorageDeviceManagerDrive as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManagerDrive {
    pub fn new() -> CStorageDeviceManagerDrive {
        ::std::default::Default::default()
    }

    // optional uint32 id = 1;

    pub fn id(&self) -> u32 {
        self.id.unwrap_or(0u32)
    }

    pub fn clear_id(&mut self) {
        self.id = ::std::option::Option::None;
    }

    pub fn has_id(&self) -> bool {
        self.id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_id(&mut self, v: u32) {
        self.id = ::std::option::Option::Some(v);
    }

    // optional string model = 2;

    pub fn model(&self) -> &str {
        match self.model.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_model(&mut self) {
        self.model = ::std::option::Option::None;
    }

    pub fn has_model(&self) -> bool {
        self.model.is_some()
    }

    // Param is passed by value, moved
    pub fn set_model(&mut self, v: ::std::string::String) {
        self.model = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_model(&mut self) -> &mut ::std::string::String {
        if self.model.is_none() {
            self.model = ::std::option::Option::Some(::std::string::String::new());
        }
        self.model.as_mut().unwrap()
    }

    // Take field
    pub fn take_model(&mut self) -> ::std::string::String {
        self.model.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string vendor = 3;

    pub fn vendor(&self) -> &str {
        match self.vendor.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_vendor(&mut self) {
        self.vendor = ::std::option::Option::None;
    }

    pub fn has_vendor(&self) -> bool {
        self.vendor.is_some()
    }

    // Param is passed by value, moved
    pub fn set_vendor(&mut self, v: ::std::string::String) {
        self.vendor = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_vendor(&mut self) -> &mut ::std::string::String {
        if self.vendor.is_none() {
            self.vendor = ::std::option::Option::Some(::std::string::String::new());
        }
        self.vendor.as_mut().unwrap()
    }

    // Take field
    pub fn take_vendor(&mut self) -> ::std::string::String {
        self.vendor.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string serial = 4;

    pub fn serial(&self) -> &str {
        match self.serial.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_serial(&mut self) {
        self.serial = ::std::option::Option::None;
    }

    pub fn has_serial(&self) -> bool {
        self.serial.is_some()
    }

    // Param is passed by value, moved
    pub fn set_serial(&mut self, v: ::std::string::String) {
        self.serial = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_serial(&mut self) -> &mut ::std::string::String {
        if self.serial.is_none() {
            self.serial = ::std::option::Option::Some(::std::string::String::new());
        }
        self.serial.as_mut().unwrap()
    }

    // Take field
    pub fn take_serial(&mut self) -> ::std::string::String {
        self.serial.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool is_ejectable = 5;

    pub fn is_ejectable(&self) -> bool {
        self.is_ejectable.unwrap_or(false)
    }

    pub fn clear_is_ejectable(&mut self) {
        self.is_ejectable = ::std::option::Option::None;
    }

    pub fn has_is_ejectable(&self) -> bool {
        self.is_ejectable.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_ejectable(&mut self, v: bool) {
        self.is_ejectable = ::std::option::Option::Some(v);
    }

    // optional uint64 size_bytes = 6;

    pub fn size_bytes(&self) -> u64 {
        self.size_bytes.unwrap_or(0)
    }

    pub fn clear_size_bytes(&mut self) {
        self.size_bytes = ::std::option::Option::None;
    }

    pub fn has_size_bytes(&self) -> bool {
        self.size_bytes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_size_bytes(&mut self, v: u64) {
        self.size_bytes = ::std::option::Option::Some(v);
    }

    // optional .EStorageDriveMediaType media_type = 7;

    pub fn media_type(&self) -> super::enums::EStorageDriveMediaType {
        match self.media_type {
            Some(e) => e.enum_value_or(super::enums::EStorageDriveMediaType::k_EStorageDriveMediaType_Invalid),
            None => super::enums::EStorageDriveMediaType::k_EStorageDriveMediaType_Invalid,
        }
    }

    pub fn clear_media_type(&mut self) {
        self.media_type = ::std::option::Option::None;
    }

    pub fn has_media_type(&self) -> bool {
        self.media_type.is_some()
    }

    // Param is passed by value, moved
    pub fn set_media_type(&mut self, v: super::enums::EStorageDriveMediaType) {
        self.media_type = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
    }

    // optional bool is_unformatted = 8;

    pub fn is_unformatted(&self) -> bool {
        self.is_unformatted.unwrap_or(false)
    }

    pub fn clear_is_unformatted(&mut self) {
        self.is_unformatted = ::std::option::Option::None;
    }

    pub fn has_is_unformatted(&self) -> bool {
        self.is_unformatted.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_unformatted(&mut self, v: bool) {
        self.is_unformatted = ::std::option::Option::Some(v);
    }

    // optional .EStorageFormatStage adopt_stage = 9;

    pub fn adopt_stage(&self) -> super::enums::EStorageFormatStage {
        match self.adopt_stage {
            Some(e) => e.enum_value_or(super::enums::EStorageFormatStage::k_EStorageFormatStage_Invalid),
            None => super::enums::EStorageFormatStage::k_EStorageFormatStage_Invalid,
        }
    }

    pub fn clear_adopt_stage(&mut self) {
        self.adopt_stage = ::std::option::Option::None;
    }

    pub fn has_adopt_stage(&self) -> bool {
        self.adopt_stage.is_some()
    }

    // Param is passed by value, moved
    pub fn set_adopt_stage(&mut self, v: super::enums::EStorageFormatStage) {
        self.adopt_stage = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
    }

    // optional bool is_formattable = 10;

    pub fn is_formattable(&self) -> bool {
        self.is_formattable.unwrap_or(false)
    }

    pub fn clear_is_formattable(&mut self) {
        self.is_formattable = ::std::option::Option::None;
    }

    pub fn has_is_formattable(&self) -> bool {
        self.is_formattable.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_formattable(&mut self, v: bool) {
        self.is_formattable = ::std::option::Option::Some(v);
    }

    // optional bool is_media_available = 11;

    pub fn is_media_available(&self) -> bool {
        self.is_media_available.unwrap_or(false)
    }

    pub fn clear_is_media_available(&mut self) {
        self.is_media_available = ::std::option::Option::None;
    }

    pub fn has_is_media_available(&self) -> bool {
        self.is_media_available.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_media_available(&mut self, v: bool) {
        self.is_media_available = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManagerDrive {
    const NAME: &'static str = "CStorageDeviceManagerDrive";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.id = ::std::option::Option::Some(is.read_uint32()?);
                },
                18 => {
                    self.model = ::std::option::Option::Some(is.read_string()?);
                },
                26 => {
                    self.vendor = ::std::option::Option::Some(is.read_string()?);
                },
                34 => {
                    self.serial = ::std::option::Option::Some(is.read_string()?);
                },
                40 => {
                    self.is_ejectable = ::std::option::Option::Some(is.read_bool()?);
                },
                48 => {
                    self.size_bytes = ::std::option::Option::Some(is.read_uint64()?);
                },
                56 => {
                    self.media_type = ::std::option::Option::Some(is.read_enum_or_unknown()?);
                },
                64 => {
                    self.is_unformatted = ::std::option::Option::Some(is.read_bool()?);
                },
                72 => {
                    self.adopt_stage = ::std::option::Option::Some(is.read_enum_or_unknown()?);
                },
                80 => {
                    self.is_formattable = ::std::option::Option::Some(is.read_bool()?);
                },
                88 => {
                    self.is_media_available = ::std::option::Option::Some(is.read_bool()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        if let Some(v) = self.model.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.vendor.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(3, &v);
        }
        if let Some(v) = self.serial.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(4, &v);
        }
        if let Some(v) = self.is_ejectable {
            my_size += 1 + 1;
        }
        if let Some(v) = self.size_bytes {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint64_size(6, v);
        }
        if let Some(v) = self.media_type {
            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(7, v.value());
        }
        if let Some(v) = self.is_unformatted {
            my_size += 1 + 1;
        }
        if let Some(v) = self.adopt_stage {
            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(9, v.value());
        }
        if let Some(v) = self.is_formattable {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_media_available {
            my_size += 1 + 1;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.id {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.model.as_ref() {
            os.write_string(2, v)?;
        }
        if let Some(v) = self.vendor.as_ref() {
            os.write_string(3, v)?;
        }
        if let Some(v) = self.serial.as_ref() {
            os.write_string(4, v)?;
        }
        if let Some(v) = self.is_ejectable {
            os.write_bool(5, v)?;
        }
        if let Some(v) = self.size_bytes {
            os.write_uint64(6, v)?;
        }
        if let Some(v) = self.media_type {
            os.write_enum(7, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
        }
        if let Some(v) = self.is_unformatted {
            os.write_bool(8, v)?;
        }
        if let Some(v) = self.adopt_stage {
            os.write_enum(9, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
        }
        if let Some(v) = self.is_formattable {
            os.write_bool(10, v)?;
        }
        if let Some(v) = self.is_media_available {
            os.write_bool(11, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManagerDrive {
        CStorageDeviceManagerDrive::new()
    }

    fn clear(&mut self) {
        self.id = ::std::option::Option::None;
        self.model = ::std::option::Option::None;
        self.vendor = ::std::option::Option::None;
        self.serial = ::std::option::Option::None;
        self.is_ejectable = ::std::option::Option::None;
        self.size_bytes = ::std::option::Option::None;
        self.media_type = ::std::option::Option::None;
        self.is_unformatted = ::std::option::Option::None;
        self.adopt_stage = ::std::option::Option::None;
        self.is_formattable = ::std::option::Option::None;
        self.is_media_available = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManagerDrive {
        static instance: CStorageDeviceManagerDrive = CStorageDeviceManagerDrive {
            id: ::std::option::Option::None,
            model: ::std::option::Option::None,
            vendor: ::std::option::Option::None,
            serial: ::std::option::Option::None,
            is_ejectable: ::std::option::Option::None,
            size_bytes: ::std::option::Option::None,
            media_type: ::std::option::Option::None,
            is_unformatted: ::std::option::Option::None,
            adopt_stage: ::std::option::Option::None,
            is_formattable: ::std::option::Option::None,
            is_media_available: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManagerBlockDevice)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManagerBlockDevice {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.id)
    pub id: ::std::option::Option<u32>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.drive_id)
    pub drive_id: ::std::option::Option<u32>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.path)
    pub path: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.friendly_path)
    pub friendly_path: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.label)
    pub label: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.size_bytes)
    pub size_bytes: ::std::option::Option<u64>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.is_formattable)
    pub is_formattable: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.is_read_only)
    pub is_read_only: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.is_root_device)
    pub is_root_device: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.content_type)
    pub content_type: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<super::enums::EStorageBlockContentType>>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.filesystem_type)
    pub filesystem_type: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<super::enums::EStorageBlockFileSystemType>>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.mount_paths)
    pub mount_paths: ::std::vec::Vec<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.is_unmounting)
    pub is_unmounting: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerBlockDevice.has_steam_library)
    pub has_steam_library: ::std::option::Option<bool>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManagerBlockDevice.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManagerBlockDevice {
    fn default() -> &'a CStorageDeviceManagerBlockDevice {
        <CStorageDeviceManagerBlockDevice as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManagerBlockDevice {
    pub fn new() -> CStorageDeviceManagerBlockDevice {
        ::std::default::Default::default()
    }

    // optional uint32 id = 1;

    pub fn id(&self) -> u32 {
        self.id.unwrap_or(0u32)
    }

    pub fn clear_id(&mut self) {
        self.id = ::std::option::Option::None;
    }

    pub fn has_id(&self) -> bool {
        self.id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_id(&mut self, v: u32) {
        self.id = ::std::option::Option::Some(v);
    }

    // optional uint32 drive_id = 2;

    pub fn drive_id(&self) -> u32 {
        self.drive_id.unwrap_or(0u32)
    }

    pub fn clear_drive_id(&mut self) {
        self.drive_id = ::std::option::Option::None;
    }

    pub fn has_drive_id(&self) -> bool {
        self.drive_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_drive_id(&mut self, v: u32) {
        self.drive_id = ::std::option::Option::Some(v);
    }

    // optional string path = 3;

    pub fn path(&self) -> &str {
        match self.path.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_path(&mut self) {
        self.path = ::std::option::Option::None;
    }

    pub fn has_path(&self) -> bool {
        self.path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_path(&mut self, v: ::std::string::String) {
        self.path = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_path(&mut self) -> &mut ::std::string::String {
        if self.path.is_none() {
            self.path = ::std::option::Option::Some(::std::string::String::new());
        }
        self.path.as_mut().unwrap()
    }

    // Take field
    pub fn take_path(&mut self) -> ::std::string::String {
        self.path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string friendly_path = 4;

    pub fn friendly_path(&self) -> &str {
        match self.friendly_path.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_friendly_path(&mut self) {
        self.friendly_path = ::std::option::Option::None;
    }

    pub fn has_friendly_path(&self) -> bool {
        self.friendly_path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_friendly_path(&mut self, v: ::std::string::String) {
        self.friendly_path = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_friendly_path(&mut self) -> &mut ::std::string::String {
        if self.friendly_path.is_none() {
            self.friendly_path = ::std::option::Option::Some(::std::string::String::new());
        }
        self.friendly_path.as_mut().unwrap()
    }

    // Take field
    pub fn take_friendly_path(&mut self) -> ::std::string::String {
        self.friendly_path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string label = 5;

    pub fn label(&self) -> &str {
        match self.label.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_label(&mut self) {
        self.label = ::std::option::Option::None;
    }

    pub fn has_label(&self) -> bool {
        self.label.is_some()
    }

    // Param is passed by value, moved
    pub fn set_label(&mut self, v: ::std::string::String) {
        self.label = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_label(&mut self) -> &mut ::std::string::String {
        if self.label.is_none() {
            self.label = ::std::option::Option::Some(::std::string::String::new());
        }
        self.label.as_mut().unwrap()
    }

    // Take field
    pub fn take_label(&mut self) -> ::std::string::String {
        self.label.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional uint64 size_bytes = 6;

    pub fn size_bytes(&self) -> u64 {
        self.size_bytes.unwrap_or(0)
    }

    pub fn clear_size_bytes(&mut self) {
        self.size_bytes = ::std::option::Option::None;
    }

    pub fn has_size_bytes(&self) -> bool {
        self.size_bytes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_size_bytes(&mut self, v: u64) {
        self.size_bytes = ::std::option::Option::Some(v);
    }

    // optional bool is_formattable = 7;

    pub fn is_formattable(&self) -> bool {
        self.is_formattable.unwrap_or(false)
    }

    pub fn clear_is_formattable(&mut self) {
        self.is_formattable = ::std::option::Option::None;
    }

    pub fn has_is_formattable(&self) -> bool {
        self.is_formattable.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_formattable(&mut self, v: bool) {
        self.is_formattable = ::std::option::Option::Some(v);
    }

    // optional bool is_read_only = 8;

    pub fn is_read_only(&self) -> bool {
        self.is_read_only.unwrap_or(false)
    }

    pub fn clear_is_read_only(&mut self) {
        self.is_read_only = ::std::option::Option::None;
    }

    pub fn has_is_read_only(&self) -> bool {
        self.is_read_only.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_read_only(&mut self, v: bool) {
        self.is_read_only = ::std::option::Option::Some(v);
    }

    // optional bool is_root_device = 9;

    pub fn is_root_device(&self) -> bool {
        self.is_root_device.unwrap_or(false)
    }

    pub fn clear_is_root_device(&mut self) {
        self.is_root_device = ::std::option::Option::None;
    }

    pub fn has_is_root_device(&self) -> bool {
        self.is_root_device.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_root_device(&mut self, v: bool) {
        self.is_root_device = ::std::option::Option::Some(v);
    }

    // optional .EStorageBlockContentType content_type = 10;

    pub fn content_type(&self) -> super::enums::EStorageBlockContentType {
        match self.content_type {
            Some(e) => e.enum_value_or(super::enums::EStorageBlockContentType::k_EStorageBlockContentType_Invalid),
            None => super::enums::EStorageBlockContentType::k_EStorageBlockContentType_Invalid,
        }
    }

    pub fn clear_content_type(&mut self) {
        self.content_type = ::std::option::Option::None;
    }

    pub fn has_content_type(&self) -> bool {
        self.content_type.is_some()
    }

    // Param is passed by value, moved
    pub fn set_content_type(&mut self, v: super::enums::EStorageBlockContentType) {
        self.content_type = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
    }

    // optional .EStorageBlockFileSystemType filesystem_type = 11;

    pub fn filesystem_type(&self) -> super::enums::EStorageBlockFileSystemType {
        match self.filesystem_type {
            Some(e) => e.enum_value_or(super::enums::EStorageBlockFileSystemType::k_EStorageBlockFileSystemType_Invalid),
            None => super::enums::EStorageBlockFileSystemType::k_EStorageBlockFileSystemType_Invalid,
        }
    }

    pub fn clear_filesystem_type(&mut self) {
        self.filesystem_type = ::std::option::Option::None;
    }

    pub fn has_filesystem_type(&self) -> bool {
        self.filesystem_type.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filesystem_type(&mut self, v: super::enums::EStorageBlockFileSystemType) {
        self.filesystem_type = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
    }

    // optional bool is_unmounting = 13;

    pub fn is_unmounting(&self) -> bool {
        self.is_unmounting.unwrap_or(false)
    }

    pub fn clear_is_unmounting(&mut self) {
        self.is_unmounting = ::std::option::Option::None;
    }

    pub fn has_is_unmounting(&self) -> bool {
        self.is_unmounting.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_unmounting(&mut self, v: bool) {
        self.is_unmounting = ::std::option::Option::Some(v);
    }

    // optional bool has_steam_library = 14;

    pub fn has_steam_library(&self) -> bool {
        self.has_steam_library.unwrap_or(false)
    }

    pub fn clear_has_steam_library(&mut self) {
        self.has_steam_library = ::std::option::Option::None;
    }

    pub fn has_has_steam_library(&self) -> bool {
        self.has_steam_library.is_some()
    }

    // Param is passed by value, moved
    pub fn set_has_steam_library(&mut self, v: bool) {
        self.has_steam_library = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManagerBlockDevice {
    const NAME: &'static str = "CStorageDeviceManagerBlockDevice";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.id = ::std::option::Option::Some(is.read_uint32()?);
                },
                16 => {
                    self.drive_id = ::std::option::Option::Some(is.read_uint32()?);
                },
                26 => {
                    self.path = ::std::option::Option::Some(is.read_string()?);
                },
                34 => {
                    self.friendly_path = ::std::option::Option::Some(is.read_string()?);
                },
                42 => {
                    self.label = ::std::option::Option::Some(is.read_string()?);
                },
                48 => {
                    self.size_bytes = ::std::option::Option::Some(is.read_uint64()?);
                },
                56 => {
                    self.is_formattable = ::std::option::Option::Some(is.read_bool()?);
                },
                64 => {
                    self.is_read_only = ::std::option::Option::Some(is.read_bool()?);
                },
                72 => {
                    self.is_root_device = ::std::option::Option::Some(is.read_bool()?);
                },
                80 => {
                    self.content_type = ::std::option::Option::Some(is.read_enum_or_unknown()?);
                },
                88 => {
                    self.filesystem_type = ::std::option::Option::Some(is.read_enum_or_unknown()?);
                },
                98 => {
                    self.mount_paths.push(is.read_string()?);
                },
                104 => {
                    self.is_unmounting = ::std::option::Option::Some(is.read_bool()?);
                },
                112 => {
                    self.has_steam_library = ::std::option::Option::Some(is.read_bool()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        if let Some(v) = self.drive_id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(2, v);
        }
        if let Some(v) = self.path.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(3, &v);
        }
        if let Some(v) = self.friendly_path.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(4, &v);
        }
        if let Some(v) = self.label.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(5, &v);
        }
        if let Some(v) = self.size_bytes {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint64_size(6, v);
        }
        if let Some(v) = self.is_formattable {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_read_only {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_root_device {
            my_size += 1 + 1;
        }
        if let Some(v) = self.content_type {
            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(10, v.value());
        }
        if let Some(v) = self.filesystem_type {
            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(11, v.value());
        }
        for value in &self.mount_paths {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(12, &value);
        };
        if let Some(v) = self.is_unmounting {
            my_size += 1 + 1;
        }
        if let Some(v) = self.has_steam_library {
            my_size += 1 + 1;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.id {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.drive_id {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.path.as_ref() {
            os.write_string(3, v)?;
        }
        if let Some(v) = self.friendly_path.as_ref() {
            os.write_string(4, v)?;
        }
        if let Some(v) = self.label.as_ref() {
            os.write_string(5, v)?;
        }
        if let Some(v) = self.size_bytes {
            os.write_uint64(6, v)?;
        }
        if let Some(v) = self.is_formattable {
            os.write_bool(7, v)?;
        }
        if let Some(v) = self.is_read_only {
            os.write_bool(8, v)?;
        }
        if let Some(v) = self.is_root_device {
            os.write_bool(9, v)?;
        }
        if let Some(v) = self.content_type {
            os.write_enum(10, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
        }
        if let Some(v) = self.filesystem_type {
            os.write_enum(11, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
        }
        for v in &self.mount_paths {
            os.write_string(12, &v)?;
        };
        if let Some(v) = self.is_unmounting {
            os.write_bool(13, v)?;
        }
        if let Some(v) = self.has_steam_library {
            os.write_bool(14, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManagerBlockDevice {
        CStorageDeviceManagerBlockDevice::new()
    }

    fn clear(&mut self) {
        self.id = ::std::option::Option::None;
        self.drive_id = ::std::option::Option::None;
        self.path = ::std::option::Option::None;
        self.friendly_path = ::std::option::Option::None;
        self.label = ::std::option::Option::None;
        self.size_bytes = ::std::option::Option::None;
        self.is_formattable = ::std::option::Option::None;
        self.is_read_only = ::std::option::Option::None;
        self.is_root_device = ::std::option::Option::None;
        self.content_type = ::std::option::Option::None;
        self.filesystem_type = ::std::option::Option::None;
        self.mount_paths.clear();
        self.is_unmounting = ::std::option::Option::None;
        self.has_steam_library = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManagerBlockDevice {
        static instance: CStorageDeviceManagerBlockDevice = CStorageDeviceManagerBlockDevice {
            id: ::std::option::Option::None,
            drive_id: ::std::option::Option::None,
            path: ::std::option::Option::None,
            friendly_path: ::std::option::Option::None,
            label: ::std::option::Option::None,
            size_bytes: ::std::option::Option::None,
            is_formattable: ::std::option::Option::None,
            is_read_only: ::std::option::Option::None,
            is_root_device: ::std::option::Option::None,
            content_type: ::std::option::Option::None,
            filesystem_type: ::std::option::Option::None,
            mount_paths: ::std::vec::Vec::new(),
            is_unmounting: ::std::option::Option::None,
            has_steam_library: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManagerState)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManagerState {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.drives)
    pub drives: ::std::vec::Vec<CStorageDeviceManagerDrive>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.block_devices)
    pub block_devices: ::std::vec::Vec<CStorageDeviceManagerBlockDevice>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.is_unmount_supported)
    pub is_unmount_supported: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.is_trim_supported)
    pub is_trim_supported: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.is_trim_running)
    pub is_trim_running: ::std::option::Option<bool>,
    // @@protoc_insertion_point(field:CStorageDeviceManagerState.is_adopt_supported)
    pub is_adopt_supported: ::std::option::Option<bool>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManagerState.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManagerState {
    fn default() -> &'a CStorageDeviceManagerState {
        <CStorageDeviceManagerState as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManagerState {
    pub fn new() -> CStorageDeviceManagerState {
        ::std::default::Default::default()
    }

    // optional bool is_unmount_supported = 3;

    pub fn is_unmount_supported(&self) -> bool {
        self.is_unmount_supported.unwrap_or(false)
    }

    pub fn clear_is_unmount_supported(&mut self) {
        self.is_unmount_supported = ::std::option::Option::None;
    }

    pub fn has_is_unmount_supported(&self) -> bool {
        self.is_unmount_supported.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_unmount_supported(&mut self, v: bool) {
        self.is_unmount_supported = ::std::option::Option::Some(v);
    }

    // optional bool is_trim_supported = 4;

    pub fn is_trim_supported(&self) -> bool {
        self.is_trim_supported.unwrap_or(false)
    }

    pub fn clear_is_trim_supported(&mut self) {
        self.is_trim_supported = ::std::option::Option::None;
    }

    pub fn has_is_trim_supported(&self) -> bool {
        self.is_trim_supported.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_trim_supported(&mut self, v: bool) {
        self.is_trim_supported = ::std::option::Option::Some(v);
    }

    // optional bool is_trim_running = 5;

    pub fn is_trim_running(&self) -> bool {
        self.is_trim_running.unwrap_or(false)
    }

    pub fn clear_is_trim_running(&mut self) {
        self.is_trim_running = ::std::option::Option::None;
    }

    pub fn has_is_trim_running(&self) -> bool {
        self.is_trim_running.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_trim_running(&mut self, v: bool) {
        self.is_trim_running = ::std::option::Option::Some(v);
    }

    // optional bool is_adopt_supported = 6;

    pub fn is_adopt_supported(&self) -> bool {
        self.is_adopt_supported.unwrap_or(false)
    }

    pub fn clear_is_adopt_supported(&mut self) {
        self.is_adopt_supported = ::std::option::Option::None;
    }

    pub fn has_is_adopt_supported(&self) -> bool {
        self.is_adopt_supported.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_adopt_supported(&mut self, v: bool) {
        self.is_adopt_supported = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManagerState {
    const NAME: &'static str = "CStorageDeviceManagerState";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                10 => {
                    self.drives.push(is.read_message()?);
                },
                18 => {
                    self.block_devices.push(is.read_message()?);
                },
                24 => {
                    self.is_unmount_supported = ::std::option::Option::Some(is.read_bool()?);
                },
                32 => {
                    self.is_trim_supported = ::std::option::Option::Some(is.read_bool()?);
                },
                40 => {
                    self.is_trim_running = ::std::option::Option::Some(is.read_bool()?);
                },
                48 => {
                    self.is_adopt_supported = ::std::option::Option::Some(is.read_bool()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        for value in &self.drives {
            let len = value.compute_size();
            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
        };
        for value in &self.block_devices {
            let len = value.compute_size();
            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
        };
        if let Some(v) = self.is_unmount_supported {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_trim_supported {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_trim_running {
            my_size += 1 + 1;
        }
        if let Some(v) = self.is_adopt_supported {
            my_size += 1 + 1;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        for v in &self.drives {
            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
        };
        for v in &self.block_devices {
            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
        };
        if let Some(v) = self.is_unmount_supported {
            os.write_bool(3, v)?;
        }
        if let Some(v) = self.is_trim_supported {
            os.write_bool(4, v)?;
        }
        if let Some(v) = self.is_trim_running {
            os.write_bool(5, v)?;
        }
        if let Some(v) = self.is_adopt_supported {
            os.write_bool(6, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManagerState {
        CStorageDeviceManagerState::new()
    }

    fn clear(&mut self) {
        self.drives.clear();
        self.block_devices.clear();
        self.is_unmount_supported = ::std::option::Option::None;
        self.is_trim_supported = ::std::option::Option::None;
        self.is_trim_running = ::std::option::Option::None;
        self.is_adopt_supported = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManagerState {
        static instance: CStorageDeviceManagerState = CStorageDeviceManagerState {
            drives: ::std::vec::Vec::new(),
            block_devices: ::std::vec::Vec::new(),
            is_unmount_supported: ::std::option::Option::None,
            is_trim_supported: ::std::option::Option::None,
            is_trim_running: ::std::option::Option::None,
            is_adopt_supported: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_GetState_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_GetState_Request {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_GetState_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_GetState_Request {
    fn default() -> &'a CStorageDeviceManager_GetState_Request {
        <CStorageDeviceManager_GetState_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_GetState_Request {
    pub fn new() -> CStorageDeviceManager_GetState_Request {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_GetState_Request {
    const NAME: &'static str = "CStorageDeviceManager_GetState_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_GetState_Request {
        CStorageDeviceManager_GetState_Request::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_GetState_Request {
        static instance: CStorageDeviceManager_GetState_Request = CStorageDeviceManager_GetState_Request {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_GetState_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_GetState_Response {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_GetState_Response.state)
    pub state: ::steam_vent_proto_common::protobuf::MessageField<CStorageDeviceManagerState>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_GetState_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_GetState_Response {
    fn default() -> &'a CStorageDeviceManager_GetState_Response {
        <CStorageDeviceManager_GetState_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_GetState_Response {
    pub fn new() -> CStorageDeviceManager_GetState_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_GetState_Response {
    const NAME: &'static str = "CStorageDeviceManager_GetState_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                10 => {
                    ::steam_vent_proto_common::protobuf::rt::read_singular_message_into_field(is, &mut self.state)?;
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.state.as_ref() {
            let len = v.compute_size();
            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.state.as_ref() {
            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_GetState_Response {
        CStorageDeviceManager_GetState_Response::new()
    }

    fn clear(&mut self) {
        self.state.clear();
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_GetState_Response {
        static instance: CStorageDeviceManager_GetState_Response = CStorageDeviceManager_GetState_Response {
            state: ::steam_vent_proto_common::protobuf::MessageField::none(),
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_StateChanged_Notification)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_StateChanged_Notification {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_StateChanged_Notification.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_StateChanged_Notification {
    fn default() -> &'a CStorageDeviceManager_StateChanged_Notification {
        <CStorageDeviceManager_StateChanged_Notification as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_StateChanged_Notification {
    pub fn new() -> CStorageDeviceManager_StateChanged_Notification {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_StateChanged_Notification {
    const NAME: &'static str = "CStorageDeviceManager_StateChanged_Notification";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_StateChanged_Notification {
        CStorageDeviceManager_StateChanged_Notification::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_StateChanged_Notification {
        static instance: CStorageDeviceManager_StateChanged_Notification = CStorageDeviceManager_StateChanged_Notification {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Eject_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Eject_Request {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_Eject_Request.drive_id)
    pub drive_id: ::std::option::Option<u32>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Eject_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Eject_Request {
    fn default() -> &'a CStorageDeviceManager_Eject_Request {
        <CStorageDeviceManager_Eject_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Eject_Request {
    pub fn new() -> CStorageDeviceManager_Eject_Request {
        ::std::default::Default::default()
    }

    // optional uint32 drive_id = 1;

    pub fn drive_id(&self) -> u32 {
        self.drive_id.unwrap_or(0)
    }

    pub fn clear_drive_id(&mut self) {
        self.drive_id = ::std::option::Option::None;
    }

    pub fn has_drive_id(&self) -> bool {
        self.drive_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_drive_id(&mut self, v: u32) {
        self.drive_id = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Eject_Request {
    const NAME: &'static str = "CStorageDeviceManager_Eject_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.drive_id = ::std::option::Option::Some(is.read_uint32()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.drive_id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.drive_id {
            os.write_uint32(1, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Eject_Request {
        CStorageDeviceManager_Eject_Request::new()
    }

    fn clear(&mut self) {
        self.drive_id = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Eject_Request {
        static instance: CStorageDeviceManager_Eject_Request = CStorageDeviceManager_Eject_Request {
            drive_id: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Eject_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Eject_Response {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Eject_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Eject_Response {
    fn default() -> &'a CStorageDeviceManager_Eject_Response {
        <CStorageDeviceManager_Eject_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Eject_Response {
    pub fn new() -> CStorageDeviceManager_Eject_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Eject_Response {
    const NAME: &'static str = "CStorageDeviceManager_Eject_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Eject_Response {
        CStorageDeviceManager_Eject_Response::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Eject_Response {
        static instance: CStorageDeviceManager_Eject_Response = CStorageDeviceManager_Eject_Response {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Adopt_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Adopt_Request {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_Adopt_Request.drive_id)
    pub drive_id: ::std::option::Option<u32>,
    // @@protoc_insertion_point(field:CStorageDeviceManager_Adopt_Request.label)
    pub label: ::std::option::Option<::std::string::String>,
    // @@protoc_insertion_point(field:CStorageDeviceManager_Adopt_Request.validate)
    pub validate: ::std::option::Option<bool>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Adopt_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Adopt_Request {
    fn default() -> &'a CStorageDeviceManager_Adopt_Request {
        <CStorageDeviceManager_Adopt_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Adopt_Request {
    pub fn new() -> CStorageDeviceManager_Adopt_Request {
        ::std::default::Default::default()
    }

    // optional uint32 drive_id = 1;

    pub fn drive_id(&self) -> u32 {
        self.drive_id.unwrap_or(0)
    }

    pub fn clear_drive_id(&mut self) {
        self.drive_id = ::std::option::Option::None;
    }

    pub fn has_drive_id(&self) -> bool {
        self.drive_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_drive_id(&mut self, v: u32) {
        self.drive_id = ::std::option::Option::Some(v);
    }

    // optional string label = 2;

    pub fn label(&self) -> &str {
        match self.label.as_ref() {
            Some(v) => v,
            None => "",
        }
    }

    pub fn clear_label(&mut self) {
        self.label = ::std::option::Option::None;
    }

    pub fn has_label(&self) -> bool {
        self.label.is_some()
    }

    // Param is passed by value, moved
    pub fn set_label(&mut self, v: ::std::string::String) {
        self.label = ::std::option::Option::Some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_label(&mut self) -> &mut ::std::string::String {
        if self.label.is_none() {
            self.label = ::std::option::Option::Some(::std::string::String::new());
        }
        self.label.as_mut().unwrap()
    }

    // Take field
    pub fn take_label(&mut self) -> ::std::string::String {
        self.label.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool validate = 3;

    pub fn validate(&self) -> bool {
        self.validate.unwrap_or(false)
    }

    pub fn clear_validate(&mut self) {
        self.validate = ::std::option::Option::None;
    }

    pub fn has_validate(&self) -> bool {
        self.validate.is_some()
    }

    // Param is passed by value, moved
    pub fn set_validate(&mut self, v: bool) {
        self.validate = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Adopt_Request {
    const NAME: &'static str = "CStorageDeviceManager_Adopt_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.drive_id = ::std::option::Option::Some(is.read_uint32()?);
                },
                18 => {
                    self.label = ::std::option::Option::Some(is.read_string()?);
                },
                24 => {
                    self.validate = ::std::option::Option::Some(is.read_bool()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.drive_id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        if let Some(v) = self.label.as_ref() {
            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.validate {
            my_size += 1 + 1;
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.drive_id {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.label.as_ref() {
            os.write_string(2, v)?;
        }
        if let Some(v) = self.validate {
            os.write_bool(3, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Adopt_Request {
        CStorageDeviceManager_Adopt_Request::new()
    }

    fn clear(&mut self) {
        self.drive_id = ::std::option::Option::None;
        self.label = ::std::option::Option::None;
        self.validate = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Adopt_Request {
        static instance: CStorageDeviceManager_Adopt_Request = CStorageDeviceManager_Adopt_Request {
            drive_id: ::std::option::Option::None,
            label: ::std::option::Option::None,
            validate: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Adopt_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Adopt_Response {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Adopt_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Adopt_Response {
    fn default() -> &'a CStorageDeviceManager_Adopt_Response {
        <CStorageDeviceManager_Adopt_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Adopt_Response {
    pub fn new() -> CStorageDeviceManager_Adopt_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Adopt_Response {
    const NAME: &'static str = "CStorageDeviceManager_Adopt_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Adopt_Response {
        CStorageDeviceManager_Adopt_Response::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Adopt_Response {
        static instance: CStorageDeviceManager_Adopt_Response = CStorageDeviceManager_Adopt_Response {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Format_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Format_Request {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_Format_Request.block_device_id)
    pub block_device_id: ::std::option::Option<u32>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Format_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Format_Request {
    fn default() -> &'a CStorageDeviceManager_Format_Request {
        <CStorageDeviceManager_Format_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Format_Request {
    pub fn new() -> CStorageDeviceManager_Format_Request {
        ::std::default::Default::default()
    }

    // optional uint32 block_device_id = 1;

    pub fn block_device_id(&self) -> u32 {
        self.block_device_id.unwrap_or(0)
    }

    pub fn clear_block_device_id(&mut self) {
        self.block_device_id = ::std::option::Option::None;
    }

    pub fn has_block_device_id(&self) -> bool {
        self.block_device_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_block_device_id(&mut self, v: u32) {
        self.block_device_id = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Format_Request {
    const NAME: &'static str = "CStorageDeviceManager_Format_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.block_device_id = ::std::option::Option::Some(is.read_uint32()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.block_device_id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.block_device_id {
            os.write_uint32(1, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Format_Request {
        CStorageDeviceManager_Format_Request::new()
    }

    fn clear(&mut self) {
        self.block_device_id = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Format_Request {
        static instance: CStorageDeviceManager_Format_Request = CStorageDeviceManager_Format_Request {
            block_device_id: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Format_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Format_Response {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Format_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Format_Response {
    fn default() -> &'a CStorageDeviceManager_Format_Response {
        <CStorageDeviceManager_Format_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Format_Response {
    pub fn new() -> CStorageDeviceManager_Format_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Format_Response {
    const NAME: &'static str = "CStorageDeviceManager_Format_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Format_Response {
        CStorageDeviceManager_Format_Response::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Format_Response {
        static instance: CStorageDeviceManager_Format_Response = CStorageDeviceManager_Format_Response {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Unmount_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Unmount_Request {
    // message fields
    // @@protoc_insertion_point(field:CStorageDeviceManager_Unmount_Request.block_device_id)
    pub block_device_id: ::std::option::Option<u32>,
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Unmount_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Unmount_Request {
    fn default() -> &'a CStorageDeviceManager_Unmount_Request {
        <CStorageDeviceManager_Unmount_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Unmount_Request {
    pub fn new() -> CStorageDeviceManager_Unmount_Request {
        ::std::default::Default::default()
    }

    // optional uint32 block_device_id = 1;

    pub fn block_device_id(&self) -> u32 {
        self.block_device_id.unwrap_or(0)
    }

    pub fn clear_block_device_id(&mut self) {
        self.block_device_id = ::std::option::Option::None;
    }

    pub fn has_block_device_id(&self) -> bool {
        self.block_device_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_block_device_id(&mut self, v: u32) {
        self.block_device_id = ::std::option::Option::Some(v);
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Unmount_Request {
    const NAME: &'static str = "CStorageDeviceManager_Unmount_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                8 => {
                    self.block_device_id = ::std::option::Option::Some(is.read_uint32()?);
                },
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if let Some(v) = self.block_device_id {
            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
        }
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        if let Some(v) = self.block_device_id {
            os.write_uint32(1, v)?;
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Unmount_Request {
        CStorageDeviceManager_Unmount_Request::new()
    }

    fn clear(&mut self) {
        self.block_device_id = ::std::option::Option::None;
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Unmount_Request {
        static instance: CStorageDeviceManager_Unmount_Request = CStorageDeviceManager_Unmount_Request {
            block_device_id: ::std::option::Option::None,
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_Unmount_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_Unmount_Response {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_Unmount_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_Unmount_Response {
    fn default() -> &'a CStorageDeviceManager_Unmount_Response {
        <CStorageDeviceManager_Unmount_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_Unmount_Response {
    pub fn new() -> CStorageDeviceManager_Unmount_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_Unmount_Response {
    const NAME: &'static str = "CStorageDeviceManager_Unmount_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_Unmount_Response {
        CStorageDeviceManager_Unmount_Response::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_Unmount_Response {
        static instance: CStorageDeviceManager_Unmount_Response = CStorageDeviceManager_Unmount_Response {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_TrimAll_Request)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_TrimAll_Request {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_TrimAll_Request.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_TrimAll_Request {
    fn default() -> &'a CStorageDeviceManager_TrimAll_Request {
        <CStorageDeviceManager_TrimAll_Request as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_TrimAll_Request {
    pub fn new() -> CStorageDeviceManager_TrimAll_Request {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_TrimAll_Request {
    const NAME: &'static str = "CStorageDeviceManager_TrimAll_Request";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_TrimAll_Request {
        CStorageDeviceManager_TrimAll_Request::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_TrimAll_Request {
        static instance: CStorageDeviceManager_TrimAll_Request = CStorageDeviceManager_TrimAll_Request {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}

// @@protoc_insertion_point(message:CStorageDeviceManager_TrimAll_Response)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct CStorageDeviceManager_TrimAll_Response {
    // special fields
    // @@protoc_insertion_point(special_field:CStorageDeviceManager_TrimAll_Response.special_fields)
    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a CStorageDeviceManager_TrimAll_Response {
    fn default() -> &'a CStorageDeviceManager_TrimAll_Response {
        <CStorageDeviceManager_TrimAll_Response as ::steam_vent_proto_common::protobuf::Message>::default_instance()
    }
}

impl CStorageDeviceManager_TrimAll_Response {
    pub fn new() -> CStorageDeviceManager_TrimAll_Response {
        ::std::default::Default::default()
    }
}

impl ::steam_vent_proto_common::protobuf::Message for CStorageDeviceManager_TrimAll_Response {
    const NAME: &'static str = "CStorageDeviceManager_TrimAll_Response";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                tag => {
                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> CStorageDeviceManager_TrimAll_Response {
        CStorageDeviceManager_TrimAll_Response::new()
    }

    fn clear(&mut self) {
        self.special_fields.clear();
    }

    fn default_instance() -> &'static CStorageDeviceManager_TrimAll_Response {
        static instance: CStorageDeviceManager_TrimAll_Response = CStorageDeviceManager_TrimAll_Response {
            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
        };
        &instance
    }
}


const _VENT_PROTO_VERSION_CHECK: () = ::steam_vent_proto_common::VERSION_0_5_0;

#[allow(unused_imports)]
use crate::enums::*;
#[allow(unused_imports)]
use crate::steammessages_base::*;
#[allow(unused_imports)]
use crate::webuimessages_base::*;
impl ::steam_vent_proto_common::RpcMessage
for CStorageDeviceManager_IsServiceAvailable_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage
for CStorageDeviceManager_IsServiceAvailable_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManagerDrive {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManagerBlockDevice {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManagerState {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_GetState_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_GetState_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage
for CStorageDeviceManager_StateChanged_Notification {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Eject_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Eject_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Adopt_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Adopt_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Format_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Format_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Unmount_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_Unmount_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_TrimAll_Request {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
impl ::steam_vent_proto_common::RpcMessage for CStorageDeviceManager_TrimAll_Response {
    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
    }
    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
        use ::steam_vent_proto_common::protobuf::Message;
        self.write_to_writer(writer)
    }
    fn encode_size(&self) -> usize {
        use ::steam_vent_proto_common::protobuf::Message;
        self.compute_size() as usize
    }
}
///
struct StorageDeviceManager {}
impl ::steam_vent_proto_common::RpcService for StorageDeviceManager {
    const SERVICE_NAME: &'static str = "StorageDeviceManager";
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_Adopt_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.Adopt#1";
    type Response = CStorageDeviceManager_Adopt_Response;
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_Eject_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.Eject#1";
    type Response = CStorageDeviceManager_Eject_Response;
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_Format_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.Format#1";
    type Response = CStorageDeviceManager_Format_Response;
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_GetState_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.GetState#1";
    type Response = CStorageDeviceManager_GetState_Response;
}
impl ::steam_vent_proto_common::RpcMethod
for CStorageDeviceManager_IsServiceAvailable_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.IsServiceAvailable#1";
    type Response = CStorageDeviceManager_IsServiceAvailable_Response;
}
impl ::steam_vent_proto_common::RpcMethod
for CStorageDeviceManager_StateChanged_Notification {
    const METHOD_NAME: &'static str = "StorageDeviceManager.NotifyStateChanged#1";
    type Response = WebUINoResponse;
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_TrimAll_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.TrimAll#1";
    type Response = CStorageDeviceManager_TrimAll_Response;
}
impl ::steam_vent_proto_common::RpcMethod for CStorageDeviceManager_Unmount_Request {
    const METHOD_NAME: &'static str = "StorageDeviceManager.Unmount#1";
    type Response = CStorageDeviceManager_Unmount_Response;
}
