// This file is @generated by prost-build. #[derive(Clone, PartialEq, ::prost::Message)] pub struct NetClassBoardSettings { #[prost(message, optional, tag = "1")] pub clearance: ::core::option::Option, #[prost(message, optional, tag = "2")] pub track_width: ::core::option::Option, #[prost(message, optional, tag = "3")] pub diff_pair_track_width: ::core::option::Option, #[prost(message, optional, tag = "4")] pub diff_pair_gap: ::core::option::Option, #[prost(message, optional, tag = "5")] pub diff_pair_via_gap: ::core::option::Option, /// The default padstack to use for vias belonging to this netclass /// Currently KiCad only supports specifying the drill diameter and annular size on all layers for /// netclass via stacks. Complex padstacks and other via features cannot be specified here. #[prost(message, optional, tag = "6")] pub via_stack: ::core::option::Option, /// The default padstack to use for microvias belonging to this netclass /// Currently KiCad only supports specifying the drill diameter and annular size on all layers for /// netclass via stacks. Complex padstacks and other via features cannot be specified here. #[prost(message, optional, tag = "7")] pub microvia_stack: ::core::option::Option, #[prost(message, optional, tag = "8")] pub color: ::core::option::Option, /// Since 10.0.0 #[prost(string, optional, tag = "9")] pub tuning_profile: ::core::option::Option<::prost::alloc::string::String>, } #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct NetClassSchematicSettings { #[prost(message, optional, tag = "1")] pub wire_width: ::core::option::Option, #[prost(message, optional, tag = "2")] pub bus_width: ::core::option::Option, #[prost(message, optional, tag = "3")] pub color: ::core::option::Option, #[prost(enumeration = "super::types::StrokeLineStyle", optional, tag = "4")] pub line_style: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct NetClass { /// The name of the netclass (the literal string "Default" for the default netclass) /// May be empty for composite netclasses #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, #[prost(int32, optional, tag = "2")] pub priority: ::core::option::Option, #[prost(message, optional, tag = "3")] pub board: ::core::option::Option, #[prost(message, optional, tag = "4")] pub schematic: ::core::option::Option, #[prost(enumeration = "NetClassType", tag = "5")] pub r#type: i32, /// If this is a composite netclass, a list of the names of the "real" netclasses that make it up #[prost(string, repeated, tag = "6")] pub constituents: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct TextVariables { #[prost(map = "string, string", tag = "1")] pub variables: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum NetClassType { NctUnknown = 0, /// An explicitly-defined netclass, created by the user and saved in the project file NctExplicit = 1, /// An implicit (effective) netclass, made up of multiple explicit netclasses NctImplicit = 2, } impl NetClassType { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { Self::NctUnknown => "NCT_UNKNOWN", Self::NctExplicit => "NCT_EXPLICIT", Self::NctImplicit => "NCT_IMPLICIT", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "NCT_UNKNOWN" => Some(Self::NctUnknown), "NCT_EXPLICIT" => Some(Self::NctExplicit), "NCT_IMPLICIT" => Some(Self::NctImplicit), _ => None, } } }