diff options
author | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
---|---|---|
committer | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
commit | 06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b (patch) | |
tree | 8815ce3b3a85c3c4285429295f338e00ea4497f4 /CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl | |
parent | d66fcc9b4aaec8e88eeb83fc578fdf8a3cc963de (diff) | |
download | ATCD-Static_RT_DAnCE.tar.gz |
Diffstat (limited to 'CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl')
-rw-r--r-- | CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl b/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl new file mode 100644 index 00000000000..266f8b472e9 --- /dev/null +++ b/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl @@ -0,0 +1,79 @@ +// $Id$ + +/** + * @file CIAO_Events.idl + * + * @author George Edwards <g.edwards@vanderbilt.edu> + * @author Gan Deng <dengg@dre.vanderbilt.edu> + * + * @brief Interfaces for configuring CIAO's event mechanism. + */ + +#if !defined (CIAO_EVENTS_IDL) +#define CIAO_EVENTS_IDL + +#include "ciao/CCM_EventConsumerBase.idl" +#include "ciao/CCM_Base.idl" + +module CIAO +{ + /// A component's UUID + port name. + typedef string CONNECTION_ID; + + enum EventServiceType + { + EC, + RTEC, + NOTIFY, + RTNOTIFY + }; + + interface Supplier_Config + { + attribute CONNECTION_ID supplier_id; + + readonly attribute EventServiceType service_type; + + void destroy (); + }; + + interface Consumer_Config + { + attribute CONNECTION_ID consumer_id; + + readonly attribute EventServiceType service_type; + + attribute Components::EventConsumerBase consumer; + + void start_conjunction_group (in long size); + + void start_disjunction_group (in long size); + + void insert_source (in CONNECTION_ID source_id); + + void insert_type (in long event_type); + + void destroy (); + }; + + interface CIAO_Event_Service : Components::EventConsumerBase + { + Supplier_Config create_supplier_config (); + + Consumer_Config create_consumer_config (); + + void connect_event_supplier (in Supplier_Config supplier_conf); + + void connect_event_consumer (in Consumer_Config consumer_conf); + + void disconnect_event_supplier (in CONNECTION_ID conn_id) + raises (Components::InvalidConnection); + + void disconnect_event_consumer (in CONNECTION_ID conn_id) + raises (Components::InvalidConnection); + + //void push_event (in Components::EventBase ev); + }; +}; + +#endif /* CIAO_EVENTS_IDL */ |