pub struct CompositionSwComponentType(/* private fields */);
Expand description
A CompositionSwComponentType
is a software component that contains other software components
Use ArPackage::create_composition_sw_component_type
to create a new composition sw component type.
Implementations§
Source§impl CompositionSwComponentType
impl CompositionSwComponentType
Sourcepub fn is_parent_of<T: AbstractSwComponentType>(&self, other: &T) -> bool
pub fn is_parent_of<T: AbstractSwComponentType>(&self, other: &T) -> bool
check if the composition is a parent (or grand-parent, etc.) of the component
Sourcepub fn create_component<T: Into<SwComponentType> + Clone>(
&self,
name: &str,
component_type: &T,
) -> Result<SwComponentPrototype, AutosarAbstractionError>
pub fn create_component<T: Into<SwComponentType> + Clone>( &self, name: &str, component_type: &T, ) -> Result<SwComponentPrototype, AutosarAbstractionError>
create a component of type component_type
in the composition
It is not allowed to form cycles in the composition hierarchy, and this will return an error
Sourcepub fn components(
&self,
) -> impl Iterator<Item = SwComponentPrototype> + Send + 'static
pub fn components( &self, ) -> impl Iterator<Item = SwComponentPrototype> + Send + 'static
get an iterator over the components of the composition
Sourcepub fn create_delegation_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>(
&self,
name: &str,
inner_port: &T1,
inner_sw_prototype: &SwComponentPrototype,
outer_port: &T2,
) -> Result<DelegationSwConnector, AutosarAbstractionError>
pub fn create_delegation_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>( &self, name: &str, inner_port: &T1, inner_sw_prototype: &SwComponentPrototype, outer_port: &T2, ) -> Result<DelegationSwConnector, AutosarAbstractionError>
create a new delegation connector between an inner port and an outer port
The two ports must be compatible.
Sourcepub fn create_assembly_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>(
&self,
name: &str,
port_1: &T1,
sw_prototype_1: &SwComponentPrototype,
port_2: &T2,
sw_prototype_2: &SwComponentPrototype,
) -> Result<AssemblySwConnector, AutosarAbstractionError>
pub fn create_assembly_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>( &self, name: &str, port_1: &T1, sw_prototype_1: &SwComponentPrototype, port_2: &T2, sw_prototype_2: &SwComponentPrototype, ) -> Result<AssemblySwConnector, AutosarAbstractionError>
create a new assembly connector between two ports of contained software components
The two ports must be compatible.
Sourcepub fn create_pass_through_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>(
&self,
name: &str,
port_1: &T1,
port_2: &T2,
) -> Result<PassThroughSwConnector, AutosarAbstractionError>
pub fn create_pass_through_connector<T1: Into<PortPrototype> + Clone, T2: Into<PortPrototype> + Clone>( &self, name: &str, port_1: &T1, port_2: &T2, ) -> Result<PassThroughSwConnector, AutosarAbstractionError>
create a new passthrough connector between two outer ports of the composition
The two ports must be compatible.
Sourcepub fn connectors(&self) -> impl Iterator<Item = SwConnector> + Send + 'static
pub fn connectors(&self) -> impl Iterator<Item = SwConnector> + Send + 'static
iterate over all connectors
Trait Implementations§
Source§impl AbstractSwComponentType for CompositionSwComponentType
impl AbstractSwComponentType for CompositionSwComponentType
Source§fn instances(&self) -> Vec<ComponentPrototype>
fn instances(&self) -> Vec<ComponentPrototype>
Source§fn parent_compositions(&self) -> Vec<CompositionSwComponentType>
fn parent_compositions(&self) -> Vec<CompositionSwComponentType>
Source§fn create_r_port<T: AbstractPortInterface>(
&self,
name: &str,
port_interface: &T,
) -> Result<RPortPrototype, AutosarAbstractionError>
fn create_r_port<T: AbstractPortInterface>( &self, name: &str, port_interface: &T, ) -> Result<RPortPrototype, AutosarAbstractionError>
Source§fn create_p_port<T: AbstractPortInterface>(
&self,
name: &str,
port_interface: &T,
) -> Result<PPortPrototype, AutosarAbstractionError>
fn create_p_port<T: AbstractPortInterface>( &self, name: &str, port_interface: &T, ) -> Result<PPortPrototype, AutosarAbstractionError>
Source§fn create_pr_port<T: AbstractPortInterface>(
&self,
name: &str,
port_interface: &T,
) -> Result<PRPortPrototype, AutosarAbstractionError>
fn create_pr_port<T: AbstractPortInterface>( &self, name: &str, port_interface: &T, ) -> Result<PRPortPrototype, AutosarAbstractionError>
Source§fn ports(&self) -> impl Iterator<Item = PortPrototype> + Send + 'static
fn ports(&self) -> impl Iterator<Item = PortPrototype> + Send + 'static
Source§fn create_port_group(
&self,
name: &str,
) -> Result<PortGroup, AutosarAbstractionError>
fn create_port_group( &self, name: &str, ) -> Result<PortGroup, AutosarAbstractionError>
Source§impl Clone for CompositionSwComponentType
impl Clone for CompositionSwComponentType
Source§fn clone(&self) -> CompositionSwComponentType
fn clone(&self) -> CompositionSwComponentType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CompositionSwComponentType
impl Debug for CompositionSwComponentType
Source§impl From<CompositionSwComponentType> for Element
impl From<CompositionSwComponentType> for Element
Source§fn from(val: CompositionSwComponentType) -> Self
fn from(val: CompositionSwComponentType) -> Self
Source§impl From<CompositionSwComponentType> for SwComponentType
impl From<CompositionSwComponentType> for SwComponentType
Source§fn from(comp: CompositionSwComponentType) -> Self
fn from(comp: CompositionSwComponentType) -> Self
Source§impl Hash for CompositionSwComponentType
impl Hash for CompositionSwComponentType
Source§impl TryFrom<Element> for CompositionSwComponentType
impl TryFrom<Element> for CompositionSwComponentType
impl Eq for CompositionSwComponentType
impl StructuralPartialEq for CompositionSwComponentType
Auto Trait Implementations§
impl Freeze for CompositionSwComponentType
impl !RefUnwindSafe for CompositionSwComponentType
impl Send for CompositionSwComponentType
impl Sync for CompositionSwComponentType
impl Unpin for CompositionSwComponentType
impl !UnwindSafe for CompositionSwComponentType
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.