Struct Module

Source
pub struct Module {
Show 27 fields pub long_identifier: String, pub a2ml: Option<A2ml>, pub axis_pts: ItemList<AxisPts>, pub blob: ItemList<Blob>, pub characteristic: ItemList<Characteristic>, pub compu_method: ItemList<CompuMethod>, pub compu_tab: ItemList<CompuTab>, pub compu_vtab: ItemList<CompuVtab>, pub compu_vtab_range: ItemList<CompuVtabRange>, pub frame: ItemList<Frame>, pub function: ItemList<Function>, pub group: ItemList<Group>, pub if_data: Vec<IfData>, pub instance: ItemList<Instance>, pub measurement: ItemList<Measurement>, pub mod_common: Option<ModCommon>, pub mod_par: Option<ModPar>, pub record_layout: ItemList<RecordLayout>, pub transformer: ItemList<Transformer>, pub typedef_axis: ItemList<TypedefAxis>, pub typedef_blob: ItemList<TypedefBlob>, pub typedef_characteristic: ItemList<TypedefCharacteristic>, pub typedef_measurement: ItemList<TypedefMeasurement>, pub typedef_structure: ItemList<TypedefStructure>, pub unit: ItemList<Unit>, pub user_rights: Vec<UserRights>, pub variant_coding: Option<VariantCoding>, /* private fields */
}
Expand description

The MODULE keyword describes a complete ECU or device with all adjustable and measurement objects, conversion methods and functions

At least one module must be defined within the PROJECT

Fields§

§long_identifier: String§a2ml: Option<A2ml>§axis_pts: ItemList<AxisPts>§blob: ItemList<Blob>§characteristic: ItemList<Characteristic>§compu_method: ItemList<CompuMethod>§compu_tab: ItemList<CompuTab>§compu_vtab: ItemList<CompuVtab>§compu_vtab_range: ItemList<CompuVtabRange>§frame: ItemList<Frame>§function: ItemList<Function>§group: ItemList<Group>§if_data: Vec<IfData>§instance: ItemList<Instance>§measurement: ItemList<Measurement>§mod_common: Option<ModCommon>§mod_par: Option<ModPar>§record_layout: ItemList<RecordLayout>§transformer: ItemList<Transformer>§typedef_axis: ItemList<TypedefAxis>§typedef_blob: ItemList<TypedefBlob>§typedef_characteristic: ItemList<TypedefCharacteristic>§typedef_measurement: ItemList<TypedefMeasurement>§typedef_structure: ItemList<TypedefStructure>§unit: ItemList<Unit>§user_rights: Vec<UserRights>§variant_coding: Option<VariantCoding>

Implementations§

Source§

impl Module

Source

pub fn merge(&mut self, other: &mut Module)

merge another module with this module

Any elements in other that are not present in this module will be moved over. The other module will typically be empty at the end of the merge.

Source

pub fn objects(&self) -> ItemList<AnyObject<'_>>

build a map of all objects in the module

An object is one of the following:

  • AXIS_PTS
  • BLOB
  • CHARACTERISTIC
  • INSTANCE
  • MEASUREMENT

The map is indexed by the object’s name, and each value contains a reference to the actual object.

Source

pub fn compu_tabs(&self) -> ItemList<AnyCompuTab<'_>>

build a map of all compu tabs in the module

A compu tab is one of the following:

  • COMPU_TAB
  • COMPU_VTAB
  • COMPU_VTAB_RANGE

The map is indexed by the compu tab’s name, and each value contains a reference to the actual compu tab.

Source

pub fn typedefs(&self) -> ItemList<AnyTypedef<'_>>

build a map of all typedefs in the module

A typedef is one of the following:

  • TYPEDEF_AXIS
  • TYPEDEF_BLOB
  • TYPEDEF_CHARACTERISTIC
  • TYPEDEF_MEASUREMENT
  • TYPEDEF_STRUCTURE

The map is indexed by the typedef’s name, and each value contains a reference to the actual typedef.

Source§

impl Module

Source

pub fn new(name: String, long_identifier: String) -> Self

Trait Implementations§

Source§

impl A2lObject<(u32, u32)> for Module

Source§

fn get_layout(&self) -> &BlockInfo<(u32, u32)>

get a reference to the BlockInfo that describes the layout of the a2l object
Source§

fn get_layout_mut(&mut self) -> &mut BlockInfo<(u32, u32)>

get a mutable reference to the BlockInfo that describes the layout of the a2l object
Source§

fn reset_location(&mut self)

reset the location information on the a2l object. It will be treated like a new object when writing a file
Source§

fn merge_includes(&mut self)

reset the reference to an include file on this objct and its children. This causes the object to be written into the output file instead of referenced through /include “filename”
Source§

fn get_line(&self) -> u32

get the source line number from which the current a2l object was loaded. Returns 0 if the object was newly created and not loaded from a file
Source§

impl A2lObjectName for Module

Source§

fn get_name(&self) -> &str

get the name of an a2l object. this trait is only implemented for those objects that have names, which is a subset of all objects
Source§

impl A2lObjectNameSetter for Module

Source§

fn set_name(&mut self, name: String)

set the name of an a2l object. this trait is only implemented for those objects that have names, which is a subset of all objects Read more
Source§

impl Clone for Module

Source§

fn clone(&self) -> Module

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Module

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Module

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

§

impl Freeze for Module

§

impl RefUnwindSafe for Module

§

impl Send for Module

§

impl Sync for Module

§

impl Unpin for Module

§

impl UnwindSafe for Module

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.