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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2