XIDLC Compiler Pragma Extensions
xidlc extends IDL preprocessor directives to control code generation behavior.
Syntax
Use standard #pragma directives (case-insensitive):
Supported Pragmas
1. Serialization version
Equivalent form:
Effect:
- Sets
SerializeVersion(Xcdr1orXcdr2). - Affects default
SerializeKindinference for generated types.
2. Explicit serialization kind
#pragma xidlc serialize(CDR)
#pragma xidlc serialize(PLAIN_CDR)
#pragma xidlc serialize(PL_CDR)
#pragma xidlc serialize(PLAIN_CDR2)
#pragma xidlc serialize(DELIMITED_CDR)
#pragma xidlc serialize(PL_CDR2)
Effect:
- Directly sets
SerializeKind. - Has higher priority than
XCDR1/XCDR2version-based inference.
3. OpenAPI title (package)
Effect:
- Sets OpenAPI
info.title.
4. OpenAPI version (version)
Effect:
- Sets OpenAPI
info.version.
Scope and precedence
- Pragmas are applied in file order; later values override earlier values of the same kind.
packageandversiononly affect OpenAPI generation.XCDR1,XCDR2, andserialize(...)affect serialization configuration.- Values may be quoted with single or double quotes; outer quotes are trimmed.