summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl')
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl228
1 files changed, 228 insertions, 0 deletions
diff --git a/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl b/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl
new file mode 100644
index 00000000000..248a61b75d2
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl
@@ -0,0 +1,228 @@
+// $Id$
+
+#ifndef DEPLOYMENT_DEPLOYMENTPLAN_IDL
+#define DEPLOYMENT_DEPLOYMENTPLAN_IDL
+
+#include "DAnCE/Deployment/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;
+ // @@changed
+ // Properties nodeExecParameter;
+ Properties execParameter;
+
+ // @@added
+ // Properties componentExecParameter;
+
+ // @@delete:
+ Requirements deployRequirement;
+ };
+
+ typedef sequence < MonolithicDeploymentDescription > MonolithicDeploymentDescriptions;
+
+ enum ResourceUsageKind {
+ None,
+ InstanceUsesResource,
+ ResourceUsesInstance,
+ PortUsesResource,
+ ResourceUsesPort
+ };
+
+ struct InstanceResourceDeploymentDescription {
+ ResourceUsageKind resourceUsage;
+ // @@added
+ //string resourcePort;
+ // @@added
+ //string componentPort;
+
+ 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;
+ // @@added
+ // boolean provider;
+ // @@added
+ // string portName;
+ // @@added
+ // ::CORBA::StringSeq supportedType;
+ };
+
+ 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;
+
+ // @@delete:
+ Requirements deployRequirement;
+
+ ResourceDeploymentDescriptions deployedResource;
+ };
+
+ typedef sequence < ArtifactDeploymentDescription > ArtifactDeploymentDescriptions;
+
+ // @@added
+ enum PlanLocalityKind {
+ PlanSameProcess,
+ PlanDifferentProcess,
+ PlanNoConstraint
+ };
+
+ // @@added
+ struct PlanLocality {
+ PlanLocalityKind constraint;
+ ::CORBA::ULongSeq constrainedInstanceRef;
+ };
+
+ struct DeploymentPlan {
+ string label;
+ string UUID;
+ ComponentInterfaceDescription realizes;
+ MonolithicDeploymentDescriptions implementation;
+ InstanceDeploymentDescriptions instance;
+ PlanConnectionDescriptions connection;
+ PlanPropertyMappings externalProperty;
+ ImplementationDependencies dependsOn;
+ ArtifactDeploymentDescriptions artifact;
+ Properties infoProperty;
+ // @added
+ // PlanLocalities localityConstraint;
+ };
+};
+
+#endif /* DEPLOYMENT_DATA_IDL */