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