1 mike 1.15 //%/////////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to
7 // deal in the Software without restriction, including without limitation the
8 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9 // sell copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
13 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
14 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
16 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
17 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 //
21 //==============================================================================
22 mike 1.15 //
23 // Author: Mike Brasher (mbrasher@bmc.com)
24 //
25 // Modified By:
26 //
27 //%/////////////////////////////////////////////////////////////////////////////
28
29 #ifndef Pegasus_MethodRep_h
30 #define Pegasus_MethodRep_h
31
32 #include <Pegasus/Common/Config.h>
33 #include <Pegasus/Common/Exception.h>
34 #include <Pegasus/Common/String.h>
35 #include <Pegasus/Common/CIMQualifier.h>
36 #include <Pegasus/Common/CIMQualifierList.h>
37 #include <Pegasus/Common/CIMParameter.h>
38 #include <Pegasus/Common/Sharable.h>
39 #include <Pegasus/Common/Pair.h>
40
41 PEGASUS_NAMESPACE_BEGIN
42
43 mike 1.15 class CIMConstMethod;
44 class DeclContext;
45
46 class PEGASUS_COMMON_LINKAGE CIMMethodRep : public Sharable
47 {
48 public:
49
50 CIMMethodRep(
51 const String& name,
52 CIMType type,
53 const String& classOrigin,
54 Boolean propagated);
55
56 ~CIMMethodRep();
57
58 virtual const String& getName() const
59 {
60 return _name;
61 }
62
63 void setName(const String& name);
64 mike 1.15
65 CIMType getType() const
66 {
67 return _type;
68 }
69
70 void setType(CIMType type);
71
72 const String& getClassOrigin() const
73 {
74 return _classOrigin;
75 }
76
77 void setClassOrigin(const String& classOrigin);
78
79 Boolean getPropagated() const
80 {
81 return _propagated;
82 }
83
84 void setPropagated(Boolean propagated)
85 mike 1.15 {
86 _propagated = propagated;
87 }
88
89 void addQualifier(const CIMQualifier& qualifier)
90 {
91 _qualifiers.add(qualifier);
92 }
|
129 mike 1.15
130 CIMParameter getParameter(Uint32 pos);
131
132 CIMConstParameter getParameter(Uint32 pos) const
133 {
134 return ((CIMMethodRep*)this)->getParameter(pos);
135 }
136
137 Uint32 getParameterCount() const;
138
139 void resolve(
140 DeclContext* declContext,
141 const String& nameSpace,
142 const CIMConstMethod& method);
143
144 void resolve(
145 DeclContext* declContext,
146 const String& nameSpace);
147
148 void toXml(Array<Sint8>& out) const;
149
150 mike 1.15 virtual void print(PEGASUS_STD(ostream)& os = PEGASUS_STD(cout)) const;
151
|