(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 mday  1.22.2.1     const String& name,
 59 kumpf 1.10         const CIMValue& value,
 60 mday  1.22.2.1     Uint32 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 mday  1.22.2.1 const String& CIMQualifier::getName() const
 88 kumpf 1.10     {
 89                    _checkRep();
 90                    return _rep->getName();
 91                }
 92                
 93 mday  1.22.2.1 void CIMQualifier::setName(const String& 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 mday  1.22.2.1 void CIMQualifier::setFlavor(Uint32 flavor)
124 kumpf 1.10     {
125                    _checkRep();
126                    _rep->setFlavor(flavor);
127                }
128                
129 mday  1.22.2.1 void CIMQualifier::unsetFlavor(Uint32 flavor)
130 kumpf 1.10     {
131                    _checkRep();
132                    _rep->unsetFlavor(flavor);
133                }
134                
135 mday  1.22.2.1 Uint32 CIMQualifier::getFlavor() const
136 kumpf 1.10     {
137                    _checkRep();
138                    return _rep->getFlavor();
139                }
140                
141 mday  1.22.2.1 Boolean CIMQualifier::isFlavor(Uint32 flavor) const
142                {
143                    return _rep->isFlavor(flavor);
144                }
145                
146 kumpf 1.10     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                
158 mday  1.22.2.1 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 mday  1.22.2.1         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 mday  1.22.2.1     const String& name,
205 kumpf 1.10         const CIMValue& value,
206 mday  1.22.2.1     Uint32 flavor,
207 kumpf 1.10         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                }
227                
228 kumpf 1.10     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 mday  1.22.2.1 const String& 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 mday  1.22.2.1 const Uint32 CIMConstQualifier::getFlavor() const
264 kumpf 1.10     {
265                    _checkRep();
266                    return _rep->getFlavor();
267                }
268                
269 mday  1.22.2.1 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                }
283                
284                Boolean CIMConstQualifier::isFlavorOverridable() const
285                {
286                    return ((getFlavor() & CIMFlavor::OVERRIDABLE) != 0);
287                }
288                
289 kumpf 1.10     const Uint32 CIMConstQualifier::getPropagated() const
290                {
291                    _checkRep();
292                    return _rep->getPropagated();
293                }
294                
295 mday  1.22.2.1 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 mday  1.22.2.1         ThrowUninitializedHandle();
316 mike  1.9      }
317                
318                PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2