1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! 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);
//! ```
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;