From ee7bb57651e440de2f04fe0028c8cb892c8e9c2c Mon Sep 17 00:00:00 2001 From: dengg Date: Thu, 26 Oct 2006 16:43:10 +0000 Subject: Merged from CIAO-events-3 branch. --- modules/CIAO/ciao/CCM_Event.idl | 13 ++++++-- modules/CIAO/ciao/Deployment_Core.idl | 9 ++++-- modules/CIAO/ciao/Deployment_Events.idl | 49 ++++++++++++++++++++++++------- modules/CIAO/ciao/Home_Servant_Impl_T.cpp | 4 +-- 4 files changed, 56 insertions(+), 19 deletions(-) diff --git a/modules/CIAO/ciao/CCM_Event.idl b/modules/CIAO/ciao/CCM_Event.idl index 6349682550a..760b95adc85 100644 --- a/modules/CIAO/ciao/CCM_Event.idl +++ b/modules/CIAO/ciao/CCM_Event.idl @@ -28,9 +28,16 @@ module Components { void push_event (in EventBase evt) raises (BadEventType); - /// CIAO-specific operation to help support the capability - /// to subscribe to eventtypes more derived than the type - /// consumed. + // CIAO-specific operation to treat event service as regular event + // sink port. The source_id needs to be passed in to identify the + // source of the publisher port to support event filtering mechanism. + void ciao_push_event (in Components::EventBase evt, + in string source_id) + raises (BadEventType); + + // CIAO-specific operation to help support the capability + // to subscribe to eventtypes more derived than the type + // consumed. boolean ciao_is_substitutable (in string event_repo_id); }; diff --git a/modules/CIAO/ciao/Deployment_Core.idl b/modules/CIAO/ciao/Deployment_Core.idl index 56e1c7aceea..b61836faf7d 100644 --- a/modules/CIAO/ciao/Deployment_Core.idl +++ b/modules/CIAO/ciao/Deployment_Core.idl @@ -4,7 +4,7 @@ #define DEPLOYMENT_CORE_IDL #include "CCM_Component.idl" -#include +#include "Deployment_Events.idl" // *************** Packaging and Deployment *************** module Deployment @@ -207,6 +207,7 @@ module Deployment typedef sequence Containers; typedef sequence CIAO_Event_Services; + /* /// CIAO specific extension /// This struct captures the installation information of a particular /// CIAO_Event_Service, as defined in @@ -220,6 +221,7 @@ module Deployment /// CIAO specific extension typedef sequence ESInstallationInfos; + */ interface NodeApplication : Application { @@ -243,10 +245,11 @@ module Deployment ::Components::RemoveFailure); /// CIAO specific extension - /// This operation will create one or more CIAO_Event_Service objects + /// This operation will create one CIAO_Event_Service object /// within the NodeApplication, which will be used to mediate the /// communication of CCM events - CIAO_Event_Services install_es (in ESInstallationInfos es_infos) + CIAO::CIAO_Event_Service install_es ( + in CIAO::DAnCE::EventServiceDeploymentDescription es_info) raises (InstallationFailure); /// CIAO specific extensions diff --git a/modules/CIAO/ciao/Deployment_Events.idl b/modules/CIAO/ciao/Deployment_Events.idl index 1d4d431287c..95774dba3f7 100644 --- a/modules/CIAO/ciao/Deployment_Events.idl +++ b/modules/CIAO/ciao/Deployment_Events.idl @@ -13,19 +13,13 @@ #include +// EventServiceType definition +#include + module CIAO { module DAnCE { - /// CIAO specific extension to describe pub/sub services in the deployment - enum EventServiceType - { - EC, - RTEC, - NOTIFY, - RTNOTIFY - }; - /// Each element in the EventSourceSet denotes a event source id typedef string EventSourceId; @@ -46,8 +40,39 @@ module CIAO FilterType type; EventSourceSet sources; }; + typedef sequence EventFilters; + + struct AddrServer + { + string name; + unsigned short port; + string address; + }; + typedef sequence AddrServers; + + struct UDPSender + { + string name; + string addr_serv_id; + }; + typedef sequence UDPSenders; - typedef sequence < EventFilter > EventFilters; + struct UPDReceiver + { + string name; + string addr_serv_id; + boolean is_multicast; + unsigned short listen_port; + }; + typedef sequence UPDReceivers; +/* + struct EventHandler + { + string name; + boolean is_multicast; + }; + typedef sequence EventHandlers; + */ /// CIAO specific extension to describe pub/sub services in the deployment struct EventServiceDeploymentDescription @@ -58,8 +83,10 @@ module CIAO string svc_cfg_file; EventFilters filters; + AddrServers addr_servs; + UDPSenders senders; + UPDReceivers receivers; }; - typedef sequence < EventServiceDeploymentDescription > EventServiceDeploymentDescriptions; }; diff --git a/modules/CIAO/ciao/Home_Servant_Impl_T.cpp b/modules/CIAO/ciao/Home_Servant_Impl_T.cpp index 12ce1132f10..ee7af2c4072 100644 --- a/modules/CIAO/ciao/Home_Servant_Impl_T.cpp +++ b/modules/CIAO/ciao/Home_Servant_Impl_T.cpp @@ -194,7 +194,7 @@ namespace CIAO ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (COMP_SVNT::_stub_type::_nil ()); - typedef typename COMP_SVNT::_stub_type stub_type; + typedef typename COMP_SVNT::_stub_type stub_type; COMP_SVNT *svt = 0; ACE_NEW_RETURN (svt, COMP_SVNT (exe, @@ -213,7 +213,7 @@ namespace CIAO ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (COMP_SVNT::_stub_type::_nil ()); - typedef typename COMP_SVNT::_stub_type stub_type; + typedef typename COMP_SVNT::_stub_type stub_type; typename COMP_SVNT::_stub_var_type ho = stub_type::_narrow (objref.in () ACE_ENV_ARG_PARAMETER); -- cgit v1.2.1