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

Diff for /pegasus/src/Pegasus/Common/CIMObject.cpp between version 1.1 and 1.31

version 1.1, 2001/07/01 22:21:57 version 1.31, 2004/10/17 20:39:16
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2004////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   // 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.
 // //
 // 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 22 
Line 27 
 // //
 // Author: Mike Brasher (mbrasher@bmc.com) // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // Modified By:  // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
   //              Carol Ann Krug Graves, Hewlett-Packard Company
   //                  (carolann_graves@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
   #include "CIMClassRep.h"
   #include "CIMInstanceRep.h"
   #include "CIMObjectRep.h"
 #include "CIMObject.h" #include "CIMObject.h"
   #include "CIMClass.h"
   #include "CIMInstance.h"
   #include "XmlWriter.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 CIMClass CIMObject::getClass()  #define PEGASUS_ARRAY_T CIMObject
   # include "ArrayImpl.h"
   #undef PEGASUS_ARRAY_T
   
   ////////////////////////////////////////////////////////////////////////////////
   //
   // CIMObject
   //
   ////////////////////////////////////////////////////////////////////////////////
   
   CIMObject::CIMObject()
       : _rep(0)
   {
   }
   
   CIMObject::CIMObject(const CIMObject& x)
   {
       Inc(_rep = x._rep);
   }
   
   CIMObject::CIMObject(const CIMClass& x)
   {
       Inc(_rep = x._rep);
   }
   
   CIMObject::CIMObject(const CIMInstance& x)
   {
       Inc(_rep = x._rep);
   }
   
   CIMObject::CIMObject(CIMObjectRep* rep)
       : _rep(rep)
   {
   }
   
   CIMObject& CIMObject::operator=(const CIMObject& x)
   {
       if (x._rep != _rep)
       {
           Dec(_rep);
           Inc(_rep = x._rep);
       }
       return *this;
   }
   
   CIMObject::~CIMObject()
 { {
     CIMClassRep* rep = dynamic_cast<CIMClassRep*>(_rep);      Dec(_rep);
   }
  
     if (!rep)  const CIMName& CIMObject::getClassName() const
         throw TypeMismatch();  {
       _checkRep();
       return _rep->getClassName();
   }
   
   const CIMObjectPath& CIMObject::getPath() const
   {
       _checkRep();
       return _rep->getPath();
   }
   
   void CIMObject::setPath (const CIMObjectPath & path)
   {
       _checkRep ();
       _rep->setPath (path);
   }
   
   CIMObject& CIMObject::addQualifier(const CIMQualifier& qualifier)
   {
       _checkRep();
       _rep->addQualifier(qualifier);
       return *this;
   }
   
   Uint32 CIMObject::findQualifier(const CIMName& name) const
   {
       _checkRep();
       return _rep->findQualifier(name);
   }
   
   CIMQualifier CIMObject::getQualifier(Uint32 index)
   {
       _checkRep();
       return _rep->getQualifier(index);
   }
   
   CIMConstQualifier CIMObject::getQualifier(Uint32 index) const
   {
       _checkRep();
       return _rep->getQualifier(index);
   }
   
   void CIMObject::removeQualifier(Uint32 index)
   {
       _checkRep();
       _rep->removeQualifier(index);
   }
   
   Uint32 CIMObject::getQualifierCount() const
   {
       _checkRep();
       return _rep->getQualifierCount();
   }
   
   CIMObject& CIMObject::addProperty(const CIMProperty& x)
   {
       _checkRep();
       _rep->addProperty(x);
       return *this;
   }
   
   Uint32 CIMObject::findProperty(const CIMName& name) const
   {
       _checkRep();
       return _rep->findProperty(name);
   }
   
   CIMProperty CIMObject::getProperty(Uint32 index)
   {
       _checkRep();
       return _rep->getProperty(index);
   }
   
   CIMConstProperty CIMObject::getProperty(Uint32 index) const
   {
       _checkRep();
       return _rep->getProperty(index);
   }
   
   void CIMObject::removeProperty(Uint32 index)
   {
       _checkRep();
       _rep->removeProperty(index);
   }
   
   Uint32 CIMObject::getPropertyCount() const
   {
       _checkRep();
       return _rep->getPropertyCount();
   }
   
   Boolean CIMObject::isUninitialized() const
   {
       return (_rep == 0)? true : false;
   }
  
     return CIMClass(rep);  Boolean CIMObject::isClass () const
   {
       try
       {
           const CIMClass c (*this);
           return true;
       }
       catch (DynamicCastFailedException&)
       {
           return false;
       }
 } }
  
 CIMInstance CIMObject::getInstance()  Boolean CIMObject::isInstance () const
   {
       try
 { {
     CIMInstanceRep* rep = dynamic_cast<CIMInstanceRep*>(_rep);          const CIMInstance i (*this);
           return true;
       }
       catch (DynamicCastFailedException&)
       {
           return false;
       }
   }
  
     if (!rep)  Boolean CIMObject::identical(const CIMConstObject& x) const
         throw TypeMismatch();  {
       x._checkRep();
       _checkRep();
       return _rep->identical(x._rep);
   }
  
     return CIMInstance(rep);  CIMObject CIMObject::clone() const
   {
       _checkRep();
       return CIMObject(_rep->clone());
 } }
  
 CIMObjectWithPath::CIMObjectWithPath()  void CIMObject::_checkRep() const
 { {
       if (!_rep)
           throw UninitializedObjectException();
   }
  
   ////////////////////////////////////////////////////////////////////////////////
   //
   // CIMConstObject
   //
   ////////////////////////////////////////////////////////////////////////////////
   
   CIMConstObject::CIMConstObject()
       : _rep(0)
   {
 } }
  
 CIMObjectWithPath::CIMObjectWithPath(  CIMConstObject::CIMConstObject(const CIMConstObject& x)
     CIMReference& reference,  
     CIMObject& object)  
     : _reference(reference), _object(object)  
 { {
       Inc(_rep = x._rep);
   }
  
   CIMConstObject::CIMConstObject(const CIMObject& x)
   {
       Inc(_rep = x._rep);
 } }
  
 CIMObjectWithPath::CIMObjectWithPath(const CIMObjectWithPath& x)  CIMConstObject::CIMConstObject(const CIMClass& x)
     : _reference(x._reference), _object(x._object)  
 { {
       Inc(_rep = x._rep);
   }
  
   CIMConstObject::CIMConstObject(const CIMConstClass& x)
   {
       Inc(_rep = x._rep);
 } }
  
 CIMObjectWithPath::~CIMObjectWithPath()  CIMConstObject::CIMConstObject(const CIMInstance& x)
 { {
       Inc(_rep = x._rep);
   }
  
   CIMConstObject::CIMConstObject(const CIMConstInstance& x)
   {
       Inc(_rep = x._rep);
 } }
  
 CIMObjectWithPath& CIMObjectWithPath::operator=(const CIMObjectWithPath& x)  CIMConstObject& CIMConstObject::operator=(const CIMConstObject& x)
 { {
     if (this != &x)      if (x._rep != _rep)
     {     {
         _reference = x._reference;          Dec(_rep);
         _object = x._object;          Inc(_rep = x._rep);
     }     }
     return *this;     return *this;
 } }
  
 void CIMObjectWithPath::set(CIMReference& reference, CIMObject& object)  CIMConstObject::~CIMConstObject()
   {
       Dec(_rep);
   }
   
   const CIMName& CIMConstObject::getClassName() const
   {
       _checkRep();
       return _rep->getClassName();
   }
   
   const CIMObjectPath& CIMConstObject::getPath() const
   {
       _checkRep();
       return _rep->getPath();
   }
   
   Uint32 CIMConstObject::findQualifier(const CIMName& name) const
   {
       _checkRep();
       return _rep->findQualifier(name);
   }
   
   CIMConstQualifier CIMConstObject::getQualifier(Uint32 index) const
   {
       _checkRep();
       return _rep->getQualifier(index);
   }
   
   Uint32 CIMConstObject::getQualifierCount() const
   {
       _checkRep();
       return _rep->getQualifierCount();
   }
   
   Uint32 CIMConstObject::findProperty(const CIMName& name) const
   {
       _checkRep();
       return _rep->findProperty(name);
   }
   
   CIMConstProperty CIMConstObject::getProperty(Uint32 index) const
   {
       _checkRep();
       return _rep->getProperty(index);
   }
   
   Uint32 CIMConstObject::getPropertyCount() const
   {
       _checkRep();
       return _rep->getPropertyCount();
   }
   
   Boolean CIMConstObject::isUninitialized() const
   {
       return (_rep == 0)? true : false;
   }
   
   Boolean CIMConstObject::isClass() const
   {
       try
       {
           const CIMConstClass c(*this);
           return true;
       }
       catch (DynamicCastFailedException&)
       {
           return false;
       }
   }
   
   Boolean CIMConstObject::isInstance() const
   {
       try
       {
           const CIMConstInstance i(*this);
           return true;
       }
       catch (DynamicCastFailedException&)
       {
           return false;
       }
   }
   
   Boolean CIMConstObject::identical(const CIMConstObject& x) const
   {
       x._checkRep();
       _checkRep();
       return _rep->identical(x._rep);
   }
   
   CIMObject CIMConstObject::clone() const
   {
       return CIMObject(_rep->clone());
   }
   
   void CIMConstObject::_checkRep() const
 { {
     _reference = reference;      if (!_rep)
     _object = object;          throw UninitializedObjectException();
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.31

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2