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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2