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

  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                Uint32 flavor,
 61                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 kumpf 1.10         Dec(_rep);
 81                    Inc(_rep = x._rep);
 82                }
 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            void CIMQualifier::setFlavor(Uint32 flavor)
124            {
125                _checkRep();
126                _rep->setFlavor(flavor);
127            }
128            
129            void CIMQualifier::unsetFlavor(Uint32 flavor)
130            {
131                _checkRep();
132                _rep->unsetFlavor(flavor);
133            }
134            
135            Uint32 CIMQualifier::getFlavor() const
136 kumpf 1.10 {
137                _checkRep();
138                return _rep->getFlavor();
139            }
140            
141            Boolean CIMQualifier::isFlavor(Uint32 flavor) const
142            {
143                return _rep->isFlavor(flavor);
144            }
145            
146            const Uint32 CIMQualifier::getPropagated() const
147            {
148                _checkRep();
149                return _rep->getPropagated();
150            }
151            
152            void CIMQualifier::setPropagated(Boolean propagated)
153            {
154                _checkRep();
155                _rep->setPropagated(propagated);
156            }
157 kumpf 1.10 
158 kumpf 1.12 Boolean CIMQualifier::isNull() const
159 kumpf 1.10 {
160 kumpf 1.12     return (_rep == 0)? true : false;
161 kumpf 1.10 }
162            
163 mike  1.9  Boolean CIMQualifier::identical(const CIMConstQualifier& x) const
164            {
165                x._checkRep();
166                _checkRep();
167                return _rep->identical(x._rep);
168 kumpf 1.10 }
169            
170            CIMQualifier CIMQualifier::clone() const
171            {
172                return CIMQualifier(_rep->clone());
173            }
174            
175            void CIMQualifier::_checkRep() const
176            {
177                if (!_rep)
178 kumpf 1.11         ThrowUninitializedHandle();
179 kumpf 1.10 }
180            
181            
182            ////////////////////////////////////////////////////////////////////////////////
183            //
184            // CIMConstQualifier
185            //
186            ////////////////////////////////////////////////////////////////////////////////
187            
188            CIMConstQualifier::CIMConstQualifier()
189                : _rep(0)
190            {
191            }
192            
193            CIMConstQualifier::CIMConstQualifier(const CIMConstQualifier& x)
194            {
195                Inc(_rep = x._rep);
196            }
197            
198            CIMConstQualifier::CIMConstQualifier(const CIMQualifier& x)
199            {
200 kumpf 1.10     Inc(_rep = x._rep);
201            }
202            
203            CIMConstQualifier::CIMConstQualifier(
204 kumpf 1.17     const CIMName& name,
205 kumpf 1.10     const CIMValue& value,
206                Uint32 flavor,
207                Boolean propagated)
208            {
209                _rep = new CIMQualifierRep(name, value, flavor, propagated);
210            }
211            
212            CIMConstQualifier::~CIMConstQualifier()
213            {
214                Dec(_rep);
215            }
216            
217            CIMConstQualifier& CIMConstQualifier::operator=(const CIMConstQualifier& x)
218            {
219                if (x._rep != _rep)
220                {
221                    Dec(_rep);
222                    Inc(_rep = x._rep);
223                }
224            
225                return *this;
226 kumpf 1.10 }
227            
228            CIMConstQualifier& CIMConstQualifier::operator=(const CIMQualifier& x)
229            {
230                if (x._rep != _rep)
231                {
232                    Dec(_rep);
233                    Inc(_rep = x._rep);
234                }
235            
236                return *this;
237            }
238            
239 kumpf 1.17 const CIMName& CIMConstQualifier::getName() const
240 kumpf 1.10 {
241                _checkRep();
242                return _rep->getName();
243            }
244            
245            CIMType CIMConstQualifier::getType() const
246            {
247                _checkRep();
248                return _rep->getType();
249            }
250            
251            Boolean CIMConstQualifier::isArray() const
252            {
253                _checkRep();
254                return _rep->isArray();
255            }
256            
257            const CIMValue& CIMConstQualifier::getValue() const
258            {
259                _checkRep();
260                return _rep->getValue();
261 kumpf 1.10 }
262            
263            const Uint32 CIMConstQualifier::getFlavor() const
264            {
265                _checkRep();
266                return _rep->getFlavor();
267            }
268            
269            Boolean CIMConstQualifier::isFlavor(Uint32 flavor) const
270            {
271                return ((getFlavor() & flavor) !=0);
272            }
273            
274            Boolean CIMConstQualifier::isFlavorToSubclass() const
275            {
276                return ((getFlavor() & CIMFlavor::TOSUBCLASS) != 0);
277            }
278            
279            Boolean CIMConstQualifier::isFlavorToInstance() const
280            {
281                return ((getFlavor() & CIMFlavor::TOINSTANCE) != 0);
282 kumpf 1.10 }
283            
284            Boolean CIMConstQualifier::isFlavorOverridable() const
285            {
286                return ((getFlavor() & CIMFlavor::OVERRIDABLE) != 0);
287            }
288            
289            const Uint32 CIMConstQualifier::getPropagated() const
290            {
291                _checkRep();
292                return _rep->getPropagated();
293            }
294            
295 kumpf 1.12 Boolean CIMConstQualifier::isNull() const
296 kumpf 1.10 {
297 kumpf 1.12     return (_rep == 0)? true : false;
298 kumpf 1.10 }
299            
300            Boolean CIMConstQualifier::identical(const CIMConstQualifier& x) const
301            {
302                x._checkRep();
303                _checkRep();
304                return _rep->identical(x._rep);
305            }
306            
307            CIMQualifier CIMConstQualifier::clone() const
308            {
309                return CIMQualifier(_rep->clone());
310            }
311            
312            void CIMConstQualifier::_checkRep() const
313            {
314                if (!_rep)
315 kumpf 1.11         ThrowUninitializedHandle();
316 mike  1.9  }
317            
318            PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2