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
emit_psm_cxx_includes: erzeugt#include-Block fuer einen konkreten Topic-Namen.emit_reference_value_pattern: emittiert die Reference/Value- Templates (Reference<T>,Value<T>).emit_listener_skeleton: emittiert die Listener-Klassen mit den 13 Status-Callbacks aus Block F.emit_exception_hierarchy: emittiert die DDS-Exception-Klassen.
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.