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
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! Crate `zerodds-corba-rust`. Safety classification: **STANDARD**.
//!
//! IDL → Rust Code-Generator fuer CORBA-Service-Konstrukte (Interface-
//! Traits + Stubs + Skeletons, Valuetypes, in Phase-2: Components,
//! Homes, POA-Bindings).
//!
//! Analog zu `zerodds-idl-cpp` / `-csharp` / `-java` aber emittiert Rust
//! statt C++/C#/Java. Konsumiert die `zerodds-corba-codegen`-Helpers
//! (Special-Types-Tabellen, Stub/Skeleton-Templates) und das
//! `zerodds-idl-rust::type_map` fuer DataType-Mapping.
//!
//! ## Schichten-Position
//!
//! Layer 8 (CORBA-Stack). Build-Zeit-Tool, std-only,
//! `forbid(unsafe_code)`.
//!
//! ## Spec-Quelle
//!
//! `docs/specs/zerodds-corba-rust-1.0.md` (ZeroDDS Vendor-Spec).
//! Konformitaetstraeger: OMG CORBA 3.3 Annex-A, OMG IDL4.
//!
//! ## Was wird emittiert
//!
//! | IDL | Rust |
//! |-------------------------------|---------------------------------------------------|
//! | `interface I { op(...); };` | `pub trait I` + `pub struct IStub` + `dispatch_i` |
//! | `attribute T x` | trait getter `fn x(&self)` + setter wenn writable |
//! | `oneway op(...)` | trait method ohne Reply |
//! | `valuetype V { ... };` | `pub trait V: ValueBase` |
//! | `component C` / `home H` | (Phase-2) |
//!
//! ## Public API
//!
//! - [`generate_corba_rust_module`] — AST + Optionen → Rust-Modul-Code.
//! - [`CorbaRustGenOptions`] — Codegen-Optionen.
//! - [`error::CorbaRustError`] — Fehler-Familie.
//!
//! Plus die Runtime-Public-API die der generierte Code referenziert:
//! - [`ObjectReference`] — IOR-Wrapper.
//! - [`CorbaException`] — System-/User-Exception-Variants.
//! - [`SkeletonResult`] — Server-Dispatch-Result.
//! - [`ValueBase`] — Trait fuer alle Valuetype-Implementierungen.
//! - [`Servant`] — POA-Servant-Marker.
pub use ;
pub use ;
pub use ;