98 lines
4.6 KiB
Rust
98 lines
4.6 KiB
Rust
// 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<super::types::Distance>,
|
|
#[prost(message, optional, tag = "2")]
|
|
pub track_width: ::core::option::Option<super::types::Distance>,
|
|
#[prost(message, optional, tag = "3")]
|
|
pub diff_pair_track_width: ::core::option::Option<super::types::Distance>,
|
|
#[prost(message, optional, tag = "4")]
|
|
pub diff_pair_gap: ::core::option::Option<super::types::Distance>,
|
|
#[prost(message, optional, tag = "5")]
|
|
pub diff_pair_via_gap: ::core::option::Option<super::types::Distance>,
|
|
/// 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<super::super::board::types::PadStack>,
|
|
/// 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<super::super::board::types::PadStack>,
|
|
#[prost(message, optional, tag = "8")]
|
|
pub color: ::core::option::Option<super::types::Color>,
|
|
/// 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<super::types::Distance>,
|
|
#[prost(message, optional, tag = "2")]
|
|
pub bus_width: ::core::option::Option<super::types::Distance>,
|
|
#[prost(message, optional, tag = "3")]
|
|
pub color: ::core::option::Option<super::types::Color>,
|
|
#[prost(enumeration = "super::types::StrokeLineStyle", optional, tag = "4")]
|
|
pub line_style: ::core::option::Option<i32>,
|
|
}
|
|
#[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<i32>,
|
|
#[prost(message, optional, tag = "3")]
|
|
pub board: ::core::option::Option<NetClassBoardSettings>,
|
|
#[prost(message, optional, tag = "4")]
|
|
pub schematic: ::core::option::Option<NetClassSchematicSettings>,
|
|
#[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<Self> {
|
|
match value {
|
|
"NCT_UNKNOWN" => Some(Self::NctUnknown),
|
|
"NCT_EXPLICIT" => Some(Self::NctExplicit),
|
|
"NCT_IMPLICIT" => Some(Self::NctImplicit),
|
|
_ => None,
|
|
}
|
|
}
|
|
}
|