From 3a4cc92b45891eb09f29297a791d66f9d0b6b1c3 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Fri, 24 Jun 2005 11:38:19 +0000 Subject: Add IDL for cosnaming and coseventcomm. svn path=/trunk/; revision=14744 --- idl/coseventcomm.idl | 34 ++++++++++++++++++ idl/cosnaming.idl | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 idl/coseventcomm.idl create mode 100644 idl/cosnaming.idl (limited to 'idl') diff --git a/idl/coseventcomm.idl b/idl/coseventcomm.idl new file mode 100644 index 0000000000..e659c8d560 --- /dev/null +++ b/idl/coseventcomm.idl @@ -0,0 +1,34 @@ +//File: CosEventComm.idl +//Part of the Event Service +//From http://industry.ebi.ac.uk/openBSA/idl/CosEventComm.idl + +#ifndef _COS_EVENT_COMM_IDL_ +#define _COS_EVENT_COMM_IDL_ +#pragma prefix "omg.org" + +module CosEventComm { + + exception Disconnected{}; + + interface PushConsumer { + void push (in any data) raises(Disconnected); + void disconnect_push_consumer(); + }; + + interface PushSupplier { + void disconnect_push_supplier(); + }; + + interface PullSupplier { + any pull () raises(Disconnected); + any try_pull (out boolean has_event) + raises(Disconnected); + void disconnect_pull_supplier(); + }; + + interface PullConsumer { + void disconnect_pull_consumer(); + }; + +}; +#endif /* ifndef _COS_EVENT_COMM_IDL_ */ diff --git a/idl/cosnaming.idl b/idl/cosnaming.idl new file mode 100644 index 0000000000..233d324f97 --- /dev/null +++ b/idl/cosnaming.idl @@ -0,0 +1,98 @@ +//File: CosNaming.idl +//The only module of the Naming Service +//From http://industry.ebi.ac.uk/openBSA/idl/CosNaming.idl + +#ifndef _COS_NAMING_IDL_ +#define _COS_NAMING_IDL_ +#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(); + }; + +}; +#endif /* ifndef _COS_NAMING_IDL_ */ -- cgit v1.2.1