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: StringComponent-Name.
repository_id: StringRepository-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
impl ComponentDef
Sourcepub fn port_count(&self) -> usize
pub fn port_count(&self) -> usize
Anzahl Ports (Facets + Receptacles + Events).
Sourcepub fn is_equivalent_component_kind(&self, repo_id: &str) -> bool
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.
Sourcepub fn get_component_def_repo_id(&self) -> &str
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.
Sourcepub fn provide_facet(&self, name: &str) -> Option<&FacetDef>
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.
Sourcepub fn get_all_facets(&self) -> &[FacetDef]
pub fn get_all_facets(&self) -> &[FacetDef]
Spec §6.4.3 — get_all_facets() -> FacetDescriptions.
Liefert alle Facets als unveraenderbarer Slice.
Sourcepub fn get_named_facets(&self, names: &[&str]) -> Vec<&FacetDef>
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.
Sourcepub fn get_all_receptacles(&self) -> &[ReceptacleDef]
pub fn get_all_receptacles(&self) -> &[ReceptacleDef]
Spec §6.5.3 — get_all_receptacles() -> ReceptacleDescriptions.
Sourcepub fn get_named_receptacles(&self, names: &[&str]) -> Vec<&ReceptacleDef>
pub fn get_named_receptacles(&self, names: &[&str]) -> Vec<&ReceptacleDef>
Spec §6.5.3 — get_named_receptacles(names) -> ReceptacleDescriptions.
Sourcepub fn get_all_publishers(&self) -> Vec<&EventSourceDef>
pub fn get_all_publishers(&self) -> Vec<&EventSourceDef>
Spec §6.6.8 — get_all_publishers() -> PublisherDescriptions.
Publisher = event_sources mit emit_only == false.
Sourcepub fn get_all_emitters(&self) -> Vec<&EventSourceDef>
pub fn get_all_emitters(&self) -> Vec<&EventSourceDef>
Spec §6.6.8 — get_all_emitters() -> EmitterDescriptions.
Emitter = event_sources mit emit_only == true.
Sourcepub fn get_named_publishers(&self, names: &[&str]) -> Vec<&EventSourceDef>
pub fn get_named_publishers(&self, names: &[&str]) -> Vec<&EventSourceDef>
Spec §6.6.8 — get_named_publishers(names).
Sourcepub fn get_named_emitters(&self, names: &[&str]) -> Vec<&EventSourceDef>
pub fn get_named_emitters(&self, names: &[&str]) -> Vec<&EventSourceDef>
Spec §6.6.8 — get_named_emitters(names).
Sourcepub fn supports_interface(&self, interface_repo_id: &str) -> bool
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.
Sourcepub fn supported_interface_repo_ids(&self) -> &[String]
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
impl Clone for ComponentDef
Source§fn clone(&self) -> ComponentDef
fn clone(&self) -> ComponentDef
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComponentDef
impl Debug for ComponentDef
Source§impl Default for ComponentDef
impl Default for ComponentDef
Source§fn default() -> ComponentDef
fn default() -> ComponentDef
Source§impl PartialEq for ComponentDef
impl PartialEq for ComponentDef
Source§fn eq(&self, other: &ComponentDef) -> bool
fn eq(&self, other: &ComponentDef) -> bool
self and other values to be equal, and is used by ==.