// $Id$ #ifndef PACKAGING_DATA_IDL #define PACKAGING_DATA_IDL #include "DAnCE/Deployment/Deployment_Data.idl" module Deployment { struct ComponentPackageDescription; typedef sequence < ComponentPackageDescription > ComponentPackageDescriptions; struct PackageConfiguration; typedef sequence < PackageConfiguration > PackageConfigurations; struct ComponentPackageImport { ::CORBA::StringSeq location; }; typedef sequence < ComponentPackageImport > ComponentPackageImports; struct SubcomponentInstantiationDescription { string name; ComponentPackageDescriptions basePackage; PackageConfigurations specializedConfig; Requirements selectRequirement; Properties configProperty; ComponentPackageReferences referencedPackage; ComponentPackageImports importedPackage; }; typedef sequence < SubcomponentInstantiationDescription > SubcomponentInstantiationDescriptions; struct SubcomponentPortEndpoint { string portName; unsigned long instanceRef; }; typedef sequence < SubcomponentPortEndpoint > SubcomponentPortEndpoints; struct AssemblyConnectionDescription { string name; Requirements deployRequirement; ComponentExternalPortEndpoints externalEndpoint; SubcomponentPortEndpoints internalEndpoint; ExternalReferenceEndpoints externalReference; }; typedef sequence < AssemblyConnectionDescription > AssemblyConnectionDescriptions; struct SubcomponentPropertyReference { string propertyName; unsigned long instanceRef; }; typedef sequence < SubcomponentPropertyReference > SubcomponentPropertyReferences; struct AssemblyPropertyMapping { string name; string externalName; SubcomponentPropertyReferences delegatesTo; }; typedef sequence < AssemblyPropertyMapping > AssemblyPropertyMappings; struct NamedImplementationArtifact; typedef sequence < NamedImplementationArtifact > NamedImplementationArtifacts; struct ImplementationArtifactDescription { string label; string UUID; ::CORBA::StringSeq location; Properties execParameter; Requirements deployRequirement; NamedImplementationArtifacts dependsOn; Properties infoProperty; }; struct NamedImplementationArtifact { string name; ImplementationArtifactDescription referencedArtifact; }; struct MonolithicImplementationDescription { Properties nodeExecParameter; NamedImplementationArtifacts primaryArtifact; ImplementationRequirements deployRequirement; Properties componentExecParameter; }; typedef sequence < MonolithicImplementationDescription > MonolithicImplementationDescriptions; enum LocalityKind { SameNodeAnyProcess, SameNodeSameProcess, SameNodeDifferentProcess, DifferentNode, DifferentProcess, NoConstraint }; struct Locality { LocalityKind constraint; ::CORBA::ULongSeq constrainedInstanceRef; }; typedef sequence < Locality > Localities; struct ComponentAssemblyDescription { SubcomponentInstantiationDescriptions instance; AssemblyConnectionDescriptions connection; AssemblyPropertyMappings externalProperty; Localities localityConstraint; }; typedef sequence < ComponentAssemblyDescription > ComponentAssemblyDescriptions; struct ComponentImplementationDescription { string label; string UUID; ComponentInterfaceDescription implements; ComponentAssemblyDescriptions assemblyImpl; MonolithicImplementationDescriptions monolithicImpl; Properties configProperty; Capabilities capability; ImplementationDependencies dependsOn; Properties infoProperty; }; // From DDS4CCM struct ConnectorImplementationDescription { string label; string UUID; ComponentInterfaceDescription implements; ComponentAssemblyDescriptions assemblyImpl; MonolithicImplementationDescriptions monolithicImpl; Properties configProperty; Capabilities capability; ImplementationDependencies dependsOn; Properties infoProperty; }; struct PackagedComponentImplementation { string name; ComponentImplementationDescription referencedImplementation; }; typedef sequence < PackagedComponentImplementation > PackagedComponentImplementations; struct ComponentPackageDescription { string label; string UUID; ComponentInterfaceDescription realizes; Properties configProperty; PackagedComponentImplementations implementation; Properties infoProperty; }; // From DDS4CCM struct ConnectorPackageDescription { string label; string UUID; ComponentInterfaceDescription realizes; Properties configProperty; ConnectorImplementationDescription implementation; Properties infoProperty; }; struct PackageConfiguration { string label; string UUID; ComponentPackageDescriptions basePackage; PackageConfigurations specializedConfig; Requirements selectRequirement; Properties configProperty; ComponentPackageReferences referencedPackage; ComponentPackageImports importedPackage; }; struct ComponentUsageDescription { ComponentPackageDescriptions basePackage; ConnectorPackageDescription baseConnectorPackage; // From DDS4CCM PackageConfigurations specializedConfig; Requirements selectRequirement; Properties configProperty; ComponentPackageReferences referencedPackage; ComponentPackageImports importedPackage; }; struct RequirementSatisfier { string name; ::CORBA::StringSeq resourceType; SatisfierProperties property; }; }; #endif /* PACKAGING_DATA_IDL */