Skip to main content

Module psm_cxx

Module psm_cxx 

Source
Expand description

C5.2: DDS-PSM-CXX 1.0 Header-Skeleton-Layer.

Statt eines vollen Codegens (der Rust→C++-Cross-Compile waere) liefert diese Schicht statische Header-Templates fuer den dds::core::*- Namespace, plus Codegen-Helper, die diese Templates fuer ein konkretes Topic-IDL emittieren.

Spec-Referenz: OMG DDS-PSM-CXX 1.0 (formal/22-08-04).

§Bestandteile

  • dds::core::Reference<T>/dds::core::Value<T>-Pattern (Spec §7.1.6).
  • Exception-Hierarchie (Spec §7.1.7).
  • Listener / Status / Condition / WaitSet (Spec §8.3).
  • Domain/Topic/Pub/Sub-Klassen (Spec §8.1).

§API

Die Templates liegen statisch unter templates/dds-psm-cxx/*.hpp.tmpl und werden via include_str! zur Build-Zeit eingebettet.

Functions§

emit_condition_skeleton
Emittiert die Condition/WaitSet-Klassen aus Spec §8.3.
emit_core_basics
Emittiert die dds::core-Basis-Header (Time, Duration, InstanceHandle, Sample).
emit_exception_hierarchy
Emittiert die DDS-Exception-Hierarchie aus Spec §7.1.7.
emit_full_psm_cxx_skeleton
Erzeugt einen vollstaendigen DDS-PSM-CXX-Skeleton-Header inkl. aller statischer Templates. Wird in den Fixture-Tests gegen die existierenden C5.1-a-Outputs gemerged geprueft.
emit_listener_skeleton
Emittiert das Listener-Skeleton aus Spec §8.3.
emit_psm_cxx_includes
Erzeugt den #include-Block fuer einen konkreten Topic.
emit_reference_value_pattern
Emittiert das Reference/Value-Pattern aus Spec §7.1.6.