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 _checkRep();
92 return _rep->getName();
93 }
94
|
95 kumpf 1.17 void CIMQualifier::setName(const CIMName& name)
|
96 kumpf 1.10 {
97 _checkRep();
98 _rep->setName(name);
99 }
100
101 CIMType CIMQualifier::getType() const
102 {
103 _checkRep();
104 return _rep->getType();
105 }
106
107 Boolean CIMQualifier::isArray() const
108 {
109 _checkRep();
110 return _rep->isArray();
111 }
112
113 const CIMValue& CIMQualifier::getValue() const
114 {
115 _checkRep();
116 return _rep->getValue();
117 kumpf 1.10 }
118
119 void CIMQualifier::setValue(const CIMValue& value)
120 {
121 _checkRep();
122 _rep->setValue(value);
123 }
124
|
125 kumpf 1.19 void CIMQualifier::setFlavor(const CIMFlavor & flavor)
|
126 kumpf 1.10 {
127 _checkRep();
128 _rep->setFlavor(flavor);
129 }
130
|
131 kumpf 1.20 void CIMQualifier::unsetFlavor(const CIMFlavor & flavor)
|
132 kumpf 1.10 {
133 _checkRep();
134 _rep->unsetFlavor(flavor);
135 }
136
|
137 kumpf 1.19 const CIMFlavor & CIMQualifier::getFlavor() const
|
138 kumpf 1.10 {
139 _checkRep();
140 return _rep->getFlavor();
141 }
142
|
143 kumpf 1.24 const Uint32 CIMQualifier::getPropagated() const
|
144 kumpf 1.10 {
145 _checkRep();
|
146 kumpf 1.24 return (_rep->getPropagated()) ? 1 : 0;
|
147 kumpf 1.10 }
148
149 void CIMQualifier::setPropagated(Boolean propagated)
150 {
151 _checkRep();
152 _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 x._checkRep();
163 _checkRep();
164 return _rep->identical(x._rep);
|
165 kumpf 1.10 }
166
167 CIMQualifier CIMQualifier::clone() const
168 {
169 return CIMQualifier(_rep->clone());
170 }
171
172 void CIMQualifier::_checkRep() const
173 {
174 if (!_rep)
|
175 kumpf 1.22 throw UninitializedObjectException();
|
176 kumpf 1.10 }
177
178
179 ////////////////////////////////////////////////////////////////////////////////
180 //
181 // CIMConstQualifier
182 //
183 ////////////////////////////////////////////////////////////////////////////////
184
185 CIMConstQualifier::CIMConstQualifier()
186 : _rep(0)
187 {
188 }
189
190 CIMConstQualifier::CIMConstQualifier(const CIMConstQualifier& x)
191 {
192 Inc(_rep = x._rep);
193 }
194
195 CIMConstQualifier::CIMConstQualifier(const CIMQualifier& x)
196 {
197 kumpf 1.10 Inc(_rep = x._rep);
198 }
199
200 CIMConstQualifier::CIMConstQualifier(
|
201 kumpf 1.17 const CIMName& name,
|
202 kumpf 1.10 const CIMValue& value,
|
203 kumpf 1.19 const CIMFlavor & flavor,
|
204 kumpf 1.10 Boolean propagated)
205 {
206 _rep = new CIMQualifierRep(name, value, flavor, propagated);
207 }
208
209 CIMConstQualifier::~CIMConstQualifier()
210 {
211 Dec(_rep);
212 }
213
214 CIMConstQualifier& CIMConstQualifier::operator=(const CIMConstQualifier& x)
215 {
216 if (x._rep != _rep)
217 {
218 Dec(_rep);
219 Inc(_rep = x._rep);
220 }
221
222 return *this;
223 }
224
225 kumpf 1.10 CIMConstQualifier& CIMConstQualifier::operator=(const CIMQualifier& x)
226 {
227 if (x._rep != _rep)
228 {
229 Dec(_rep);
230 Inc(_rep = x._rep);
231 }
232
233 return *this;
234 }
235
|
236 kumpf 1.17 const CIMName& CIMConstQualifier::getName() const
|
237 kumpf 1.10 {
238 _checkRep();
239 return _rep->getName();
240 }
241
242 CIMType CIMConstQualifier::getType() const
243 {
244 _checkRep();
245 return _rep->getType();
246 }
247
248 Boolean CIMConstQualifier::isArray() const
249 {
250 _checkRep();
251 return _rep->isArray();
252 }
253
254 const CIMValue& CIMConstQualifier::getValue() const
255 {
256 _checkRep();
257 return _rep->getValue();
258 kumpf 1.10 }
259
|
260 kumpf 1.19 const CIMFlavor & CIMConstQualifier::getFlavor() const
|
261 kumpf 1.10 {
262 _checkRep();
263 return _rep->getFlavor();
264 }
265
|
266 kumpf 1.24 const Uint32 CIMConstQualifier::getPropagated() const
|
267 kumpf 1.10 {
268 _checkRep();
|
269 kumpf 1.24 return (_rep->getPropagated()) ? 1 : 0;
|
270 kumpf 1.10 }
271
|
272 kumpf 1.18 Boolean CIMConstQualifier::isUninitialized() const
|
273 kumpf 1.10 {
|
274 kumpf 1.29 return _rep == 0;
|
275 kumpf 1.10 }
276
277 Boolean CIMConstQualifier::identical(const CIMConstQualifier& x) const
278 {
279 x._checkRep();
280 _checkRep();
281 return _rep->identical(x._rep);
282 }
283
284 CIMQualifier CIMConstQualifier::clone() const
285 {
286 return CIMQualifier(_rep->clone());
287 }
288
289 void CIMConstQualifier::_checkRep() const
290 {
291 if (!_rep)
|
292 kumpf 1.22 throw UninitializedObjectException();
|
293 mike 1.9 }
294
295 PEGASUS_NAMESPACE_END
|