pub struct ParserConfig {
pub version: IdlVersion,
pub compat: CompatMode,
pub vendor: VendorExt,
pub profile: Profile,
pub features: IdlFeatures,
}Expand description
Configuration for the top-level parser.
§Example
use zerodds_idl::config::ParserConfig;
let cfg = ParserConfig::default();
assert_eq!(cfg.version, zerodds_idl::grammar::IdlVersion::V4_2);Fields§
§version: IdlVersionWhich IDL spec version to parse. Default: V4_2.
compat: CompatModeHow strictly the OMG grammar rule set is enforced.
vendor: VendorExtWhich vendor extension(s) are additionally active. Legacy hook;
per-construct activation is now controlled by IdlFeatures.
profile: ProfileBuilding-block profile (§2.3 + §9). Controls which spec sections
(DDS-Basic, DDS-Extensible, Full with CORBA/CCM) are considered
valid. The default DdsExtensible reflects the
ZeroDDS use case (DDS stack with XTypes).
features: IdlFeaturesFeature-flag mask for per-construct activation. The default
follows the profile field; the user can additionally toggle
individual flags (e.g. CORBA template modules in the DDS-Extensible profile
for DDS-RPC service templates).
Implementations§
Source§impl ParserConfig
impl ParserConfig
Sourcepub const fn strict_4_2() -> Self
pub const fn strict_4_2() -> Self
Convenience: strict OMG-IDL-4.2 configuration (== Default).
Sourcepub const fn pragmatic_4_2() -> Self
pub const fn pragmatic_4_2() -> Self
Convenience: vendor-pragmatic configuration with a looser
strict interpretation (e.g. empty <member_list> allowed).
Sourcepub const fn plain_dds_4_2() -> Self
pub const fn plain_dds_4_2() -> Self
Convenience: plain-DDS profile (§2.3a) — minimal DDS stack without XTypes extensions, without CORBA/CCM constructs. Strict.
Sourcepub const fn full_4_2() -> Self
pub const fn full_4_2() -> Self
Convenience: full profile — IDL 4.2 with all building blocks (incl. CORBA profiles, if activated in the grammar).
Sourcepub const fn opensplice_legacy() -> Self
pub const fn opensplice_legacy() -> Self
OpenSplice legacy migration profile: CORBA-Full + legacy pragmas. For reference customers upgrading ancient OpenSplice IDLs.
Sourcepub const fn opensplice_modern() -> Self
pub const fn opensplice_modern() -> Self
OpenSplice modern profile.
Sourcepub const fn rti_connext() -> Self
pub const fn rti_connext() -> Self
RTI Connext profile.
Sourcepub const fn cyclonedds() -> Self
pub const fn cyclonedds() -> Self
Cyclone DDS profile.
Trait Implementations§
Source§impl Clone for ParserConfig
impl Clone for ParserConfig
Source§fn clone(&self) -> ParserConfig
fn clone(&self) -> ParserConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more