//This file contains OMG IDL and PIDL for the Common Object Services. //CosNaming Module, p 3-6 CORBAservices, Naming Service V1.0, 3/94 #pragma prefix "omg.org" module CosNaming { typedef string Istring; struct NameComponent { Istring id; Istring kind; }; typedef sequence Name; enum BindingType {nobject, ncontext}; struct Binding { Name binding_name; BindingType binding_type; }; typedef sequence BindingList; interface BindingIterator; interface NamingContext { enum NotFoundReason { missing_node, not_context, not_object}; exception NotFound { NotFoundReason why; Name rest_of_name; }; exception CannotProceed { NamingContext cxt; Name rest_of_name; }; exception InvalidName{}; exception AlreadyBound {}; exception NotEmpty{}; void bind(in Name n, in Object obj) raises(NotFound, CannotProceed, InvalidName, AlreadyBound); void rebind(in Name n, in Object obj) raises(NotFound, CannotProceed, InvalidName); void bind_context(in Name n, in NamingContext nc) raises(NotFound, CannotProceed, InvalidName, AlreadyBound); void rebind_context(in Name n, in NamingContext nc) raises(NotFound, CannotProceed, InvalidName); Object resolve (in Name n) raises(NotFound, CannotProceed, InvalidName); void unbind(in Name n) raises(NotFound, CannotProceed, InvalidName); NamingContext new_context(); NamingContext bind_new_context(in Name n) raises(NotFound, AlreadyBound, CannotProceed, InvalidName); void destroy( ) raises(NotEmpty); void list (in unsigned long how_many, out BindingList bl, out BindingIterator bi); }; interface BindingIterator { boolean next_one(out Binding b); boolean next_n(in unsigned long how_many, out BindingList bl); void destroy(); }; //ume }; // Names Library interface in PIDL, CORBAservices p 3- 14, Naming Service V1.0 3/94 interface LNameComponent { // PIDL exception NotSet{}; string get_id() raises(NotSet); void set_id(in string i); string get_kind() raises(NotSet); void set_kind(in string k); void destroy(); }; interface LName { // PIDL exception NoComponent{}; exception OverFlow{}; exception InvalidName{}; LName insert_component(in unsigned long i, in LNameComponent n) raises(NoComponent, OverFlow); LNameComponent get_component(in unsigned long i) raises(NoComponent); LNameComponent delete_component(in unsigned long i) raises(NoComponent); unsigned long num_components(); boolean equal(in LName ln); boolean less_than(in LName ln); Name to_idl_form() raises(InvalidName); void from_idl_form(in Name n); void destroy(); }; //LName create_lname(); // C/C++ //LNameComponent create_lname_component(); // C/C++ }; //ume