summaryrefslogtreecommitdiff
path: root/TAO/CIAO/ciao/Packaging_Data.idl
blob: 533116196eb66336c81b27439956b89ac88120ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
// $Id$

#ifndef PACKAGING_DATA_IDL
#define PACKAGING_DATA_IDL

#include "Deployment_Data.idl"

module Deployment
{
  struct ComponentPackageImport {
    ::CORBA::StringSeq location;
  };

  typedef sequence < ComponentPackageImport > ComponentPackageImports;

  struct SubcomponentPropertyReference {
    string propertyName;
    unsigned long instanceRef;
  };

  struct SubcomponentPortEndpoint {
    string portName;
    unsigned long instanceRef;
  };

  typedef sequence < SubcomponentPortEndpoint > SubcomponentPortEndpoints;

  typedef sequence < SubcomponentPropertyReference > SubcomponentPropertyReferences;

  struct AssemblyPropertyMapping {
    string name;
    string externalName;
    SubcomponentPropertyReferences delegatesTo;
  };

  typedef sequence < AssemblyPropertyMapping > AssemblyPropertyMappings;

#ifndef AVOID_IFR_CRASH
  struct NamedImplementationArtifact;

  typedef sequence < NamedImplementationArtifact > NamedImplementationArtifacts;
#endif /* AVOID_IFR_CRASH */

  struct ImplementationArtifactDescription {
    string label;
    string UUID;
    ::CORBA::StringSeq location;
    Properties execParameter;
    Requirements deployRequirement;
#ifndef AVOID_IFR_CRASH
    NamedImplementationArtifacts dependsOn;
#endif /* AVOID_IFR_CRASH */
    Properties infoProperty;
  };

  struct NamedImplementationArtifact {
    string name;
    ImplementationArtifactDescription referencedArtifact;
  };

  struct MonolithicImplementationDescription {
    Properties nodeExecParameter;
    Properties componentExecParameter;
#ifndef AVOID_IFR_CRASH
    NamedImplementationArtifacts primaryArtifact;
#endif /* AVOID_IFR_CRASH */
    ImplementationRequirements deployRequirement;
  };

  typedef sequence < MonolithicImplementationDescription > MonolithicImplementationDescriptions;

#ifndef AVOID_IFR_CRASH
  struct PackageConfiguration;

  typedef sequence < PackageConfiguration > PackageConfigurations;

  struct ComponentPackageDescription;

  typedef sequence < ComponentPackageDescription > ComponentPackageDescriptions;
#endif /* AVOID_IFR_CRASH */

  struct SubcomponentInstantiationDescription {
    string name;
#ifndef AVOID_IFR_CRASH
    ComponentPackageDescriptions basePackage;
    PackageConfigurations specializedConfig;
#endif /* AVOID_IFR_CRASH */
    Requirements selectRequirement;
    Properties configProperty;
    ComponentPackageReferences referencedPackage;
    ComponentPackageImports importedPackage;
  };

  typedef sequence < SubcomponentInstantiationDescription > SubcomponentInstantiationDescriptions;

  struct AssemblyConnectionDescription {
    string name;
    Requirements deployRequirement;
    ComponentExternalPortEndpoints externalEndpoint;
    SubcomponentPortEndpoints internalEndpoint;
    ExternalReferenceEndpoints externalReference;
  };

  typedef sequence < AssemblyConnectionDescription > AssemblyConnectionDescriptions;

  struct ComponentAssemblyDescription {
    SubcomponentInstantiationDescriptions instance;
    AssemblyConnectionDescriptions connection;
    AssemblyPropertyMappings externalProperty;
  };

  typedef sequence < ComponentAssemblyDescription > ComponentAssemblyDescriptions;

  struct ComponentImplementationDescription {
    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;
  };


  struct PackageConfiguration {
    string label;
    string UUID;
#ifndef AVOID_IFR_CRASH
    PackageConfigurations specializedConfig;
    ComponentPackageDescriptions basePackage;
#endif /* AVOID_IFR_CRASH */
    ComponentPackageReferences reference;
    Requirements selectRequirement;
    Properties configProperty;
  };


};

#endif /* PACKAGING_DATA_IDL */