Skip to main content

ComponentDef

Struct ComponentDef 

Source
pub struct ComponentDef {
    pub name: String,
    pub repository_id: String,
    pub base_component: Option<String>,
    pub supported_interfaces: Vec<String>,
    pub facets: Vec<FacetDef>,
    pub receptacles: Vec<ReceptacleDef>,
    pub event_sources: Vec<EventSourceDef>,
    pub event_sinks: Vec<EventSinkDef>,
    pub attributes: Vec<AttributeDef>,
    pub primary_key: Vec<String>,
}
Expand description

Component-Type-Definition.

Fields§

§name: String

Component-Name.

§repository_id: String

Repository-ID.

§base_component: Option<String>

Optionale Single-Inheritance auf einen Base-Component.

§supported_interfaces: Vec<String>

supports-Iface-IDs.

§facets: Vec<FacetDef>

Facets.

§receptacles: Vec<ReceptacleDef>

Receptacles.

§event_sources: Vec<EventSourceDef>

Event-Sources.

§event_sinks: Vec<EventSinkDef>

Event-Sinks.

§attributes: Vec<AttributeDef>

Attributes.

§primary_key: Vec<String>

PrimaryKey-Type-IDs (Spec §6.7.2 — Keyed-Component-Indikator).

Implementations§

Source§

impl ComponentDef

Source

pub fn is_keyed(&self) -> bool

true wenn der Component Keyed ist (Primary-Key vorhanden).

Source

pub fn port_count(&self) -> usize

Anzahl Ports (Facets + Receptacles + Events).

Source

pub fn is_equivalent_component_kind(&self, repo_id: &str) -> bool

Spec §6.1.4 — is_equivalent_component_kind(repo_id). Liefert true wenn der gegebene Repository-ID dem Component (oder einer Base-Komponente in der Inheritance-Kette via caller-supplied Resolver) entspricht.

Source

pub fn get_component_def_repo_id(&self) -> &str

Spec §6.1.4 — get_component_def() -> ComponentIR::ComponentDef. Wir liefern hier die Repository-ID des ComponentDef-Eintrags im IFR; Caller setzt darauf den IFR-Lookup auf.

Source

pub fn provide_facet(&self, name: &str) -> Option<&FacetDef>

Spec §6.4.3 — provide_facet(name) -> CORBA::Object. Liefert den FacetDef mit dem gegebenen Namen oder None. Caller bindet das interface_id an die ORB-konkrete Object-Reference.

Source

pub fn get_all_facets(&self) -> &[FacetDef]

Spec §6.4.3 — get_all_facets() -> FacetDescriptions. Liefert alle Facets als unveraenderbarer Slice.

Source

pub fn get_named_facets(&self, names: &[&str]) -> Vec<&FacetDef>

Spec §6.4.3 — get_named_facets(names) -> FacetDescriptions. Liefert die Facets, deren Namen in der gegebenen Liste stehen (Reihenfolge wie in names); fehlende Namen werden uebersprungen.

Source

pub fn get_all_receptacles(&self) -> &[ReceptacleDef]

Spec §6.5.3 — get_all_receptacles() -> ReceptacleDescriptions.

Source

pub fn get_named_receptacles(&self, names: &[&str]) -> Vec<&ReceptacleDef>

Spec §6.5.3 — get_named_receptacles(names) -> ReceptacleDescriptions.

Source

pub fn get_all_publishers(&self) -> Vec<&EventSourceDef>

Spec §6.6.8 — get_all_publishers() -> PublisherDescriptions. Publisher = event_sources mit emit_only == false.

Source

pub fn get_all_emitters(&self) -> Vec<&EventSourceDef>

Spec §6.6.8 — get_all_emitters() -> EmitterDescriptions. Emitter = event_sources mit emit_only == true.

Source

pub fn get_named_publishers(&self, names: &[&str]) -> Vec<&EventSourceDef>

Spec §6.6.8 — get_named_publishers(names).

Source

pub fn get_named_emitters(&self, names: &[&str]) -> Vec<&EventSourceDef>

Spec §6.6.8 — get_named_emitters(names).

Source

pub fn supports_interface(&self, interface_repo_id: &str) -> bool

Spec §6.4.5 — Type-Identity-Narrowing. Liefert true wenn die Component das gegebene Interface unterstuetzt (supports <I> in der Equivalent-IDL). Caller-Layer kombiniert dies mit dem ORB-is_a-Predicate fuer die Object-Reference.

Source

pub fn supported_interface_repo_ids(&self) -> &[String]

Spec §6.4.5 — alle unterstuetzten Interfaces (Type-Identity- Side; Object-Reference-Widening bleibt ORB).

Trait Implementations§

Source§

impl Clone for ComponentDef

Source§

fn clone(&self) -> ComponentDef

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ComponentDef

Source§

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

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

impl Default for ComponentDef

Source§

fn default() -> ComponentDef

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ComponentDef

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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.
Source§

impl Eq for ComponentDef

Source§

impl StructuralPartialEq for ComponentDef

Auto Trait Implementations§

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.