zerodds-corba-codegen

Layer 8 — CORBA stack (Tier A). OMG CORBA 3.3 Annex A.1 IDL-mapping codegen helpers.

zerodds-corba-codegen holds the CORBA 3.3 Annex A.1 special types and the stub and skeleton mappings, over the common model (zerodds-ast): which of the thirteen special types a model type is, what the C++, C#, Java and Rust mappings call it, and the stub signatures and skeleton dispatch of an interface as syntax-tree nodes of zerodds-lang-cst, written out by zerodds-lang-render. no_std + alloc.

The Rust interface traits, client stubs and server skeletons are written by zerodds-corba-rust (generate_corba_rust_module), which builds on this crate; the data types come from zerodds-lang-rules. crates/corba-interop/build.rs does both in one build script. zerodds-idlc has no CORBA option.

Spec anchors

  • OMG CORBA 3.3 Part 1 Annex A + §10.7.3.1.
  • OMG IDL-to-C++ formal/2008-01-09.
  • OMG IDL-to-Java formal/2008-01-04.
  • OMG IDL-to-C# formal/2003-09-04.

Quickstart

use zerodds_corba_codegen::build_repository_id;

let id = build_repository_id(&["MyModule"], "MyInterface", 1, 0);
assert_eq!(id, "IDL:MyModule/MyInterface:1.0");

Stability

1.0.0-rc.7.

Runnable example

zerodds-corba-codegen

Layer 8 — CORBA-Stack (Tier-A). OMG CORBA 3.3 Annex-A.1 IDL-Mapping-Codegen-Helpers.

zerodds-corba-codegen enthält die Sondertypen aus Annex A.1 von CORBA 3.3 und die Abbildungen für Stubs und Skeletons, über dem gemeinsamen Modell (zerodds-ast): welcher der dreizehn Sondertypen ein Typ des Modells ist, wie ihn die Abbildungen für C++, C#, Java und Rust nennen, und die Stub-Signaturen und der Skeleton-Dispatch eines Interfaces als Knoten des Syntaxbaums von zerodds-lang-cst, ausgegeben von zerodds-lang-render. no_std + alloc.

Die Rust-Interface-Traits, Client-Stubs und Server-Skeletons schreibt zerodds-corba-rust (generate_corba_rust_module), das auf diesem Crate aufsetzt; die Datentypen kommen aus zerodds-lang-rules. crates/corba-interop/build.rs macht beides in einem Build-Skript. zerodds-idlc hat keine CORBA-Option.

Spec-Anker

  • OMG CORBA 3.3 Part 1 Annex A + §10.7.3.1.
  • OMG IDL-to-C++ formal/2008-01-09.
  • OMG IDL-to-Java formal/2008-01-04.
  • OMG IDL-to-C# formal/2003-09-04.

Quickstart

use zerodds_corba_codegen::build_repository_id;

let id = build_repository_id(&["MyModule"], "MyInterface", 1, 0);
assert_eq!(id, "IDL:MyModule/MyInterface:1.0");

Stabilität

1.0.0-rc.7.

Lauffähiges Beispiel