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
74
75
76
77
78
79
80
81
82
83
84
85
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! OMG AMI4CCM 1.1 — Asynchronous Method Invocation for CORBA Component Model.
//!
//! Crate `zerodds-ami4ccm`. Safety classification: **STANDARD**.
//! Spec `formal/2015-08-03` (`docs/standards/cache/omg/ami4ccm-1.1.pdf`).
//!
//! # Scope
//!
//! AMI4CCM ist eine Transformations-Spec: aus einer normalen IDL-
//! `interface`-Definition werden zwei zusaetzliche Local-Interfaces
//! abgeleitet (Spec §7.3 + §7.5):
//!
//! 1. `AMI4CCM_<Iface>` — Async-Operations mit `sendc_`-Praefix.
//! 2. `AMI4CCM_<Iface>ReplyHandler` — Type-spezifische Callbacks +
//! `_excep`-Operations.
//!
//! Plus `CCM_AMI::ExceptionHolder` als Datenmodell fuer Exception-
//! Lieferung (Spec §7.4.1) und Pragma-Parsing fuer
//! `#pragma ami4ccm interface "<name>"` und
//! `#pragma ami4ccm receptacle "<comp>::<recep>"` (Spec §7.7).
//!
//! Die Transformation arbeitet auf dem AST-Layer von [`zerodds_idl::ast`]:
//! Eingabe ist `InterfaceDef`, Ausgabe sind zwei neu konstruierte
//! `InterfaceDef`-Instanzen (`InterfaceKind::Local`), die jedes
//! Codegen-Backend (cpp/cs/java/ts) wie normale Interfaces behandeln
//! kann.
//!
//! # Was nicht abgedeckt ist
//!
//! * **AMI4CCM Connector + Deployment** (Spec §7.6 + §7.8) — der
//! Connector-Fragment-Code wird via D&C in einen CCM-Container
//! deployed (`Components::EnterpriseComponent`,
//! `CCM_AMI::Connector_T`-Templated-Module). ZeroDDS hat keinen CCM-
//! Container/Executor; siehe Audit-File
//! `docs/spec-coverage/omg-ami4ccm-1.1.md`. Die **Implied-IDL-
//! Transformation** (Conformance-Punkt 1) ist voll abgedeckt; der
//! **Connector-Fragment** (Conformance-Punkt 2) ist `n/a` ohne
//! CCM-Runtime.
//! * **CCM-Pragma-Pre-Processor-Integration** — Pragma-Parsing ist als
//! eigenstaendige Funktion realisiert; Integration in den IDL-
//! Preprocessor laesst sich darauf aufbauen, sobald CCM ein
//! Top-Level-Vorhaben ist.
//!
//! # Beispiel
//!
//! ```
//! use zerodds_ami4ccm::{Ami4CcmPragma, parse_pragma};
//!
//! let p = parse_pragma("#pragma ami4ccm interface \"Stock::StockManager\"").unwrap();
//! assert_eq!(
//! p,
//! Ami4CcmPragma::Interface {
//! name: "Stock::StockManager".into(),
//! }
//! );
//! ```
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;