summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1999-02-26 06:45:59 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1999-02-26 06:45:59 +0000
commitc409d712ba27cff18b02447f73a108cdbd158be8 (patch)
tree71ce3076a259e18022767763310c7c2f0c8461ee /TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
parentcaa101a3d8706e8bebba2a0431daabd7e37fafda (diff)
downloadATCD-c409d712ba27cff18b02447f73a108cdbd158be8.tar.gz
.
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl281
1 files changed, 147 insertions, 134 deletions
diff --git a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
index be3bf59e968..42e8395ed3b 100644
--- a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
+++ b/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
@@ -1,168 +1,181 @@
-//
// $Id$
-//
+
+#ifndef TAO_RTEC_EVENTCHANNELADMIN_IDL
+#define TAO_RTEC_EVENTCHANNELADMIN_IDL
+
#include "RtecEventComm.idl"
#include "RtecScheduler.idl"
-module RtecEventChannelAdmin {
-
+module RtecEventChannelAdmin
+{
exception AlreadyConnected {};
exception TypeError {};
- struct Dependency {
+ struct Dependency
+ {
RtecEventComm::Event event;
RtecScheduler::handle_t rt_info;
};
typedef sequence<Dependency> DependencySet;
- struct ConsumerQOS {
+ struct ConsumerQOS
+ {
DependencySet dependencies;
boolean is_gateway;
};
- struct Publication {
+ struct Publication
+ {
RtecEventComm::Event event;
RtecScheduler::Dependency_Info dependency_info;
};
typedef sequence<Publication> PublicationSet;
- struct SupplierQOS {
+ struct SupplierQOS
+ {
PublicationSet publications;
boolean is_gateway;
};
- interface ProxyPushSupplier: RtecEventComm::PushSupplier {
- // = TITLE
- // The Proxy Supplier
- //
- // = DESCRIPTION
- // Consumers receive their events from objects of this type. See
- // the interfaces below to see how to gain access to an object
- // reference of this type.
-
- void connect_push_consumer(
- in RtecEventComm::PushConsumer push_consumer,
- in ConsumerQOS qos)
- raises(AlreadyConnected, TypeError);
- // Before receiving any events the consumer must provide its
- // publication list and QoS information to the Event Channel
- // through this method.
-
- void suspend_connection ();
- // Temporarly suspend reception of events from the Event
- // Channel. Calling this method is more efficient than dropping
- // them on the receiving end and less expensive than disconnecting
- // and connecting again (but it is not free!!)
-
- void resume_connection ();
- // Resume the reception of events.
- };
-
- interface ProxyPushConsumer: RtecEventComm::PushConsumer {
- // = TITLE
- // The Proxy Consumer
- //
- // = DESCRIPTION
- // Suppliers push their events to objects of this type. See the
- // interfaces below to see how to gain access to an object
- // reference of this type.
-
- void connect_push_supplier(
- in RtecEventComm::PushSupplier push_supplier,
- in SupplierQOS qos)
- raises(AlreadyConnected);
- // Before pushing events the supplier must provide its publication
- // list and QoS information to the Event Channel through this
- // method.
- };
+ interface ProxyPushSupplier: RtecEventComm::PushSupplier
+ {
+ // = TITLE
+ // The Proxy Supplier
+ //
+ // = DESCRIPTION
+ // Consumers receive their events from objects of this type. See
+ // the interfaces below to see how to gain access to an object
+ // reference of this type.
+
+ void connect_push_consumer(in RtecEventComm::PushConsumer push_consumer,
+ in ConsumerQOS qos)
+ raises(AlreadyConnected, TypeError);
+ // Before receiving any events the consumer must provide its
+ // publication list and QoS information to the Event Channel
+ // through this method.
+
+ void suspend_connection ();
+ // Temporarly suspend reception of events from the Event
+ // Channel. Calling this method is more efficient than dropping
+ // them on the receiving end and less expensive than disconnecting
+ // and connecting again (but it is not free!!)
+
+ void resume_connection ();
+ // Resume the reception of events.
+ };
+
+ interface ProxyPushConsumer: RtecEventComm::PushConsumer
+ {
+ // = TITLE
+ // The Proxy Consumer
+ //
+ // = DESCRIPTION
+ // Suppliers push their events to objects of this type. See the
+ // interfaces below to see how to gain access to an object
+ // reference of this type.
+
+ void connect_push_supplier (in RtecEventComm::PushSupplier push_supplier,
+ in SupplierQOS qos)
+ raises (AlreadyConnected);
+ // Before pushing events the supplier must provide its
+ // publication list and QoS information to the Event Channel
+ // through this method.
+ };
// @@ TODO: Find out the exception specs for the following interface's
// methods.
- interface ConsumerAdmin {
- // = TITLE
- // The Supplier factory
- //
- // = DESCRIPTION
- // Consumers use this interface to create suppliers they can
- // connect to.
-
- ProxyPushSupplier obtain_push_supplier();
- // Obtain a supplier
- };
- interface SupplierAdmin {
- // = TITLE
- // The Consumer factory
- //
- // = DESCRIPTION
- // Suppliers use this interface to create consumers they can
- // connect to.
-
- ProxyPushConsumer obtain_push_consumer();
- // Obtain a consumer
- };
-
- interface Observer {
- // = TITLE
- // Observes any changes in the consumer or supplier sets for an
- // Event Channel
- //
- // = DESCRIPTION
- // This object receives updates from Event Channels with any
- // changes on set of consumer and or suppliers registered with
- // the Event Channel.
-
- void update_consumer (in ConsumerQOS sub);
- // A change in the list of consumers has ocurred. The disjunction
- // of the subscriptions (and its equivalent form ) is
- // passed to the observer.
-
- void update_supplier (in SupplierQOS pub);
- // A change in the list of consumers has ocurred. The disjunction
- // of the publications (and its equivalent form for suppliers).
- };
+ interface ConsumerAdmin
+ {
+ // = TITLE
+ // The Supplier factory
+ //
+ // = DESCRIPTION
+ // Consumers use this interface to create suppliers they can
+ // connect to.
+
+ ProxyPushSupplier obtain_push_supplier ();
+ // Obtain a supplier
+ };
+
+ interface SupplierAdmin
+ {
+ // = TITLE
+ // The Consumer factory
+ //
+ // = DESCRIPTION
+ // Suppliers use this interface to create consumers they can
+ // connect to.
+
+ ProxyPushConsumer obtain_push_consumer ();
+ // Obtain a consumer
+ };
+
+ interface Observer
+ {
+ // = TITLE
+ // Observes any changes in the consumer or supplier sets for an
+ // Event Channel
+ //
+ // = DESCRIPTION
+ // This object receives updates from Event Channels with any
+ // changes on set of consumer and or suppliers registered with
+ // the Event Channel.
+
+ void update_consumer (in ConsumerQOS sub);
+ // A change in the list of consumers has ocurred. The disjunction
+ // of the subscriptions (and its equivalent form ) is
+ // passed to the observer.
+
+ void update_supplier (in SupplierQOS pub);
+ // A change in the list of consumers has ocurred. The disjunction
+ // of the publications (and its equivalent form for suppliers).
+ };
typedef unsigned long Observer_Handle;
// This is used as an opaque ID to control the addition and removal
// of handles from an event channel.
- interface EventChannel {
- // = TITLE
- // The Event Channel class
- //
- // = DESCRIPTION
- // This class provides the main entry point for the Event
- // Channel. The class follows a protocol similar to the
- // COS Event Service as described in the CORBAservices spec.
- //
- exception SYNCHRONIZATION_ERROR {};
- exception QOS_ERROR {};
- exception SUBSCRIPTION_ERROR {};
- exception CORRELATION_ERROR {};
- exception DISPATCH_ERROR {};
- exception CANT_APPEND_OBSERVER {};
- exception CANT_REMOVE_OBSERVER {};
-
- ConsumerAdmin for_consumers();
- // Consumers call this method to gain access to the
- // ProxyPushSupplier factory.
-
- SupplierAdmin for_suppliers();
- // Suppliers call this method to gain access to the
- // ProxyPushConsumer factory.
-
- void destroy ();
- // This method shutdown the Event Channel, destroy any resources
- // for it and actually shutdown the server where the Event Channel
- // is running.
-
- Observer_Handle append_observer (in Observer gw)
- raises (SYNCHRONIZATION_ERROR,CANT_APPEND_OBSERVER);
- // Add a gateway to the Event Channel, the handle returned must be
- // used to remove the gateway from the ORB.
-
- void remove_observer (in Observer_Handle gw)
- raises (SYNCHRONIZATION_ERROR,CANT_REMOVE_OBSERVER);
- // Remove the observer.
- // @@ TODO: We should raise something if the handle is invalid.
- };
+ interface EventChannel
+ {
+ // = TITLE
+ // The Event Channel class
+ //
+ // = DESCRIPTION
+ // This class provides the main entry point for the Event
+ // Channel. The class follows a protocol similar to the
+ // COS Event Service as described in the CORBAservices spec.
+ //
+ exception SYNCHRONIZATION_ERROR {};
+ exception QOS_ERROR {};
+ exception SUBSCRIPTION_ERROR {};
+ exception CORRELATION_ERROR {};
+ exception DISPATCH_ERROR {};
+ exception CANT_APPEND_OBSERVER {};
+ exception CANT_REMOVE_OBSERVER {};
+
+ ConsumerAdmin for_consumers ();
+ // Consumers call this method to gain access to the
+ // ProxyPushSupplier factory.
+
+ SupplierAdmin for_suppliers ();
+ // Suppliers call this method to gain access to the
+ // ProxyPushConsumer factory.
+
+ void destroy ();
+ // This method shutdown the Event Channel, destroy any resources
+ // for it and actually shutdown the server where the Event Channel
+ // is running.
+
+ Observer_Handle append_observer (in Observer gw)
+ raises (SYNCHRONIZATION_ERROR,CANT_APPEND_OBSERVER);
+ // Add a gateway to the Event Channel, the handle returned must be
+ // used to remove the gateway from the ORB.
+
+ void remove_observer (in Observer_Handle gw)
+ raises (SYNCHRONIZATION_ERROR,CANT_REMOVE_OBSERVER);
+ // Remove the observer.
+ // @@ TODO: We should raise something if the handle is invalid.
+ };
};
+
+#endif /* TAO_RTEC_EVENTCHANNELADMIN_IDL */