pub struct ArPackage(/* private fields */);
Expand description
An ArPackage
is an Autosar package, which can contain other packages or elements
Implementations§
Source§impl ArPackage
impl ArPackage
Sourcepub fn create_application_array_data_type<T: Into<ApplicationDataType> + AbstractionElement>(
&self,
name: &str,
element_type: &T,
size: ApplicationArraySize,
) -> Result<ApplicationArrayDataType, AutosarAbstractionError>
pub fn create_application_array_data_type<T: Into<ApplicationDataType> + AbstractionElement>( &self, name: &str, element_type: &T, size: ApplicationArraySize, ) -> Result<ApplicationArrayDataType, AutosarAbstractionError>
create a new ApplicationArrayDataType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let element_type = package.create_application_primitive_data_type("ElementType", ApplicationPrimitiveCategory::Value, None, None, None)?;
let data_type = package.create_application_array_data_type("ArrayDataType", &element_type, ApplicationArraySize::Fixed(4))?;
assert!(model.get_element_by_path("/some/package/ArrayDataType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the APPLICATION-ARRAY-DATA-TYPE element
Sourcepub fn create_application_primitive_data_type(
&self,
name: &str,
category: ApplicationPrimitiveCategory,
compu_method: Option<&CompuMethod>,
unit: Option<&Unit>,
data_constraint: Option<&DataConstr>,
) -> Result<ApplicationPrimitiveDataType, AutosarAbstractionError>
pub fn create_application_primitive_data_type( &self, name: &str, category: ApplicationPrimitiveCategory, compu_method: Option<&CompuMethod>, unit: Option<&Unit>, data_constraint: Option<&DataConstr>, ) -> Result<ApplicationPrimitiveDataType, AutosarAbstractionError>
create a new ApplicationPrimitiveDataType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let data_type = package.create_application_primitive_data_type("ApplicationPrimitiveDataType", ApplicationPrimitiveCategory::Value, None, None, None)?;
assert!(model.get_element_by_path("/some/package/ApplicationPrimitiveDataType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the APPLICATION-PRIMITIVE-DATA-TYPE element
Sourcepub fn create_application_record_data_type(
&self,
name: &str,
) -> Result<ApplicationRecordDataType, AutosarAbstractionError>
pub fn create_application_record_data_type( &self, name: &str, ) -> Result<ApplicationRecordDataType, AutosarAbstractionError>
create a new ApplicationRecordDataType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let data_type = package.create_application_record_data_type("ApplicationRecordDataType")?;
assert!(model.get_element_by_path("/some/package/ApplicationRecordDataType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the APPLICATION-RECORD-DATA-TYPE element
Sourcepub fn create_application_sw_component_type(
&self,
name: &str,
) -> Result<ApplicationSwComponentType, AutosarAbstractionError>
pub fn create_application_sw_component_type( &self, name: &str, ) -> Result<ApplicationSwComponentType, AutosarAbstractionError>
create a new ApplicationSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_application_sw_component_type("MyComponent")?;
assert!(model.get_element_by_path("/some/package/MyComponent").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the APPLICATION-SW-COMPONENT-TYPE element
Sourcepub fn create_client_server_interface(
&self,
name: &str,
) -> Result<ClientServerInterface, AutosarAbstractionError>
pub fn create_client_server_interface( &self, name: &str, ) -> Result<ClientServerInterface, AutosarAbstractionError>
create a new ClientServerInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_client_server_interface("ClientServerInterface")?;
assert!(model.get_element_by_path("/some/package/ClientServerInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the CLIENT-SERVER-INTERFACE element
Sourcepub fn create_complex_device_driver_sw_component_type(
&self,
name: &str,
) -> Result<ComplexDeviceDriverSwComponentType, AutosarAbstractionError>
pub fn create_complex_device_driver_sw_component_type( &self, name: &str, ) -> Result<ComplexDeviceDriverSwComponentType, AutosarAbstractionError>
create a new ComplexDeviceDriverSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_complex_device_driver_sw_component_type("ComplexDeviceDriverSwComponentType")?;
assert!(model.get_element_by_path("/some/package/ComplexDeviceDriverSwComponentType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE element
Sourcepub fn create_composition_sw_component_type(
&self,
name: &str,
) -> Result<CompositionSwComponentType, AutosarAbstractionError>
pub fn create_composition_sw_component_type( &self, name: &str, ) -> Result<CompositionSwComponentType, AutosarAbstractionError>
create a new CompositionSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_composition_sw_component_type("CompositionSwComponentType")?;
assert!(model.get_element_by_path("/some/package/CompositionSwComponentType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the COMPOSITION-SW-COMPONENT-TYPE element
Sourcepub fn create_compu_method(
&self,
name: &str,
content: CompuMethodContent,
) -> Result<CompuMethod, AutosarAbstractionError>
pub fn create_compu_method( &self, name: &str, content: CompuMethodContent, ) -> Result<CompuMethod, AutosarAbstractionError>
create a new CompuMethod
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let compu_content = CompuMethodContent::Linear(CompuMethodLinearContent {
direction: CompuScaleDirection::IntToPhys,
offset: 0.0,
factor: 1.0,
divisor: 1.0,
lower_limit: None,
upper_limit: None,
});
let compu_method = package.create_compu_method("CompuMethod", compu_content)?;
assert!(model.get_element_by_path("/some/package/CompuMethod").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the COMPU-METHOD element
Sourcepub fn create_constant_specification<T: Into<ValueSpecification>>(
&self,
name: &str,
value: T,
) -> Result<ConstantSpecification, AutosarAbstractionError>
pub fn create_constant_specification<T: Into<ValueSpecification>>( &self, name: &str, value: T, ) -> Result<ConstantSpecification, AutosarAbstractionError>
create a new ConstantSpecification
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let value = NumericalValueSpecification {
label: None,
value: 42.0,
};
let compu_method = package.create_constant_specification("CompuMethod", value)?;
assert!(model.get_element_by_path("/some/package/CompuMethod").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the CONSTANT-SPECIFICATION element
Sourcepub fn create_data_constr(
&self,
name: &str,
) -> Result<DataConstr, AutosarAbstractionError>
pub fn create_data_constr( &self, name: &str, ) -> Result<DataConstr, AutosarAbstractionError>
create a new DataConstr
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let data_constr = package.create_data_constr("DataConstr")?;
assert!(model.get_element_by_path("/some/package/DataConstr").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the DATA-CONSTR element
Sourcepub fn create_data_transformation_set(
&self,
name: &str,
) -> Result<DataTransformationSet, AutosarAbstractionError>
pub fn create_data_transformation_set( &self, name: &str, ) -> Result<DataTransformationSet, AutosarAbstractionError>
create a new DataTransformationSet
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let transformation_set = package.create_data_transformation_set("DataTransformationSet")?;
assert!(model.get_element_by_path("/some/package/DataTransformationSet").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the DATA-TRANSFORMATION-SET element
Sourcepub fn create_data_type_mapping_set(
&self,
name: &str,
) -> Result<DataTypeMappingSet, AutosarAbstractionError>
pub fn create_data_type_mapping_set( &self, name: &str, ) -> Result<DataTypeMappingSet, AutosarAbstractionError>
create a new DataTypeMappingSet
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let mapping_set = package.create_data_type_mapping_set("DataTypeMappingSet")?;
assert!(model.get_element_by_path("/some/package/DataTypeMappingSet").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the DATA-TYPE-MAPPING-SET element
Sourcepub fn create_ecu_abstraction_sw_component_type(
&self,
name: &str,
) -> Result<EcuAbstractionSwComponentType, AutosarAbstractionError>
pub fn create_ecu_abstraction_sw_component_type( &self, name: &str, ) -> Result<EcuAbstractionSwComponentType, AutosarAbstractionError>
create a new EcuAbstractionSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_ecu_abstraction_sw_component_type("EcuAbstractionSwComponentType")?;
assert!(model.get_element_by_path("/some/package/EcuAbstractionSwComponentType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the ECU-ABSTRACTION-SW-COMPONENT-TYPE element
Sourcepub fn create_ecuc_definition_collection(
&self,
name: &str,
) -> Result<EcucDefinitionCollection, AutosarAbstractionError>
pub fn create_ecuc_definition_collection( &self, name: &str, ) -> Result<EcucDefinitionCollection, AutosarAbstractionError>
create a new EcucDefinitionCollection
in the package
§Example
let package = model.get_or_create_package("/pkg")?;
let definition_collection = package.create_ecuc_definition_collection("DefinitionCollection")?;
assert!(model.get_element_by_path("/pkg/DefinitionCollection").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model
Sourcepub fn create_ecuc_destination_uri_def_set(
&self,
name: &str,
) -> Result<EcucDestinationUriDefSet, AutosarAbstractionError>
pub fn create_ecuc_destination_uri_def_set( &self, name: &str, ) -> Result<EcucDestinationUriDefSet, AutosarAbstractionError>
create a new EcucDestinationUriDefSet
in the package
§Example
let package = model.get_or_create_package("/pkg")?;
let uri_def_set = package.create_ecuc_destination_uri_def_set("DestinationUriDefSet")?;
assert!(model.get_element_by_path("/pkg/DestinationUriDefSet").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model
Sourcepub fn create_ecuc_module_configuration_values(
&self,
name: &str,
definition: &EcucModuleDef,
) -> Result<EcucModuleConfigurationValues, AutosarAbstractionError>
pub fn create_ecuc_module_configuration_values( &self, name: &str, definition: &EcucModuleDef, ) -> Result<EcucModuleConfigurationValues, AutosarAbstractionError>
create a new EcucModuleConfigurationValues
in the package
§Example
let package = model.get_or_create_package("/pkg")?;
let module_config = package.create_ecuc_module_configuration_values("ModuleConfig", &module_definition)?;
assert!(model.get_element_by_path("/pkg/ModuleConfig").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model
Sourcepub fn create_ecuc_module_def(
&self,
name: &str,
) -> Result<EcucModuleDef, AutosarAbstractionError>
pub fn create_ecuc_module_def( &self, name: &str, ) -> Result<EcucModuleDef, AutosarAbstractionError>
create a new EcucModuleDef
in the package
§Example
let package = model.get_or_create_package("/pkg")?;
let bsw_module = package.create_ecuc_module_def("BswModule")?;
assert!(model.get_element_by_path("/pkg/BswModule").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model
Sourcepub fn create_ecuc_value_collection(
&self,
name: &str,
) -> Result<EcucValueCollection, AutosarAbstractionError>
pub fn create_ecuc_value_collection( &self, name: &str, ) -> Result<EcucValueCollection, AutosarAbstractionError>
create a new EcucValueCollection
in the package
§Example
let package = model.get_or_create_package("/pkg")?;
let value_collection = package.create_ecuc_value_collection("ValueCollection")?;
assert!(model.get_element_by_path("/pkg/ValueCollection").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model
Sourcepub fn create_implementation_data_type(
&self,
settings: &ImplementationDataTypeSettings,
) -> Result<ImplementationDataType, AutosarAbstractionError>
pub fn create_implementation_data_type( &self, settings: &ImplementationDataTypeSettings, ) -> Result<ImplementationDataType, AutosarAbstractionError>
create a new ImplementationDataType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let sw_base_type = package.create_sw_base_type("uint8", 8, BaseTypeEncoding::None, None, None, None)?;
let settings = ImplementationDataTypeSettings::Value {
name: "ImplementationDataType_Value".to_string(),
base_type: sw_base_type,
compu_method: None,
data_constraint: None,
};
let data_type = package.create_implementation_data_type(&settings)?;
assert!(model.get_element_by_path("/some/package/ImplementationDataType_Value").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the IMPLEMENTATION-DATA-TYPE element
Sourcepub fn create_mode_declaration_group(
&self,
name: &str,
category: Option<ModeDeclarationGroupCategory>,
) -> Result<ModeDeclarationGroup, AutosarAbstractionError>
pub fn create_mode_declaration_group( &self, name: &str, category: Option<ModeDeclarationGroupCategory>, ) -> Result<ModeDeclarationGroup, AutosarAbstractionError>
create a new ModeDeclarationGroup
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let mode_declaration_group = package.create_mode_declaration_group("ModeDeclarationGroup", None)?;
assert!(model.get_element_by_path("/some/package/ModeDeclarationGroup").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the MODE-DECLARATION-GROUP element
Sourcepub fn create_mode_switch_interface(
&self,
name: &str,
) -> Result<ModeSwitchInterface, AutosarAbstractionError>
pub fn create_mode_switch_interface( &self, name: &str, ) -> Result<ModeSwitchInterface, AutosarAbstractionError>
create a new ModeSwitchInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_mode_switch_interface("ModeSwitchInterface")?;
assert!(model.get_element_by_path("/some/package/ModeSwitchInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the MODE-SWITCH-INTERFACE element
Sourcepub fn create_nv_data_interface(
&self,
name: &str,
) -> Result<NvDataInterface, AutosarAbstractionError>
pub fn create_nv_data_interface( &self, name: &str, ) -> Result<NvDataInterface, AutosarAbstractionError>
create a new NvDataInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_nv_data_interface("NvDataInterface")?;
assert!(model.get_element_by_path("/some/package/NvDataInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the NV-DATA-INTERFACE element
Sourcepub fn create_parameter_interface(
&self,
name: &str,
) -> Result<ParameterInterface, AutosarAbstractionError>
pub fn create_parameter_interface( &self, name: &str, ) -> Result<ParameterInterface, AutosarAbstractionError>
create a new ParameterInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_parameter_interface("ParameterInterface")?;
assert!(model.get_element_by_path("/some/package/ParameterInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the PARAMETER-INTERFACE element
Sourcepub fn create_sender_receiver_interface(
&self,
name: &str,
) -> Result<SenderReceiverInterface, AutosarAbstractionError>
pub fn create_sender_receiver_interface( &self, name: &str, ) -> Result<SenderReceiverInterface, AutosarAbstractionError>
create a new SenderReceiverInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_sender_receiver_interface("SenderReceiverInterface")?;
assert!(model.get_element_by_path("/some/package/SenderReceiverInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SENDER-RECEIVER-INTERFACE element
Sourcepub fn create_sensor_actuator_sw_component_type(
&self,
name: &str,
) -> Result<SensorActuatorSwComponentType, AutosarAbstractionError>
pub fn create_sensor_actuator_sw_component_type( &self, name: &str, ) -> Result<SensorActuatorSwComponentType, AutosarAbstractionError>
create a new SensorActuatorSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_sensor_actuator_sw_component_type("SensorActuatorSwComponentType")?;
assert!(model.get_element_by_path("/some/package/SensorActuatorSwComponentType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SENSOR-ACTUATOR-SW-COMPONENT-TYPE element
Sourcepub fn create_service_sw_component_type(
&self,
name: &str,
) -> Result<ServiceSwComponentType, AutosarAbstractionError>
pub fn create_service_sw_component_type( &self, name: &str, ) -> Result<ServiceSwComponentType, AutosarAbstractionError>
create a new ServiceSwComponentType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let component = package.create_service_sw_component_type("ServiceSwComponentType")?;
assert!(model.get_element_by_path("/some/package/ServiceSwComponentType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SERVICE-SW-COMPONENT-TYPE element
Sourcepub fn create_someip_sd_client_event_group_timing_config(
&self,
name: &str,
time_to_live: u32,
) -> Result<SomeipSdClientEventGroupTimingConfig, AutosarAbstractionError>
pub fn create_someip_sd_client_event_group_timing_config( &self, name: &str, time_to_live: u32, ) -> Result<SomeipSdClientEventGroupTimingConfig, AutosarAbstractionError>
create a new SomeipSdClientEventGroupTimingConfig
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let client_config = package.create_someip_sd_client_event_group_timing_config("SomeipSdClientEventGroupTimingConfig", 10)?;
assert!(model.get_element_by_path("/some/package/SomeipSdClientEventGroupTimingConfig").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SOMEIP-SD-CLIENT-EVENT-GROUP-TIMING-CONFIG element
Sourcepub fn create_someip_sd_client_service_instance_config(
&self,
name: &str,
) -> Result<SomeipSdClientServiceInstanceConfig, AutosarAbstractionError>
pub fn create_someip_sd_client_service_instance_config( &self, name: &str, ) -> Result<SomeipSdClientServiceInstanceConfig, AutosarAbstractionError>
create a new SomeipSdClientServiceInstanceConfig
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let service_instance = package.create_someip_sd_client_service_instance_config("SomeipSdClientServiceInstanceConfig")?;
assert!(model.get_element_by_path("/some/package/SomeipSdClientServiceInstanceConfig").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SOMEIP-SD-CLIENT-SERVICE-INSTANCE-CONFIG element
Sourcepub fn create_someip_sd_server_event_group_timing_config(
&self,
name: &str,
request_response_delay: &RequestResponseDelay,
) -> Result<SomeipSdServerEventGroupTimingConfig, AutosarAbstractionError>
pub fn create_someip_sd_server_event_group_timing_config( &self, name: &str, request_response_delay: &RequestResponseDelay, ) -> Result<SomeipSdServerEventGroupTimingConfig, AutosarAbstractionError>
create a new SomeipSdServerEventGroupTimingConfig
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let request_response_delay = RequestResponseDelay {
min_value: 0.1,
max_value: 0.2,
};
let timing_config = package.create_someip_sd_server_event_group_timing_config("SomeipSdServerEventGroupTimingConfig", &request_response_delay)?;
assert!(model.get_element_by_path("/some/package/SomeipSdServerEventGroupTimingConfig").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SOMEIP-SD-SERVER-EVENT-GROUP-TIMING-CONFIG element
Sourcepub fn create_someip_sd_server_service_instance_config(
&self,
name: &str,
ttl: u32,
) -> Result<SomeipSdServerServiceInstanceConfig, AutosarAbstractionError>
pub fn create_someip_sd_server_service_instance_config( &self, name: &str, ttl: u32, ) -> Result<SomeipSdServerServiceInstanceConfig, AutosarAbstractionError>
create a new SomeipSdServerServiceInstanceConfig
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let service_instance = package.create_someip_sd_server_service_instance_config("SomeipSdServerServiceInstanceConfig", 10)?;
assert!(model.get_element_by_path("/some/package/SomeipSdServerServiceInstanceConfig").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SOMEIP-SD-SERVER-SERVICE-INSTANCE-CONFIG element
Sourcepub fn create_sw_base_type(
&self,
name: &str,
bit_length: u32,
base_type_encoding: BaseTypeEncoding,
byte_order: Option<ByteOrder>,
mem_alignment: Option<u32>,
native_declaration: Option<&str>,
) -> Result<SwBaseType, AutosarAbstractionError>
pub fn create_sw_base_type( &self, name: &str, bit_length: u32, base_type_encoding: BaseTypeEncoding, byte_order: Option<ByteOrder>, mem_alignment: Option<u32>, native_declaration: Option<&str>, ) -> Result<SwBaseType, AutosarAbstractionError>
create a new SwBaseType
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let base_type = package.create_sw_base_type("MyBaseType", 8, BaseTypeEncoding::None, None, None, None)?;
assert!(model.get_element_by_path("/some/package/MyBaseType").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SW-BASE-TYPE element
Sourcepub fn create_system(
&self,
name: &str,
category: SystemCategory,
) -> Result<System, AutosarAbstractionError>
pub fn create_system( &self, name: &str, category: SystemCategory, ) -> Result<System, AutosarAbstractionError>
create a new System in the package
Note that an Autosar model should ony contain one SYSTEM. This is not checked here.
§Example
let package = model.get_or_create_package("/some/package")?;
let system = package.create_system("System", SystemCategory::SystemExtract)?;
assert!(model.get_element_by_path("/some/package/System").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SYSTEM element
Sourcepub fn create_system_signal(
&self,
name: &str,
) -> Result<SystemSignal, AutosarAbstractionError>
pub fn create_system_signal( &self, name: &str, ) -> Result<SystemSignal, AutosarAbstractionError>
create a new SystemSignal
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let signal = package.create_system_signal("MySignal")?;
assert!(model.get_element_by_path("/some/package/MySignal").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SYSTEM-SIGNAL element
Sourcepub fn create_system_signal_group(
&self,
name: &str,
) -> Result<SystemSignalGroup, AutosarAbstractionError>
pub fn create_system_signal_group( &self, name: &str, ) -> Result<SystemSignalGroup, AutosarAbstractionError>
create a new SystemSignalGroup
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let signal_group = package.create_system_signal_group("MySignalGroup")?;
assert!(model.get_element_by_path("/some/package/MySignalGroup").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the SYSTEM-SIGNAL-GROUP element
Sourcepub fn create_trigger_interface(
&self,
name: &str,
) -> Result<TriggerInterface, AutosarAbstractionError>
pub fn create_trigger_interface( &self, name: &str, ) -> Result<TriggerInterface, AutosarAbstractionError>
create a new TriggerInterface
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let interface = package.create_trigger_interface("TriggerInterface")?;
assert!(model.get_element_by_path("/some/package/TriggerInterface").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the TRIGGER-INTERFACE element
Sourcepub fn create_unit(
&self,
name: &str,
display_name: Option<&str>,
) -> Result<Unit, AutosarAbstractionError>
pub fn create_unit( &self, name: &str, display_name: Option<&str>, ) -> Result<Unit, AutosarAbstractionError>
create a new Unit
in the package
§Example
let package = model.get_or_create_package("/some/package")?;
let unit = package.create_unit("Unit", Some("UnitDisplayName"))?;
assert!(model.get_element_by_path("/some/package/Unit").is_some());
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the UNIT element
Sourcepub fn elements(&self) -> impl Iterator<Item = Element> + Send + 'static
pub fn elements(&self) -> impl Iterator<Item = Element> + Send + 'static
iterate over all elements in the package
§Example
let package = model.get_or_create_package("/some/package")?;
for element in package.elements() {
println!("{:?}", element);
}
Sourcepub fn create_sub_package(
&self,
name: &str,
) -> Result<ArPackage, AutosarAbstractionError>
pub fn create_sub_package( &self, name: &str, ) -> Result<ArPackage, AutosarAbstractionError>
create a new ArPackage
as a sub-package of the package
§Example
let package = model.get_or_create_package("/some/package")?;
let sub_package = package.create_sub_package("SubPackage")?;
assert!(model.get_element_by_path("/some/package/SubPackage").is_some());
Trait Implementations§
Source§impl AbstractionElement for ArPackage
impl AbstractionElement for ArPackage
impl Eq for ArPackage
impl StructuralPartialEq for ArPackage
Auto Trait Implementations§
impl Freeze for ArPackage
impl !RefUnwindSafe for ArPackage
impl Send for ArPackage
impl Sync for ArPackage
impl Unpin for ArPackage
impl !UnwindSafe for ArPackage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.