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

Diff for /pegasus/src/Pegasus/Common/CIMPropertyList.cpp between version 1.5 and 1.13.10.1

version 1.5, 2002/07/19 19:43:44 version 1.13.10.1, 2006/02/10 16:09:35
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 34 
Line 42 
 class CIMPropertyListRep class CIMPropertyListRep
 { {
 public: public:
     Array<String> propertyNames;      Array<CIMName> propertyNames;
     Boolean isNull;     Boolean isNull;
 }; };
  
Line 52 
Line 60 
     _rep->isNull = x._rep->isNull;     _rep->isNull = x._rep->isNull;
 } }
  
 CIMPropertyList::CIMPropertyList(const Array<String>& propertyNames)  CIMPropertyList::CIMPropertyList(const Array<CIMName>& propertyNames)
 { {
     _rep = new CIMPropertyListRep();     _rep = new CIMPropertyListRep();
   
       // ATTN: the following code is inefficient and problematic. besides
       // adding overhead to check for null property names, it has the
       // disadvantage of returning an error if only 1 of n properties are null
       // without informing the caller of which one. this is mainly a problem
       // with this object's interface. it should be more like CIMQualifierList,
       // which has a add() method that would validate one at a time.
   
       // ensure names are not null
       for(Uint32 i = 0, n = propertyNames.size(); i < n; i++)
       {
           if(propertyNames[i].isNull())
           {
               throw UninitializedObjectException();
           }
       }
   
     _rep->propertyNames = propertyNames;     _rep->propertyNames = propertyNames;
     _rep->isNull = false;     _rep->isNull = false;
 } }
Line 64 
Line 89 
     delete _rep;     delete _rep;
 } }
  
 void CIMPropertyList::set(const Array<String>& propertyNames)  void CIMPropertyList::set(const Array<CIMName>& propertyNames)
   {
       // ATTN: the following code is inefficient and problematic. besides
       // adding overhead to check for null property names, it has the
       // disadvantage of returning an error if only 1 of n properties are null
       // without informing the caller of which one. this is mainly a problem
       // with this object's interface. it should be more like CIMQualifierList,
       // which has a add() method that would validate one at a time.
   
       // ensure names are not null
       for(Uint32 i = 0, n = propertyNames.size(); i < n; i++)
       {
           if(propertyNames[i].isNull())
 { {
               throw UninitializedObjectException();
           }
       }
   
     _rep->propertyNames = propertyNames;     _rep->propertyNames = propertyNames;
     _rep->isNull = false;     _rep->isNull = false;
 } }
Line 97 
Line 138 
     return _rep->propertyNames.size();     return _rep->propertyNames.size();
 } }
  
 const String& CIMPropertyList::operator[](Uint32 pos) const  const CIMName& CIMPropertyList::operator[](Uint32 index) const
 { {
     return _rep->propertyNames[pos];      return _rep->propertyNames[index];
 } }
  
 Array<String> CIMPropertyList::getPropertyNameArray() const  Array<CIMName> CIMPropertyList::getPropertyNameArray() const
 { {
     return _rep->propertyNames;     return _rep->propertyNames;
 } }


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.13.10.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2