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).
Voller IR-Stack: TypeCode (alle 32 TCKinds — tk_null … tk_local_interface),
Repository mit Containment-Hierarchie (Container/Definition/Module),
DefinitionKind (dk_*-Konstanten), strukturierte RepositoryId
mit Spec-§10.7.3.1-Format-Parser/Builder.
§Public API (Stand 1.0.0-rc.1)
RepositoryId—IDL:<scoped>:<major>.<minor>Parser/Builder.TypeCode/TcKind/UnionMember— TypeCode-Modell.Repository/Container/Definition/Module— IR-Hierarchie.DefinitionKind—dk_None…dk_LocalInterface.IrError/IrResult— Repository-Fehler.
§Konsumenten
- [
zerodds_corba_poa] verwendetRepositoryId::parsezur typisierten Validierung von Servant-Interfaces (Spec §11.3.5.20.4_is_a). - Externe CORBA-Anwendungen konsumieren den IR via IIOP/IOR.
§Beispiel
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::Container;pub use repository::Definition;pub use repository::Module;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-Fehler.
- repository
- Repository + Container-Hierarchie — Spec §10.5.4-§10.5.6.
- repository_
id - RepositoryId — Spec §10.7.3.
- type_
code - TypeCode — Spec §10.7.