pub struct Package<'a> {Show 31 fields
pub name: String,
pub vendor: String,
pub schema_version: String,
pub d_core: Option<String>,
pub d_vendor: Option<String>,
pub d_name: Option<String>,
pub t_compiler: Option<String>,
pub description: Description,
pub eccn: Option<Eccn>,
pub url: String,
pub support_contact: Option<String>,
pub license: Option<String>,
pub license_sets: Option<LicenseSets>,
pub dominate: Option<Dominate>,
pub requirements: Option<Requirements>,
pub repository: Option<Repository>,
pub releases: Releases,
pub changelogs: Option<Changelogs>,
pub keywords: Option<Keywords>,
pub environments: Option<Environments>,
pub generators: Option<Generators>,
pub boards: Option<Boards>,
pub parts: Option<Parts>,
pub taxonomy: Option<Taxonomy>,
pub part_taxonomy: Option<PartTaxonomy>,
pub apis: Option<Apis>,
pub devices: Option<Devices<'a>>,
pub conditions: Option<Conditions>,
pub examples: Option<Examples>,
pub csolution: Option<Csolution>,
pub components: Option<Components>,
}Expand description
Represents PDSC Package which is the root element of the PDSC file
Fields§
§name: StringName of the software pack
vendor: StringName of the software pack supplier/vendor
schema_version: StringPDSC schema version; valid values defined by PDSC schema versioning
d_core: Option<String>Restricts pack to a specific core; valid values: DcoreEnum
d_vendor: Option<String>Restricts pack to a specific silicon vendor; valid values: DeviceVendorEnum
d_name: Option<String>Restricts pack to a specific device name; wildcards allowed
t_compiler: Option<String>Restricts pack to a specific toolchain; valid values: CompilerEnumType
description: DescriptionBrief description of the software pack
eccn: Option<Eccn>Export Control Classification Numbers for the EU and US
url: StringURL or file URI of the software pack
support_contact: Option<String>URL or e-mail for users to get support for the Pack content
license: Option<String>Path to the license document of the Pack
license_sets: Option<LicenseSets>Listing containing the collection of license fils
dominate: Option<Dominate>A pack that has dominate attribute overrules other packs
requirements: Option<Requirements>Specifies other CMSIS-Packs, programming languages, and compilers required by pack components
repository: Option<Repository>HTTPS URL of a public repository that the pack originates from
releases: ReleasesVersion release history with brief information about a software pack
changelogs: Option<Changelogs>Section describing one or more changelog files
keywords: Option<Keywords>Keywords that might be used to find a software pack
environments: Option<Environments>Grouping elements for environments information.
generators: Option<Generators>Specifies generator tools that have been used to generate components
boards: Option<Boards>Development boards described in this pack
parts: Option<Parts>Hardware parts described in this pack
taxonomy: Option<Taxonomy>Component class and group taxonomy for this pack
part_taxonomy: Option<PartTaxonomy>Hardware part class and group taxonomy for this pack
apis: Option<Apis>Application programming interfaces defined by this pack
devices: Option<Devices<'a>>The device family, the devices, and variants
conditions: Option<Conditions>Conditions defined for use throughout this pack
examples: Option<Examples>Example projects included in this pack
csolution: Option<Csolution>Software layers and project templates for csolution-based projects
components: Option<Components>Components published by this pack
Implementations§
Source§impl<'a> Package<'a>
impl<'a> Package<'a>
Sourcepub fn new(document: &'a Document<'_>) -> Result<Self, Error>
pub fn new(document: &'a Document<'_>) -> Result<Self, Error>
Parses a PDSC XML document into a Package.
§Errors
Returns Error::SerdeRoxmltree if the document cannot be deserialized, or
Error::Family/Error::Debug if sequence or statement parsing fails.