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

Diff for /pegasus/src/Pegasus/Common/CIMQualifierList.cpp between version 1.62 and 1.63

version 1.62, 2007/10/17 20:50:44 version 1.63, 2007/11/11 19:48:34
Line 43 
Line 43 
 #include <Pegasus/Common/MessageLoader.h> #include <Pegasus/Common/MessageLoader.h>
 #include "StrLit.h" #include "StrLit.h"
 #include "ArrayIterator.h" #include "ArrayIterator.h"
   #include "CIMQualifierRep.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
 PEGASUS_USING_STD; PEGASUS_USING_STD;
  
 CIMQualifierList::CIMQualifierList()  static CIMName _KEY("Key");
   
   CIMQualifierList::CIMQualifierList() :
                       _keyIndex(PEGASUS_ORDEREDSET_INDEX_UNKNOWN)
 { {
  
 } }
Line 72 
Line 76 
  
     _qualifiers.append(qualifier);     _qualifiers.append(qualifier);
  
       // Update key index:
       if (_keyIndex == PEGASUS_ORDEREDSET_INDEX_UNKNOWN &&
               qualifier._rep->_name == _KEY)
           _keyIndex = _qualifiers.size()-1;
   
     return *this;     return *this;
 } }
  
Line 83 
Line 92 
 void CIMQualifierList::removeQualifier(Uint32 index) void CIMQualifierList::removeQualifier(Uint32 index)
 { {
     _qualifiers.remove(index);     _qualifiers.remove(index);
       _keyIndex = PEGASUS_ORDEREDSET_INDEX_UNKNOWN;
 } }
  
 void CIMQualifierList::clear() void CIMQualifierList::clear()
Line 92 
Line 102 
  
 Uint32 CIMQualifierList::find(const CIMName& name) const Uint32 CIMQualifierList::find(const CIMName& name) const
 { {
     ConstArrayIterator<CIMQualifier> qualifiers(_qualifiers);      return _qualifiers.find(name, generateCIMNameTag(name));
   
     for (Uint32 i = 0, n = qualifiers.size(); i < n; i++)  
     {  
         if (name.equal(qualifiers[i].getName()))  
             return i;  
     }     }
  
     return PEG_NOT_FOUND;  
 }  
 Boolean CIMQualifierList::isTrue(const CIMName& name) const Boolean CIMQualifierList::isTrue(const CIMName& name) const
 { {
     Uint32 index = find(name);     Uint32 index = find(name);
Line 127 
Line 130 
     CIMQualifierList& inheritedQualifiers,     CIMQualifierList& inheritedQualifiers,
     Boolean propagateQualifiers)  // Apparently not used ks 24 mar 2002     Boolean propagateQualifiers)  // Apparently not used ks 24 mar 2002
 { {
       _keyIndex = PEGASUS_ORDEREDSET_INDEX_UNKNOWN;
   
     PEG_METHOD_ENTER(TRC_OBJECTRESOLUTION, "CIMQualifierList::resolve()");     PEG_METHOD_ENTER(TRC_OBJECTRESOLUTION, "CIMQualifierList::resolve()");
     // For each qualifier in the qualifiers array, the following     // For each qualifier in the qualifiers array, the following
     // is checked:     // is checked:
Line 322 
Line 327 
  
         CIMQualifier q = iq.clone();         CIMQualifier q = iq.clone();
         q.setPropagated(true);         q.setPropagated(true);
         _qualifiers.prepend(q);          _qualifiers.insert(0, q);
     }     }
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
 } }
Line 389 
Line 394 
  
 void CIMQualifierList::cloneTo(CIMQualifierList& x) const void CIMQualifierList::cloneTo(CIMQualifierList& x) const
 { {
       x._keyIndex = PEGASUS_ORDEREDSET_INDEX_UNKNOWN;
     x._qualifiers.clear();     x._qualifiers.clear();
     x._qualifiers.reserveCapacity(_qualifiers.size());     x._qualifiers.reserveCapacity(_qualifiers.size());
  
     for (Uint32 i = 0, n = _qualifiers.size(); i < n; i++)     for (Uint32 i = 0, n = _qualifiers.size(); i < n; i++)
         x._qualifiers.append(_qualifiers[i].clone());         x._qualifiers.append(_qualifiers[i].clone());
       x._keyIndex = _keyIndex;
   }
   
   Boolean CIMQualifierList::isKey() const
   {
       static Uint32 _KEY_TAG = generateCIMNameTag(_KEY);
   
       // Resolve key index if unresolved.
   
       if (_keyIndex == PEGASUS_ORDEREDSET_INDEX_UNKNOWN)
       {
           Uint32 pos = _qualifiers.find(_KEY, _KEY_TAG);
           ((CIMQualifierList*)this)->_keyIndex = int(pos);
       }
   
       // If no key qualifier in list, then return false (default key value).
   
       if (_keyIndex == PEGASUS_ORDEREDSET_INDEX_NOTFOUND)
           return false;
   
       // Obtain value of key qualifier.
   
       const CIMValue& value = _qualifiers[_keyIndex]._rep->_value;
       if (!value.isNull() &&
           value.getType() == CIMTYPE_BOOLEAN)
       {
           Boolean boolVal;
           value.get(boolVal);
           return boolVal;
       }
   
       return false;
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.62  
changed lines
  Added in v.1.63

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2