(file) Return to CIMQualifier.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2