(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 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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2