Skip to main content

Crate zerodds_corba_ir

Crate zerodds_corba_ir 

Source
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_nulltk_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)

§Consumers

  • [zerodds_corba_poa] uses RepositoryId::parse for 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.