zerodds-corba-codegen 1.0.0-rc.3.1

OMG CORBA 3.3 Annex-A.1 IDL-Mapping Codegen-Helpers (C++/C#/Java) — 13 Special-Types + Stub/Skeleton-Templates + Repository-ID-Builder. no_std + alloc.
Documentation
  • Coverage
  • 100%
    45 out of 45 items documented1 out of 12 items with examples
  • Size
  • Source code size: 28.12 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 728.93 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 4s Average build duration of successful builds.
  • all releases: 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • zero-objects/zero-dds
    6 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SandraK82

zerodds-corba-codegen

License: Apache-2.0 docs.rs

OMG CORBA 3.3 Annex-A.1 IDL mapping codegen helpers — tables + helpers consumed by zerodds-idl-cpp/-csharp/-java to generate CORBA stub/skeleton code. no_std + alloc, forbid(unsafe_code). Safety classification: STANDARD.

Spec mapping

Spec Section
OMG CORBA 3.3 Part 1 Annex A (IDL type mappings), §10.7.3.1 (repository ID)
OMG IDL-to-C++ formal/2008-01-09
OMG IDL-to-Java formal/2008-01-04

What's inside

  • SpecialType / TargetLanguage / language_mapping — 13 Annex-A.1 special types (Object, ValueBase, AbstractBase, NativeRef, TypeCode, any, sequence-of-any, string, wstring, Time, fixed, ULongLong, LongDouble) with language mappings for C++ / C# / Java.
  • StubOp / render_stub_op — client-stub template (sends a GIOP request, expects a reply with a ReplyStatus switch).
  • SkeletonOp / render_skeleton_dispatch — server-side dispatch template (operation-name switch).
  • build_repository_id — Spec §10.7.3.1 repository ID builder (IDL:<scoped-name>:<major>.<minor>).

Layer position

Layer 8 — CORBA stack. Substrate for the three OMG PSM codegen crates (zerodds-idl-cpp / zerodds-idl-csharp / zerodds-idl-java).

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");

Feature flags

Feature Default Purpose
std Standard library.
alloc ✅ (via std) String / Vec.

no_std-capable: default-features = false, features = ["alloc"].

Stability

1.0.0-rc.1. Public API + Annex-A.1 mapping tables are RC1-stable; spec changes require a major bump.

Tests

cargo test -p zerodds-corba-codegen

16 unit tests passing.

License

Apache-2.0. See LICENSE.

See also