Expand description
OMG CCM 4.0 — CORBA Component Model.
Crate zerodds-ccm. Safety classification: STANDARD.
Spec formal/06-04-01 (docs/standards/cache/omg/ccm-4.0.pdf).
§Scope
Diese Crate implementiert den Equivalent-IDL-Transformations-
Anteil der CCM-4.0-Spec aus §6 (Component Model). Eingabe ist ein
zerodds_idl::ast::ComponentDef / HomeDef / EventDef; Ausgabe sind
die Spec-konformen interface-/valuetype-Definitionen, die ein
IDL-Compiler “implicitly defines” laut Spec §6.3.2 / §6.4.1 /
§6.5.1 / §6.6.x / §6.7.1.
Plus Modelle der Components::*-Core-Types (CCMObject, Cookie,
ConnectionDescription, Navigation/Receptacles/Events-Interfaces) als
Rust-Structs / -Enums, damit Caller darauf direkt referenzieren
koennen.
Plus Lightweight CCM Profile (§13) — Filter-Funktion, die den Equivalent-IDL-Output auf das LwCCM-Subset reduziert.
§Was nicht abgedeckt ist
Die folgenden Spec-Kapitel verlangen einen CORBA-ORB + CCM-
Container und sind in ZeroDDS bewusst n/a (Begruendung im
Audit-File docs/spec-coverage/omg-ccm-4.0.md):
- §7 CIDL Syntax + Semantics — Component Implementation Definition Language; targets §8 CIF.
- §8 CCM Implementation Framework — Servant-/Skeleton-Generator, verlangt POA + ORB.
- §9 Container Programming Model — Server-Programming-Environment, verlangt CORBA-ORB.
- §10 Integrating with Enterprise JavaBeans — verlangt EJB- Container.
- §11 Interface Repository Metamodel — verlangt CORBA-IFR.
- §12 CIF Metamodel — Implementation-Framework-MOF-Modell.
- §14 Deployment PSM for CCM — D&C-Subsystem (formal/2006-04-02).
- §15 Deployment IDL — Bestandteil von §14.
- §16 XML Schema for CCM — XSD-Schema des Deployment-Subsystems.
§Beispiel
use zerodds_ccm::Cookie;
let c = Cookie::new(vec![0x01, 0x02, 0x03]);
assert_eq!(c.cookie_value, vec![0x01, 0x02, 0x03]);
// Spec §6.5.2.4: Truncation auf Base behaelt cookieValue.
assert_eq!(c.truncate_to_base().cookie_value, c.cookie_value);Re-exports§
pub use lightweight::LightweightFilterError;pub use lightweight::filter_to_lightweight;pub use model::Cookie;pub use model::FailureReason;pub use model::FeatureName;pub use model::RepositoryId;pub use transform::ComponentEquivalent;pub use transform::EventTypeEquivalent;pub use transform::HomeEquivalent;pub use transform::scoped_name;pub use transform::transform_component;pub use transform::transform_event_type;pub use transform::transform_home;pub use validate::InitOp;pub use validate::PrimaryKeyError;pub use validate::apply_factory_finder_body;pub use validate::validate_primary_key;
Modules§
- dds4ccm
- DDS for Lightweight CCM 1.1 — Connector-Stub-Layer.
- lightweight
- Lightweight CCM Profile — Spec §13.
- model
Components::*Core-Types Model — Spec §6.4-§6.7 + §6.10.- transform
- Equivalent-IDL Transformation — Spec §6.3.2 / §6.4.1 / §6.5.1 / §6.6.x / §6.7.1.
- validate
- CCM 4.0 §6.7.2 PrimaryKey + §6.7.3 Factory/Finder Body Validator.