(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.3 and 1.28

version 1.3, 2001/07/03 14:57:38 version 1.28, 2002/08/27 23:38:44
Line 1 
Line 1 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
   // The Open Group, Tivoli Systems
 // //
 // 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 23 
 // //
 // 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" #include "XmlWriter.h"
  
 PEGASUS_USING_STD;  
   
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   #define PEGASUS_ARRAY_T CIMObject
   # include "ArrayImpl.h"
   #undef PEGASUS_ARRAY_T
   
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
 // //
 // CIMObject // CIMObject
 // //
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 CIMClass CIMObject::getClass()  CIMObject::CIMObject()
       : _rep(0)
 { {
     if (!isClass())  }
         throw TypeMismatch();  
  
     return CIMClass((CIMClassRep*)_rep);  CIMObject::CIMObject(const CIMObject& x)
   {
       Inc(_rep = x._rep);
 } }
  
 CIMConstClass CIMObject::getClass() const  CIMObject::CIMObject(const CIMClass& x)
 { {
     if (!isInstance())      Inc(_rep = x._rep);
         throw TypeMismatch();  }
  
     return CIMConstClass((CIMClassRep*)_rep);  CIMObject::CIMObject(const CIMInstance& x)
   {
       Inc(_rep = x._rep);
 } }
  
 CIMInstance CIMObject::getInstance()  CIMObject::CIMObject(CIMObjectRep* rep)
       : _rep(rep)
 { {
     if (!isInstance())  }
         throw TypeMismatch();  
  
     return CIMInstance((CIMInstanceRep*)_rep);  CIMObject& CIMObject::operator=(const CIMObject& x)
   {
       if (x._rep != _rep)
       {
           Dec(_rep);
           Inc(_rep = x._rep);
       }
       return *this;
   }
   
   CIMObject::~CIMObject()
   {
       Dec(_rep);
 } }
  
 CIMConstInstance CIMObject::getInstance() const  const CIMName& CIMObject::getClassName() const
 { {
     if (!isInstance())      _checkRep();
         throw TypeMismatch();      return _rep->getClassName();
   }
  
     return CIMConstInstance((CIMInstanceRep*)_rep);  const CIMObjectPath& CIMObject::getPath() const
   {
       _checkRep();
       return _rep->getPath();
 } }
  
 void CIMObject::toXml(Array<Sint8>& out) const  void CIMObject::setPath (const CIMObjectPath & path)
 { {
     if (!_rep)      _checkRep ();
         throw NullPointer();      _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);
   }
  
     if (isClass())  Uint32 CIMObject::getQualifierCount() const
     {     {
         CIMConstClass cimClass = getClass();      _checkRep();
         cimClass.toXml(out);      return _rep->getQualifierCount();
   }
   
   CIMObject& CIMObject::addProperty(const CIMProperty& x)
   {
       _checkRep();
       _rep->addProperty(x);
       return *this;
     }     }
     else  
   Uint32 CIMObject::findProperty(const CIMName& name) const
   {
       _checkRep();
       return _rep->findProperty(name);
   }
   
   CIMProperty CIMObject::getProperty(Uint32 index)
     {     {
         CIMConstInstance cimInstance = getInstance();      _checkRep();
         cimInstance.toXml(out);      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;
   }
   
   Boolean CIMObject::isClass () const
   {
       try
       {
           const CIMClass c (*this);
           return true;
       }
       catch (DynamicCastFailedException)
       {
           return false;
       }
   }
   
   Boolean CIMObject::isInstance () const
   {
       try
       {
           const CIMInstance i (*this);
           return true;
       }
       catch (DynamicCastFailedException)
       {
           return false;
       }
   }
   
   Boolean CIMObject::identical(const CIMConstObject& x) const
   {
       x._checkRep();
       _checkRep();
       return _rep->identical(x._rep);
   }
   
   CIMObject CIMObject::clone() const
   {
       _checkRep();
       return CIMObject(_rep->clone());
   }
   
   void CIMObject::_checkRep() const
   {
       if (!_rep)
           throw UninitializedObjectException();
 } }
  
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
 // //
 // CIMObjectWithPath  // CIMConstObject
 // //
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 CIMObjectWithPath::CIMObjectWithPath()  CIMConstObject::CIMConstObject()
       : _rep(0)
 { {
   
 } }
  
 CIMObjectWithPath::CIMObjectWithPath(  CIMConstObject::CIMConstObject(const CIMConstObject& x)
     const CIMReference& reference,  
     const 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(  CIMConstObject::~CIMConstObject()
     const CIMReference& reference,  
     const CIMObject& object)  
 { {
     _reference = reference;      Dec(_rep);
     _object = object;  
 } }
  
 //------------------------------------------------------------------------------  const CIMName& CIMConstObject::getClassName() const
 //  {
 // <!ELEMENT VALUE.OBJECTWITHPATH ((CLASSPATH,CLASS)|(INSTANCEPATH,INSTANCE))>      _checkRep();
 //      return _rep->getClassName();
 //------------------------------------------------------------------------------  }
   
   const CIMObjectPath& CIMConstObject::getPath() const
   {
       _checkRep();
       return _rep->getPath();
   }
  
 void CIMObjectWithPath::toXml(Array<Sint8>& out) const  Uint32 CIMConstObject::findQualifier(const CIMName& name) const
 { {
     out << "<VALUE.OBJECTWITHPATH>\n";      _checkRep();
       return _rep->findQualifier(name);
   }
   
   CIMConstQualifier CIMConstObject::getQualifier(Uint32 index) const
   {
       _checkRep();
       return _rep->getQualifier(index);
   }
  
     _reference.toXml(out, false);  Uint32 CIMConstObject::getQualifierCount() const
     _object.toXml(out);  {
       _checkRep();
       return _rep->getQualifierCount();
   }
  
     out << "</VALUE.OBJECTWITHPATH>\n";  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
   {
       if (!_rep)
           throw UninitializedObjectException();
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.28

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2