Expand description
OMG CORBA 3.3 Part 1 §14 — Interface Repository (IR).
Crate zerodds-corba-ir. Safety classification: STANDARD.
no_std + alloc, forbid(unsafe_code).
Full IR stack: TypeCode (all 32 TCKinds — tk_null … tk_local_interface),
Repository with a containment hierarchy (Container/Definition/Module),
DefinitionKind (dk_* constants), structured RepositoryId
with a spec §10.7.3.1 format parser/builder.
§Public API (as of 1.0.0-rc.1)
RepositoryId—IDL:<scoped>:<major>.<minor>parser/builder.TypeCode/TcKind/UnionMember— TypeCode model.Repository/Container/Definition/Module— IR hierarchy.DefinitionKind—dk_None…dk_LocalInterface.IrError/IrResult— repository error.
§Consumers
- [
zerodds_corba_poa] usesRepositoryId::parsefor typed validation of servant interfaces (spec §11.3.5.20.4_is_a). - External CORBA applications consume the IR via IIOP/IOR.
§Example
use zerodds_corba_ir::RepositoryId;
let r = RepositoryId::parse("IDL:omg.org/CosNaming/NamingContext:1.0").unwrap();
assert_eq!(r.scoped_name, "omg.org/CosNaming/NamingContext");
assert_eq!(r.major, 1);
assert_eq!(r.minor, 0);Re-exports§
pub use definition_kind::DefinitionKind;pub use error::IrError;pub use error::IrResult;pub use repository::AttributeMode;pub use repository::Container;pub use repository::DefDetails;pub use repository::Definition;pub use repository::Module;pub use repository::OperationMode;pub use repository::ParameterDef;pub use repository::ParameterMode;pub use repository::Repository;pub use repository_id::RepositoryId;pub use type_code::TcKind;pub use type_code::TypeCode;pub use type_code::UnionMember;
Modules§
- definition_
kind - DefinitionKind — Spec §10.5.2.
- error
- IR errors.
- repository
- Repository + container hierarchy — spec §10.5.4-§10.5.6.
- repository_
id - RepositoryId — spec §10.7.3.
- type_
code - TypeCode — Spec §10.7.