summaryrefslogtreecommitdiff
path: root/TAO/CIAO/ciao/Deployment_Core.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/ciao/Deployment_Core.idl')
-rw-r--r--TAO/CIAO/ciao/Deployment_Core.idl44
1 files changed, 36 insertions, 8 deletions
diff --git a/TAO/CIAO/ciao/Deployment_Core.idl b/TAO/CIAO/ciao/Deployment_Core.idl
index 831b41752cd..38e27231d64 100644
--- a/TAO/CIAO/ciao/Deployment_Core.idl
+++ b/TAO/CIAO/ciao/Deployment_Core.idl
@@ -4,6 +4,7 @@
#define DEPLOYMENT_CORE_IDL
#include "CCM_Component.idl"
+#include <ciaosvcs/Events/CIAO_Events.idl>
// *************** Packaging and Deployment ***************
module Deployment
@@ -97,6 +98,12 @@ module Deployment
// the endpoints member is change to endpoint.
// Since we will not have more than 1 objref in there.
Object endpoint;
+
+ // A wrapper facade interface to provision different event
+ // communication mechanisms, including RTEC, etc.
+ CIAO::CIAO_Event_Service event_service;
+
+ CIAO::EventServiceType type;
};
typedef sequence < Connection > Connections;
@@ -205,6 +212,20 @@ module Deployment
};
typedef sequence<Container> Containers;
+ typedef sequence<CIAO::CIAO_Event_Service> CIAO_Event_Services;
+
+ /// CIAO specific extension
+ /// This struct captures the installation information of a particular
+ /// CIAO_Event_Service, as defined in <ciaosvcs/Events/CIAO_Events.idl>
+ struct ESInstallationInfo
+ {
+ string id;
+ CIAO::EventServiceType type;
+ Properties es_config;
+ };
+
+ /// CIAO specific extension
+ typedef sequence<ESInstallationInfo> ESInstallationInfos;
interface NodeApplication : Application
{
@@ -227,45 +248,52 @@ module Deployment
::Components::InvalidConfiguration,
::Components::RemoveFailure);
+ /// CIAO specific extension
+ /// This operation will create one or more CIAO_Event_Service objects
+ /// within the NodeApplication, which will be used to mediate the
+ /// communication of CCM events
+ CIAO_Event_Services install_es (in ESInstallationInfos es_infos)
+ raises (InstallationFailure);
+
/// CIAO specific extensions
///@@ We know that Deployment::NodeApplicationManager will be returned,
/// however to avoid the size of the shared object of CIAO_Server.
/// we return an Object.
Object get_node_application_manager ();
- /// CIAO specific extensions
+ /// CIAO specific extension
Container create_container (in ::Deployment::Properties properties)
raises (::Components::CreateFailure,
::Components::InvalidConfiguration);
- /// CIAO specific extensions
+ /// CIAO specific extension
void remove_container (in Container cref)
raises (::Components::RemoveFailure);
- /// CIAO specific extensions
+ /// CIAO specific extension
Containers get_containers ();
- /// CIAO specific extensions
+ /// CIAO specific extension
/// Remove a component instance from the NodeApplication
void remove_component (in string inst_name)
raises (::Components::RemoveFailure);
- /// CIAO specific extensions
+ /// CIAO specific extension
/// Remove all containers, components and component homes.
/// Shuts down the ORB of the NodeApplication to terminate the process.
oneway void remove ();
- /// CIAO specific extensions. This will enforce the component to
+ /// CIAO specific extension. This will enforce the component to
/// be activated (preactivate, activate, postactivated) before the assembly
/// is established
void ciao_preactivate ()
raises (StartError);
- /// CIAO specific extensions
+ /// CIAO specific extension
void ciao_postactivate ()
raises (StartError);
- /// CIAO specific extensions
+ /// CIAO specific extension
void ciao_passivate ()
raises (StopError);
};