1 karl 1.28 //%2006////////////////////////////////////////////////////////////////////////
|
2 mike 1.9 //
|
3 karl 1.26 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
|
6 karl 1.25 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.26 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.27 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.28 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 mike 1.9 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
|
15 kumpf 1.15 // of this software and associated documentation files (the "Software"), to
16 // deal in the Software without restriction, including without limitation the
17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
18 mike 1.9 // sell copies of the Software, and to permit persons to whom the Software is
19 // furnished to do so, subject to the following conditions:
20 //
|
21 kumpf 1.15 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
|
22 mike 1.9 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
24 kumpf 1.15 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
27 mike 1.9 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31 //
32 //%/////////////////////////////////////////////////////////////////////////////
33
34 #include "CIMQualifier.h"
|
35 kumpf 1.10 #include "CIMQualifierRep.h"
|
36 mike 1.9
37 PEGASUS_NAMESPACE_BEGIN
38
39 #define PEGASUS_ARRAY_T CIMQualifier
40 # include "ArrayImpl.h"
41 #undef PEGASUS_ARRAY_T
42
|
43 kumpf 1.10 ////////////////////////////////////////////////////////////////////////////////
44 //
45 // CIMQualifier
46 //
47 ////////////////////////////////////////////////////////////////////////////////
48
49 CIMQualifier::CIMQualifier()
50 : _rep(0)
51 {
52 }
53
54 CIMQualifier::CIMQualifier(const CIMQualifier& x)
55 {
56 Inc(_rep = x._rep);
57 }
58
59 CIMQualifier::CIMQualifier(
|
60 kumpf 1.17 const CIMName& name,
|
61 kumpf 1.10 const CIMValue& value,
|
62 kumpf 1.19 const CIMFlavor & flavor,
|
63 kumpf 1.10 Boolean propagated)
64 {
65 _rep = new CIMQualifierRep(name, value, flavor, propagated);
66 }
67
68 CIMQualifier::CIMQualifier(CIMQualifierRep* rep)
69 : _rep(rep)
70 {
71 }
72
73 CIMQualifier::~CIMQualifier()
74 {
75 Dec(_rep);
76 }
77
78 CIMQualifier& CIMQualifier::operator=(const CIMQualifier& x)
79 {
80 if (x._rep != _rep)
81 {
82 Dec(_rep);
83 Inc(_rep = x._rep);
84 kumpf 1.10 }
85
86 return *this;
87 }
88
|
89 kumpf 1.17 const CIMName& CIMQualifier::getName() const
|
90 kumpf 1.10 {
|
91 marek 1.30 CheckRep(_rep);
|
92 kumpf 1.10 return _rep->getName();
93 }
94
|
95 kumpf 1.17 void CIMQualifier::setName(const CIMName& name)
|
96 kumpf 1.10 {
|
97 marek 1.30 CheckRep(_rep);
|
98 kumpf 1.10 _rep->setName(name);
99 }
100
101 CIMType CIMQualifier::getType() const
102 {
|
103 marek 1.30 CheckRep(_rep);
|
104 kumpf 1.10 return _rep->getType();
105 }
106
107 Boolean CIMQualifier::isArray() const
108 {
|
109 marek 1.30 CheckRep(_rep);
|
110 kumpf 1.10 return _rep->isArray();
111 }
112
113 const CIMValue& CIMQualifier::getValue() const
114 {
|
115 marek 1.30 CheckRep(_rep);
|
116 kumpf 1.10 return _rep->getValue();
117 }
118
119 void CIMQualifier::setValue(const CIMValue& value)
120 {
|
121 marek 1.30 CheckRep(_rep);
|
122 kumpf 1.10 _rep->setValue(value);
123 }
124
|
125 kumpf 1.19 void CIMQualifier::setFlavor(const CIMFlavor & flavor)
|
126 kumpf 1.10 {
|
127 marek 1.30 CheckRep(_rep);
|
128 kumpf 1.10 _rep->setFlavor(flavor);
129 }
130
|
131 kumpf 1.20 void CIMQualifier::unsetFlavor(const CIMFlavor & flavor)
|
132 kumpf 1.10 {
|
133 marek 1.30 CheckRep(_rep);
|
134 kumpf 1.10 _rep->unsetFlavor(flavor);
135 }
136
|
137 kumpf 1.19 const CIMFlavor & CIMQualifier::getFlavor() const
|
138 kumpf 1.10 {
|
139 marek 1.30 CheckRep(_rep);
|
140 kumpf 1.10 return _rep->getFlavor();
141 }
142
|
143 kumpf 1.31 Uint32 CIMQualifier::getPropagated() const
|
144 kumpf 1.10 {
|
145 marek 1.30 CheckRep(_rep);
|
146 kumpf 1.24 return (_rep->getPropagated()) ? 1 : 0;
|
147 kumpf 1.10 }
148
149 void CIMQualifier::setPropagated(Boolean propagated)
150 {
|
151 marek 1.30 CheckRep(_rep);
|
152 kumpf 1.10 _rep->setPropagated(propagated);
153 }
154
|
155 kumpf 1.18 Boolean CIMQualifier::isUninitialized() const
|
156 kumpf 1.10 {
|
157 kumpf 1.29 return _rep == 0;
|
158 kumpf 1.10 }
159
|
160 mike 1.9 Boolean CIMQualifier::identical(const CIMConstQualifier& x) const
161 {
|
162 marek 1.30 CheckRep(x._rep);
163 CheckRep(_rep);
|
164 mike 1.9 return _rep->identical(x._rep);
|
165 kumpf 1.10 }
166
167 CIMQualifier CIMQualifier::clone() const
168 {
169 return CIMQualifier(_rep->clone());
170 }
171
172
173 ////////////////////////////////////////////////////////////////////////////////
174 //
175 // CIMConstQualifier
176 //
177 ////////////////////////////////////////////////////////////////////////////////
178
179 CIMConstQualifier::CIMConstQualifier()
180 : _rep(0)
181 {
182 }
183
184 CIMConstQualifier::CIMConstQualifier(const CIMConstQualifier& x)
185 {
186 kumpf 1.10 Inc(_rep = x._rep);
187 }
188
189 CIMConstQualifier::CIMConstQualifier(const CIMQualifier& x)
190 {
191 Inc(_rep = x._rep);
192 }
193
194 CIMConstQualifier::CIMConstQualifier(
|
195 kumpf 1.17 const CIMName& name,
|
196 kumpf 1.10 const CIMValue& value,
|
197 kumpf 1.19 const CIMFlavor & flavor,
|
198 kumpf 1.10 Boolean propagated)
199 {
200 _rep = new CIMQualifierRep(name, value, flavor, propagated);
201 }
202
203 CIMConstQualifier::~CIMConstQualifier()
204 {
205 Dec(_rep);
206 }
207
208 CIMConstQualifier& CIMConstQualifier::operator=(const CIMConstQualifier& x)
209 {
210 if (x._rep != _rep)
211 {
212 Dec(_rep);
213 Inc(_rep = x._rep);
214 }
215
216 return *this;
217 }
218
219 kumpf 1.10 CIMConstQualifier& CIMConstQualifier::operator=(const CIMQualifier& x)
220 {
221 if (x._rep != _rep)
222 {
223 Dec(_rep);
224 Inc(_rep = x._rep);
225 }
226
227 return *this;
228 }
229
|
230 kumpf 1.17 const CIMName& CIMConstQualifier::getName() const
|
231 kumpf 1.10 {
|
232 marek 1.30 CheckRep(_rep);
|
233 kumpf 1.10 return _rep->getName();
234 }
235
236 CIMType CIMConstQualifier::getType() const
237 {
|
238 marek 1.30 CheckRep(_rep);
|
239 kumpf 1.10 return _rep->getType();
240 }
241
242 Boolean CIMConstQualifier::isArray() const
243 {
|
244 marek 1.30 CheckRep(_rep);
|
245 kumpf 1.10 return _rep->isArray();
246 }
247
248 const CIMValue& CIMConstQualifier::getValue() const
249 {
|
250 marek 1.30 CheckRep(_rep);
|
251 kumpf 1.10 return _rep->getValue();
252 }
253
|
254 kumpf 1.19 const CIMFlavor & CIMConstQualifier::getFlavor() const
|
255 kumpf 1.10 {
|
256 marek 1.30 CheckRep(_rep);
|
257 kumpf 1.10 return _rep->getFlavor();
258 }
259
|
260 kumpf 1.31 Uint32 CIMConstQualifier::getPropagated() const
|
261 kumpf 1.10 {
|
262 marek 1.30 CheckRep(_rep);
|
263 kumpf 1.24 return (_rep->getPropagated()) ? 1 : 0;
|
264 kumpf 1.10 }
265
|
266 kumpf 1.18 Boolean CIMConstQualifier::isUninitialized() const
|
267 kumpf 1.10 {
|
268 kumpf 1.29 return _rep == 0;
|
269 kumpf 1.10 }
270
271 Boolean CIMConstQualifier::identical(const CIMConstQualifier& x) const
272 {
|
273 marek 1.30 CheckRep(x._rep);
274 CheckRep(_rep);
|
275 kumpf 1.10 return _rep->identical(x._rep);
276 }
277
278 CIMQualifier CIMConstQualifier::clone() const
279 {
280 return CIMQualifier(_rep->clone());
281 }
282
|
283 mike 1.9 PEGASUS_NAMESPACE_END
|