summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/Deployment_DeploymentPlan.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/Deployment_DeploymentPlan.idl')
-rw-r--r--modules/CIAO/ciao/Deployment_DeploymentPlan.idl192
1 files changed, 192 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/Deployment_DeploymentPlan.idl b/modules/CIAO/ciao/Deployment_DeploymentPlan.idl
new file mode 100644
index 00000000000..e8dbde8ae2b
--- /dev/null
+++ b/modules/CIAO/ciao/Deployment_DeploymentPlan.idl
@@ -0,0 +1,192 @@
+// $Id$
+
+#ifndef DEPLOYMENT_DEPLOYMENTPLAN_IDL
+#define DEPLOYMENT_DEPLOYMENTPLAN_IDL
+
+#include "ciao/Deployment_Base.idl"
+#include "tao/StringSeq.pidl"
+#include "tao/ULongSeq.pidl"
+#include "tao/Typecode_types.pidl"
+
+module Deployment {
+
+ enum CCMComponentPortKind
+ {
+ Facet,
+ SimplexReceptacle,
+ MultiplexReceptacle,
+ EventEmitter,
+ EventPublisher,
+ EventConsumer
+ };
+
+ struct ComponentPortDescription {
+ string name;
+ string specificType;
+ ::CORBA::StringSeq supportedType;
+ boolean provider;
+ boolean exclusiveProvider;
+ boolean exclusiveUser;
+ boolean optional;
+ CCMComponentPortKind kind;
+ };
+
+ typedef sequence < ComponentPortDescription > ComponentPortDescriptions;
+
+ struct ComponentPropertyDescription {
+ string name;
+ CORBA::TypeCode type;
+ };
+
+ typedef sequence < ComponentPropertyDescription > ComponentPropertyDescriptions;
+
+ struct ComponentInterfaceDescription {
+ string label;
+ string UUID;
+ string specificType;
+ ::CORBA::StringSeq supportedType;
+ ::CORBA::StringSeq idlFile;
+ Properties configProperty;
+ ComponentPortDescriptions port;
+ ComponentPropertyDescriptions property;
+ Properties infoProperty;
+ };
+
+ struct MonolithicDeploymentDescription {
+ string name;
+ ::CORBA::StringSeq source;
+ ::CORBA::ULongSeq artifactRef;
+ Properties execParameter;
+ Requirements deployRequirement;
+ };
+
+ typedef sequence < MonolithicDeploymentDescription > MonolithicDeploymentDescriptions;
+
+ enum ResourceUsageKind {
+ None,
+ InstanceUsesResource,
+ ResourceUsesInstance,
+ PortUsesResource,
+ ResourceUsesPort
+ };
+
+ struct InstanceResourceDeploymentDescription {
+ ResourceUsageKind resourceUsage;
+ string requirementName;
+ string resourceName;
+ Properties property;
+ };
+
+ typedef sequence < InstanceResourceDeploymentDescription > InstanceResourceDeploymentDescriptions;
+
+ struct InstanceDeploymentDescription {
+ string name;
+ string node;
+ ::CORBA::StringSeq source;
+ unsigned long implementationRef;
+ Properties configProperty;
+ InstanceResourceDeploymentDescriptions deployedResource;
+ InstanceResourceDeploymentDescriptions deployedSharedResource;
+ };
+
+ typedef sequence < InstanceDeploymentDescription > InstanceDeploymentDescriptions;
+
+ struct ComponentExternalPortEndpoint {
+ string portName;
+ };
+
+ typedef sequence < ComponentExternalPortEndpoint > ComponentExternalPortEndpoints;
+
+ struct PlanSubcomponentPortEndpoint {
+ string portName;
+ boolean provider;
+ CCMComponentPortKind kind;
+ unsigned long instanceRef;
+ };
+
+ typedef sequence < PlanSubcomponentPortEndpoint > PlanSubcomponentPortEndpoints;
+
+ struct ExternalReferenceEndpoint {
+ string location;
+ };
+
+ typedef sequence < ExternalReferenceEndpoint > ExternalReferenceEndpoints;
+
+ struct ConnectionResourceDeploymentDescription {
+ string targetName;
+ string requirementName;
+ string resourceName;
+ Properties property;
+ };
+
+ typedef sequence < ConnectionResourceDeploymentDescription > ConnectionResourceDeploymentDescriptions;
+
+ struct PlanConnectionDescription {
+ string name;
+ ::CORBA::StringSeq source;
+ Requirements deployRequirement;
+ ComponentExternalPortEndpoints externalEndpoint;
+ PlanSubcomponentPortEndpoints internalEndpoint;
+ ExternalReferenceEndpoints externalReference;
+ ConnectionResourceDeploymentDescriptions deployedResource;
+ };
+
+ typedef sequence < PlanConnectionDescription > PlanConnectionDescriptions;
+
+ struct PlanSubcomponentPropertyReference {
+ string propertyName;
+ unsigned long instanceRef;
+ };
+
+ typedef sequence < PlanSubcomponentPropertyReference > PlanSubcomponentPropertyReferences;
+
+ struct PlanPropertyMapping {
+ string name;
+ ::CORBA::StringSeq source;
+ string externalName;
+ PlanSubcomponentPropertyReferences delegatesTo;
+ };
+
+ typedef sequence < PlanPropertyMapping > PlanPropertyMappings;
+
+ struct ImplementationDependency {
+ string requiredType;
+ };
+
+ typedef sequence < ImplementationDependency > ImplementationDependencies;
+
+ struct ResourceDeploymentDescription {
+ string requirementName;
+ string resourceName;
+ Properties property;
+ };
+
+ typedef sequence < ResourceDeploymentDescription > ResourceDeploymentDescriptions;
+
+ struct ArtifactDeploymentDescription {
+ string name;
+ ::CORBA::StringSeq location;
+ string node;
+ ::CORBA::StringSeq source;
+ Properties execParameter;
+ Requirements deployRequirement;
+ ResourceDeploymentDescriptions deployedResource;
+ };
+
+ typedef sequence < ArtifactDeploymentDescription > ArtifactDeploymentDescriptions;
+
+ struct DeploymentPlan {
+ string label;
+ string UUID;
+ ComponentInterfaceDescription realizes;
+ MonolithicDeploymentDescriptions implementation;
+ InstanceDeploymentDescriptions instance;
+ PlanConnectionDescriptions connection;
+ PlanPropertyMappings externalProperty;
+ ImplementationDependencies dependsOn;
+ ArtifactDeploymentDescriptions artifact;
+ Properties infoProperty;
+ };
+};
+
+#endif /* DEPLOYMENT_DATA_IDL */