summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/Deployment_Events.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/Deployment_Events.idl')
-rw-r--r--modules/CIAO/ciao/Deployment_Events.idl95
1 files changed, 95 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/Deployment_Events.idl b/modules/CIAO/ciao/Deployment_Events.idl
new file mode 100644
index 00000000000..b0559dfe164
--- /dev/null
+++ b/modules/CIAO/ciao/Deployment_Events.idl
@@ -0,0 +1,95 @@
+// $Id$
+
+/**
+ * @file Deployment_Events.idl
+ *
+ * @brief A collection of IDL data types for CIAO pub/sub services deployment.
+ *
+ * @author Gan Deng
+ */
+
+#if !defined (CIAO_DEPLOYMENT_EVENT_SERVICES_IDL)
+#define CIAO_DEPLOYMENT_EVENT_SERVICES_IDL
+
+#include "tao/StringSeq.pidl"
+
+// EventServiceType definition
+#include <ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl>
+
+module CIAO
+{
+ module DAnCE
+ {
+ /// Each element in the EventSourceSet denotes a event source id
+ typedef string EventSourceId;
+
+ typedef sequence<EventSourceId> EventSourceSet;
+
+ /// Event Filters
+ enum FilterType
+ {
+ CONJUNCTION,
+ DISJUNCTION,
+ LOGICAL_AND,
+ NEGATE
+ };
+
+ struct EventFilter
+ {
+ string name;
+ FilterType type;
+ EventSourceSet sources;
+ };
+ typedef sequence<EventFilter> EventFilters;
+
+ struct AddrServer
+ {
+ string name;
+ unsigned short port;
+ string address;
+ };
+ typedef sequence<AddrServer> AddrServers;
+
+ struct UDPSender
+ {
+ string name;
+ string addr_serv_id;
+ };
+ typedef sequence<UDPSender> UDPSenders;
+
+ struct UPDReceiver
+ {
+ string name;
+ string addr_serv_id;
+ boolean is_multicast;
+ unsigned short listen_port;
+ };
+ typedef sequence<UPDReceiver> UPDReceivers;
+/*
+ struct EventHandler
+ {
+ string name;
+ boolean is_multicast;
+ };
+ typedef sequence<EventHandler> EventHandlers;
+ */
+
+ /// CIAO specific extension to describe pub/sub services in the deployment
+ struct EventServiceDeploymentDescription
+ {
+ string name;
+ string node;
+ EventServiceType type;
+ string svc_cfg_file;
+
+ EventFilters filters;
+ AddrServers addr_servs;
+ UDPSenders senders;
+ UPDReceivers receivers;
+ };
+ typedef sequence < EventServiceDeploymentDescription >
+ EventServiceDeploymentDescriptions;
+ };
+};
+
+#endif /* CIAO_DEPLOYMENT_EVENT_SERVICES_IDL */