blob: 2560c95e68c36289d9db950419fa49cba2e14e52 (
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
|
/* -*- C++ -*- */
//========================================================================
/**
* file PCVisitor.h
*
* $Id$
*
* This file contains a number of Visitor classes which are used to
* traverse the PackageConfiguration element defined in the
* PackagingData.idl
*
* author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
* Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
*/
//========================================================================
#ifndef PC_VISITOR_H
#define PC_VISITOR_H
#include /**/ "ace/pre.h"
#include "PCVisitorBase.h" //for the base visitor
//===========================================================================
/**
* class PCVisitor
*
* This class is is the actual implementation for the PackageConfiguration
* Visitor. It derives from PCVisitorBase and overloads the functions which
* deal with single elements. Sequences are handled in the base class.
*/
//===========================================================================
class PCVisitor : public PCVisitorBase
{
public:
//constructor
PCVisitor (Deployment::DeploymentPlan &plan,
Deployment::PackageConfiguration &pc,
bool modify);
///Entry point to protected Visitor functions
int Visit ();
protected:
/// A whole slew of overloaded routines for different IDL
/// data types part of the PackageConfiguration.
virtual
void Visit (Deployment::PackageConfiguration &pc);
//ComponentPackageDescription descendents
virtual
void Visit (Deployment::ComponentPackageDescription &cpd);
virtual
void Visit (Deployment::ComponentInterfaceDescription &cid);
virtual
void Visit (Deployment::PackagedComponentImplementation &pci);
virtual
void Visit (Deployment::ComponentImplementationDescription &cid);
virtual
void Visit (Deployment::ComponentAssemblyDescription &cad);
virtual
void Visit (Deployment::SubcomponentInstantiationDescription &sid);
virtual
void Visit (Deployment::MonolithicImplementationDescription &mid);
virtual
void Visit (Deployment::NamedImplementationArtifact &nia);
virtual
void Visit (Deployment::ImplementationArtifactDescription &iad);
//ComponentPackageReference descendents
virtual
void Visit (Deployment::ComponentPackageReference &cpr);
//properties
virtual
void Visit (Deployment::AssemblyPropertyMapping &apm);
virtual
void Visit (Deployment::Property &property);
//requirements & capabilities
virtual
void Visit (Deployment::Requirement &requirement);
virtual
void Visit (Deployment::Capability &capability);
virtual
void Visit (Deployment::ImplementationRequirement &ir);
virtual
void Visit (Deployment::ImplementationDependency &id);
//ports and connections
virtual
void Visit (Deployment::AssemblyConnectionDescription &acd);
virtual
void Visit (Deployment::SubcomponentPortEndpoint &spe);
virtual
void Visit (Deployment::ComponentExternalPortEndpoint &cepe);
protected:
void update_execParameter (Deployment::ImplementationArtifactDescription& iad,
Deployment::ArtifactDeploymentDescription& add);
private:
Deployment::DeploymentPlan& plan_;
Deployment::PackageConfiguration& pc_;
bool modify_;
int last_impl_index_;
};
#include /**/ "ace/post.h"
#endif /* PC_VISITOR_H */
|