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

Diff for /pegasus/src/Pegasus/Common/CIMClass.h between version 1.36 and 1.61

version 1.36, 2002/05/01 04:34:14 version 1.61, 2002/08/28 01:16:48
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)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 30 
Line 33 
 #define Pegasus_CIMClass_h #define Pegasus_CIMClass_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
   #include <Pegasus/Common/Linkage.h>
   #include <Pegasus/Common/CIMName.h>
 #include <Pegasus/Common/CIMObject.h> #include <Pegasus/Common/CIMObject.h>
 #include <Pegasus/Common/CIMClassRep.h>  #include <Pegasus/Common/CIMMethod.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class CIMConstClass; class CIMConstClass;
 class CIMObject;  class CIMClassRep;
 class CIMConstObject;  class Resolver;
  
 // REVIEW: redocument. // REVIEW: redocument.
  
Line 60 
Line 65 
  
         Use one of the other constructors to create an initiated new CIM class         Use one of the other constructors to create an initiated new CIM class
         object.         object.
         @exception Throws an exception "unitialized handle" if this          @exception "unitialized handle" if this
         unitialized handle is used         unitialized handle is used
         /REF(HPEGASUS_HANDLES)  
     */     */
     CIMClass() : _rep(0)      CIMClass();
     {  
     }  
  
     /** Constructor - Creates a class from a previous class     /** Constructor - Creates a class from a previous class
     */     */
     CIMClass(const CIMClass& x)      CIMClass(const CIMClass& x);
     {  
         Inc(_rep = x._rep);  
     }  
   
     PEGASUS_EXPLICIT CIMClass(const CIMObject& x);  
   
     PEGASUS_EXPLICIT CIMClass(const CIMObject& x, NoThrow&);  
  
     /** Assignment operator.      /** Constructor - Creates a Class object from the given CIMObject
           @param x CIMObject from which to create the CIMClass
           @exception DynamicCastFailedException If a CIMClass can not be
           created from the given CIMObject
     */     */
     CIMClass& operator=(const CIMClass& x)      PEGASUS_EXPLICIT CIMClass(const CIMObject& x);
     {  
         if (x._rep != _rep)  
         {  
             Dec(_rep);  
             Inc(_rep = x._rep);  
         }  
         return *this;  
     }  
  
     /** Constructor - Creates a Class from inputs of a classname and     /** Constructor - Creates a Class from inputs of a classname and
         SuperClassName         SuperClassName
         @param className CIMReference representing name of the class being created          @param className CIMName representing name of the class being created
         @param superClassName String representing name of the SuperClass          @param superClassName CIMName representing name of the SuperClass
         ATTN: Define what makes up legal name.  
         @return Throws IllegalName if className argument illegal CIM identifier.  
         <pre>         <pre>
             CIMClass NewCass("MyClass", "YourClass");              CIMClass NewClass("MyClass", "YourClass");
         </pre>         </pre>
  
     */     */
     CIMClass(     CIMClass(
         const CIMReference& reference,          const CIMName& className,
         const String& superClassName = String())          const CIMName& superClassName = CIMName());
     {  
         _rep = new CIMClassRep(reference, superClassName);      /** Assignment operator.
     }      */
       CIMClass& operator=(const CIMClass& x);
  
     /// Destructor     /// Destructor
     ~CIMClass()      ~CIMClass();
     {  
         Dec(_rep);  
     }  
  
     /** isAssociation - Identifies whether or not this CIM class     /** isAssociation - Identifies whether or not this CIM class
         is an association. An association is a relationship between two         is an association. An association is a relationship between two
Line 124 
Line 110 
         @return  Boolean True if this CIM class belongs to an association;         @return  Boolean True if this CIM class belongs to an association;
         otherwise, false.         otherwise, false.
     */     */
     Boolean isAssociation() const      Boolean isAssociation() const;
     {  
         _checkRep();  
         return _rep->isAssociation();  
     }  
  
     /** isAbstract Test if the CIMClass is abstract.     /** isAbstract Test if the CIMClass is abstract.
         @return - True if the CIMClass Object is abstract         @return - True if the CIMClass Object is abstract
         SeeAlso: Abstract         SeeAlso: Abstract
     */     */
     Boolean isAbstract() const      Boolean isAbstract() const;
     {  
         _checkRep();  
         return _rep->isAbstract();  
     }  
  
       // ATTN: COMMENT. Why not just get name so we have common method for all.
     /** getClassName Gets the name of the class     /** getClassName Gets the name of the class
         ATTN: COMMENT. Why not just get name so we have common method for all.          @return Returns CIMName with the class name.
         @return Returns string with the class name.  
     */     */
     const String& getClassName() const      const CIMName& getClassName() const;
     {  
         _checkRep();  
         return _rep->getClassName();  
     }  
   
     /** equalClassName compares Name of the class with a String. This test performs  
         a comparison of the classname component of the object  
         with a String.  Note that this function was included specifically  
         because the equality compare is not just a straight comparison  
         because classnames are case independent.  
         @param classname String containing the name for comparison  
         @return True if it is the same class name (equalNoCase compare passes)  
         or false if not.  
     */  
     const Boolean equalClassName(const String& classname) const  
     {  
         _checkRep();  
         return _rep->equalClassName(classname);  
  
     }      const CIMObjectPath& getPath() const;
  
     const CIMReference& getPath() const      /**
     {        Sets the object path for the class
         _checkRep();        @param  path  CIMObjectPath containing the object path
         return _rep->getPath();       */
     }      void setPath (const CIMObjectPath & path);
  
     /** getSuperClassName - Gets the name of the Parent     /** getSuperClassName - Gets the name of the Parent
         @return String with parent class name.          @return CIMName with parent class name.
     */     */
     const String& getSuperClassName() const      const CIMName& getSuperClassName() const;
     {  
         _checkRep();  
         return _rep->getSuperClassName();  
     }  
  
     /** setSuperClassName - Sets the name of the parent class from     /** setSuperClassName - Sets the name of the parent class from
         the input parameter. \REF{CLASSNAME}. ATTN: Define legal classnames          the input parameter. \REF{CLASSNAME}.
         @param String defining parent name.          @param CIMName defining parent name.
         @return Throws IllegalName if superClassName argument not legal CIM  
         identifier  
         @exception throws IllegalName if the name is not correct. See  
         \URL[ClassNames]{DefinitionofTerms.html#CLASSNAME}  
     */     */
     void setSuperClassName(const String& superClassName)      void setSuperClassName(const CIMName& superClassName);
     {  
         _checkRep();  
         _rep->setSuperClassName(superClassName);  
     }  
  
     /** addQualifier - Adds the specified qualifier to the class     /** addQualifier - Adds the specified qualifier to the class
         and increments the qualifier count. It is illegal to add the same         and increments the qualifier count. It is illegal to add the same
Line 201 
Line 149 
         @param qualifier CIMQualifier object representing the qualifier to be         @param qualifier CIMQualifier object representing the qualifier to be
         added         added
         @return Returns handle of the class object         @return Returns handle of the class object
         @exception Throws AlreadyExists.          @exception AlreadyExistsException.
     */     */
     CIMClass& addQualifier(const CIMQualifier& qualifier)      CIMClass& addQualifier(const CIMQualifier& qualifier);
     {  
         _checkRep();  
         _rep->addQualifier(qualifier);  
         return *this;  
     }  
  
     /** findQualifier - Searches for a qualifier with the specified `     /** findQualifier - Searches for a qualifier with the specified `
         input name if it exists in the class         input name if it exists in the class
Line 217 
Line 160 
         @return Returns index of the qualifier found or PEG_NOT_FOUND         @return Returns index of the qualifier found or PEG_NOT_FOUND
         if not found.         if not found.
     */     */
     Uint32 findQualifier(const String& name)      Uint32 findQualifier(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->findQualifier(name);  
     }  
     ///  
     Uint32 findQualifier(const String& name) const  
     {  
         _checkRep();  
         return _rep->findQualifier(name);  
     }  
     /** existsQualifier - Returns true if the qualifier with the  
     specified name exists in the class  
     @param name String name of the qualifier object being tested.  
     @return True if the qualifier exits.  Otherwise false is returned.  
     */  
     Boolean existsQualifier(const String& name)  
     {  
         _checkRep();  
         return _rep->existsQualifier(name);  
     }  
     ///  
     Boolean existsQualifier(const String& name) const  
     {  
         _checkRep();  
         return _rep->existsQualifier(name);  
     }  
   
     /** isTrueQualifier - Determines if the qualifier defined by  
         the input parameter exists for the class, is Boolean, and  
         has a value of true.  
         This function is useful to quickly determine the state of a  
         qualifier.  
         @param String containing the qualifier  name.  
         @return Boolean True if the qualifier exists,  
     */  
     Boolean isTrueQualifier(const String& name) const  
     {  
         _checkRep();  
         return _rep->isTrueQualifier(name);  
     }  
  
 /**     getQualifier - Gets the CIMQualifier object defined /**     getQualifier - Gets the CIMQualifier object defined
         by the input parameter         by the input parameter
         @param pos defines the position of the qualifier in the class from the          @param index defines the index of the qualifier in the class from the
         findQualifier method         findQualifier method
         @return CIMQualifier object representing the qualifier found. On error,         @return CIMQualifier object representing the qualifier found. On error,
             CIMQualifier handle will be null.             CIMQualifier handle will be null.
     */     */
     CIMQualifier getQualifier(Uint32 pos)      CIMQualifier getQualifier(Uint32 index);
     {  
         _checkRep();  
         return _rep->getQualifier(pos);  
     }  
  
     /** getQualifier - Gets the qualifier defined by the input parameter     /** getQualifier - Gets the qualifier defined by the input parameter
                 from the qualifier list for this CIMClass.                 from the qualifier list for this CIMClass.
         */         */
     CIMConstQualifier getQualifier(Uint32 pos) const      CIMConstQualifier getQualifier(Uint32 index) const;
     {  
         _checkRep();  
         return _rep->getQualifier(pos);  
     }  
  
     /** removeQualifier - Removes the qualifier defined by the     /** removeQualifier - Removes the qualifier defined by the
     index parameter.     index parameter.
     @param Defines the index of the qualifier to be removed.     @param Defines the index of the qualifier to be removed.
     @return There is no return.     @return There is no return.
     @exception Throw OutOfBound exception if the index is outside      @exception IndexOutOfBoundsException if the index is outside
     the range of existing qualifier objects for this class     the range of existing qualifier objects for this class
     */     */
     void removeQualifier(Uint32 pos)      void removeQualifier(Uint32 index);
     {  
         _checkRep();  
         _rep->removeQualifier(pos);  
     }  
  
     /** getQualifierCount - Returns the number of qualifiers     /** getQualifierCount - Returns the number of qualifiers
         in the class.         in the class.
         @return ATTN:          @return the number of qualifiers on the class definition (not
           those on properties or methods)
     */     */
     Uint32 getQualifierCount() const      Uint32 getQualifierCount() const;
     {  
         _checkRep();  
         return _rep->getQualifierCount();  
     }  
  
     /** addProperty - Adds the specified property object to the     /** addProperty - Adds the specified property object to the
         properties in the CIM class         properties in the CIM class
     */     */
     CIMClass& addProperty(const CIMProperty& x)      CIMClass& addProperty(const CIMProperty& x);
     {  
         _checkRep();  
         _rep->addProperty(x);  
         return *this;  
     }  
  
     /** findProperty - Finds the property object with the     /** findProperty - Finds the property object with the
         name defined by the input parameter in the class.         name defined by the input parameter in the class.
         @param String parameter with the property name.          @param CIMName parameter with the property name.
         @return position representing the property object found or          @return index representing the property object found or
         PEG_NOT_FOUND if the property is not found.         PEG_NOT_FOUND if the property is not found.
     */     */
     Uint32 findProperty(const String& name)      Uint32 findProperty(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->findProperty(name);  
     }  
   
     Uint32 findProperty(const String& name) const  
     {  
         _checkRep();  
         return _rep->findProperty(name);  
     }  
   
     /** existsPropery - Determines if a property object with the  
         name defined by the input parameter exists in the class.  
         @parm String parameter with the property name.  
         @return True if the property object exists.  
     */  
     Boolean existsProperty(const String& name)  
     {  
         _checkRep();  
         return _rep->existsProperty(name);  
     }  
   
         Boolean existsProperty(const String& name) const  
     {  
        _checkRep();  
        return _rep->existsProperty(name);  
     }  
  
     /** getProperty - Returns a property representing the property     /** getProperty - Returns a property representing the property
         defined by the input parameter         defined by the input parameter
         @param position for this property          @param index Index for this property
         ATTN: Should we not use something like handle for position???  
         @return CIMProperty object         @return CIMProperty object
         ATTN: what is error return?          @exception IndexOutOfBoundsException if the index is outside
           the range of properties in this class
     */     */
     CIMProperty getProperty(Uint32 pos)      CIMProperty getProperty(Uint32 index);
     {  
         _checkRep();  
         return _rep->getProperty(pos);  
     }  
  
     /**getProperty Gets a property object from the CIMClass     /**getProperty Gets a property object from the CIMClass
         @param pos The index of the property object to get.          @param index The index of the property object to get.
         @return Returns handle of the property object requested         @return Returns handle of the property object requested
         @exception Throws OutofBounds if the size field is greather than the          @exception IndexOutOfBoundsException if the index is outside
         bunber of properties in the class.          the range of properties in this class
     */     */
     CIMConstProperty getProperty(Uint32 pos) const      CIMConstProperty getProperty(Uint32 index) const;
     {  
         _checkRep();      /** removeProperty - Remove the specified property from the class
         return _rep->getProperty(pos);          @param index Index of the property to be removed
     }          @exception IndexOutOfBoundsException if the index is outside
           the range of properties in this class
     /** removeProperty - Removes the property represented  
         by the position input parameter from the class  
         @param pos Index to the property to be removed from the  
         findPropety method  
         @exception Throws OutofBounds if index is not a property object  
     */     */
     void removeProperty(Uint32 pos)      void removeProperty(Uint32 index);
     {  
         _checkRep();  
         _rep->removeProperty(pos);  
     }  
  
     /** getPropertyCount -   Gets the count of the number of properties     /** getPropertyCount -   Gets the count of the number of properties
         defined in the class.         defined in the class.
         @return count of number of proerties in the class          @return count of number of properties in the class
     */     */
     Uint32 getPropertyCount() const      Uint32 getPropertyCount() const;
     {  
         _checkRep();  
         return _rep->getPropertyCount();  
     }  
  
     /** addMethod - Adds the method object defined by the input     /** addMethod - Adds the method object defined by the input
         parameter to the class and increments the count of the number of         parameter to the class and increments the count of the number of
         methods in the class         methods in the class
         @param method object representing the method to be added         @param method object representing the method to be added
         @return Returns the CIMClass object to which the method was added.         @return Returns the CIMClass object to which the method was added.
         @exception Throws AlreadyExists if the method already exists and throws          @exception AlreadyExistsException if the method already exists
         UnitializedHandle if the handle is not initialized          @exception UninitializedObjectException if the object is not initialized
     */     */
     CIMClass& addMethod(const CIMMethod& x)      CIMClass& addMethod(const CIMMethod& x);
     {  
         _checkRep();  
         _rep->addMethod(x);  
         return *this;  
     }  
  
     /** findMethod - Locate the method object defined by the     /** findMethod - Locate the method object defined by the
         name input         name input
         @param String representing the name of the method to be found          @param CIMName representing the name of the method to be found
         @return Position of the method object in the class to be used in         @return Position of the method object in the class to be used in
         subsequent getmethod, etc. operations         subsequent getmethod, etc. operations
     */     */
     Uint32 findMethod(const String& name)      Uint32 findMethod(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->findMethod(name);  
     }  
   
     Uint32 findMethod(const String& name) const  
     {  
         _checkRep();  
         return _rep->findMethod(name);  
     }  
   
      /** existsMethod - Determine if the method object defined by the  
         name input exists  
         @param String representing the name of the method to be found  
         @return True if the method exists  
     */  
     Boolean existsMethod(const String& name)  
     {  
         _checkRep();  
         return _rep->existsMethod(name);  
     }  
   
     Boolean existsMethod(const String& name) const  
     {  
         _checkRep();  
         return _rep->existsMethod(name);  
     }  
  
     /** getMethod - Gets the method object defined by the     /** getMethod - Gets the method object defined by the
         input parameter.         input parameter.
         @param pos Index to the method object to get          @param index Index to the method object to get
         @return Returns handle of the method requested         @return Returns handle of the method requested
         @exception Throws OutofBounds if the index represented by pos is greater          @exception IndexOutOfBoundsException if the index is outside
         than the number of methods defined in the class object          the range of methods in this class
     */     */
     CIMMethod getMethod(Uint32 pos)      CIMMethod getMethod(Uint32 index);
     {  
         _checkRep();  
         return _rep->getMethod(pos);  
     }  
  
     /** getMethod Gets the method object defined by the input     /** getMethod Gets the method object defined by the input
     parameter. This is the const version.     parameter. This is the const version.
     */     */
  
     CIMConstMethod getMethod(Uint32 pos) const      CIMConstMethod getMethod(Uint32 index) const;
     {  
         _checkRep();  
         return _rep->getMethod(pos);  
     }  
  
     /** removeMethod - Removes the method defined by the     /** removeMethod - Removes the method defined by the
     index parameter.     index parameter.
Line 476 
Line 275 
     @exception Throw OutOfBound exception if the index is outside     @exception Throw OutOfBound exception if the index is outside
     the range of existing method objects for this class     the range of existing method objects for this class
     */     */
     void removeMethod(Uint32 pos)      void removeMethod(Uint32 index);
     {  
         _checkRep();  
         _rep->removeMethod(pos);  
     }  
  
     /** getMethodCount - Count of the number of methods in the class     /** getMethodCount - Count of the number of methods in the class
         @return integer representing the number of methods in the class object.         @return integer representing the number of methods in the class object.
     */     */
     Uint32 getMethodCount() const      Uint32 getMethodCount() const;
     {  
         _checkRep();  
         return _rep->getMethodCount();  
     }  
   
     /** Resolve -  Resolve the class: inherit any properties and  
         qualifiers. Make sure the superClass really exists and is consistent  
         with this class. Also set the propagated flag class-origin for each  
         class feature.  
         ATTN: explain why this here  
     */  
     void resolve(  
         DeclContext* declContext,  
         const String& nameSpace)  
     {  
         _checkRep();  
         _rep->resolve(declContext, nameSpace);  
     }  
   
     /// operator - ATTN:  
     operator int() const { return _rep != 0; }  
   
     /** toXML  - prepares an XML representation of the CIMClass object  
         in the provided Sint8 variable.  
         @param out Sint8 array for the XML representation  
     */  
     void toXml(Array<Sint8>& out) const  
     {  
         _checkRep();  
         _rep->toXml(out);  
     }  
  
     /** print -  Prints the toXML output to cout      /** Get names of all keys of this class. */
     */      void getKeyNames(Array<CIMName>& keyNames) const;
     void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const  
     {      Boolean hasKeys() const;
         _checkRep();  
         _rep->print(o);      /** Makes a deep copy (clone) of the given object. */
     }      CIMClass clone() const;
   
     /** toMof  - prepares a MOF representation of the CIMClass object  
         in the provided Sint8 variable.  
         @param out Sint8 array for the XML representation  
     */  
     void toMof(Array<Sint8>& out) const  
     {  
         _checkRep();  
         _rep->toMof(out);  
     }  
     /** printMof -  Prints the toMof output to cout  
     */  
     void printMof(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const  
     {  
         _checkRep();  
         _rep->printMof(o);  
     }  
  
       // ATTN: Clarify exactly what identical means
     /** identical -  Compares with another class     /** identical -  Compares with another class
         ATTN: Clarify exactly what identical means  
         @param Class object for the class to be compared         @param Class object for the class to be compared
         @return True if the classes are identical         @return True if the classes are identical
     */     */
     Boolean identical(const CIMConstClass& x) const;     Boolean identical(const CIMConstClass& x) const;
  
     /** Makes a deep copy (clone) of the given object. */      /**
     CIMClass clone() const          Determines if the object has not been initialized.
     {  
         return CIMClass((CIMClassRep*)(_rep->clone()));  
     }  
   
     /** Get names of all keys of this class. */  
     void getKeyNames(Array<String>& keyNames) const  
     {  
         _checkRep();  
         _rep->getKeyNames(keyNames);  
     }  
  
     Boolean hasKeys() const          @return  True if the object has not been initialized,
     {                   False otherwise
         _checkRep();       */
         return _rep->hasKeys();      Boolean isUninitialized() const;
     }  
  
 private: private:
  
     CIMClass(CIMClassRep* rep) : _rep(rep)      CIMClassRep* _rep;
     {  
     }  
  
     void _checkRep() const      CIMClass(CIMClassRep* rep);
     {  
         if (!_rep)      void _checkRep() const;
             ThrowUnitializedHandle();  
     }  
  
     CIMClassRep* _rep;  
     friend class CIMConstClass;     friend class CIMConstClass;
     friend class CIMObject;     friend class CIMObject;
     friend class CIMConstObject;     friend class CIMConstObject;
       friend class Resolver;
       friend class XmlWriter;
       friend class MofWriter;
 }; };
  
 #define PEGASUS_ARRAY_T CIMClass #define PEGASUS_ARRAY_T CIMClass
 # include "ArrayInter.h"  #include <Pegasus/Common/ArrayInter.h>
 #undef PEGASUS_ARRAY_T #undef PEGASUS_ARRAY_T
  
 /** CIMConstClass - ATTN: define this.  // ATTN document this
   /** CIMConstClass
 */ */
 class PEGASUS_COMMON_LINKAGE CIMConstClass class PEGASUS_COMMON_LINKAGE CIMConstClass
 { {
 public: public:
  
     CIMConstClass() : _rep(0)      CIMConstClass();
     {  
     }  
  
     CIMConstClass(const CIMConstClass& x)      CIMConstClass(const CIMConstClass& x);
     {  
         Inc(_rep = x._rep);  
     }  
  
     CIMConstClass(const CIMClass& x)      CIMConstClass(const CIMClass& x);
     {  
         Inc(_rep = x._rep);  
     }  
  
     PEGASUS_EXPLICIT CIMConstClass(const CIMObject& x);     PEGASUS_EXPLICIT CIMConstClass(const CIMObject& x);
  
     PEGASUS_EXPLICIT CIMConstClass(const CIMConstObject& x);     PEGASUS_EXPLICIT CIMConstClass(const CIMConstObject& x);
  
     PEGASUS_EXPLICIT CIMConstClass(const CIMObject& x, NoThrow&);  
   
     PEGASUS_EXPLICIT CIMConstClass(const CIMConstObject& x, NoThrow&);  
   
     CIMConstClass& operator=(const CIMConstClass& x)  
     {  
         if (x._rep != _rep)  
         {  
             Dec(_rep);  
             Inc(_rep = x._rep);  
         }  
         return *this;  
     }  
   
     CIMConstClass& operator=(const CIMClass& x)  
     {  
         if (x._rep != _rep)  
         {  
             Dec(_rep);  
             Inc(_rep = x._rep);  
         }  
         return *this;  
     }  
   
     // Throws IllegalName if className argument not legal CIM identifier.  
   
     CIMConstClass(     CIMConstClass(
         const CIMReference& reference,          const CIMName& className,
         const String& superClassName = String())          const CIMName& superClassName = CIMName());
     {  
         _rep = new CIMClassRep(reference, superClassName);  
     }  
   
     ~CIMConstClass()  
     {  
         Dec(_rep);  
     }  
   
     Boolean isAssociation() const  
     {  
         _checkRep();  
         return _rep->isAssociation();  
     }  
   
     Boolean isAbstract() const  
     {  
         _checkRep();  
         return _rep->isAbstract();  
     }  
  
     const String& getClassName() const      CIMConstClass& operator=(const CIMConstClass& x);
     {  
         _checkRep();  
         return _rep->getClassName();  
     }  
  
     const Boolean equalClassName(const String& classname) const      CIMConstClass& operator=(const CIMClass& x);
     {  
         _checkRep();  
         return _rep->equalClassName(classname);  
  
     }      ~CIMConstClass();
  
     const CIMReference& getPath() const      Boolean isAssociation() const;
     {  
         _checkRep();  
         return _rep->getPath();  
     }  
  
     const String& getSuperClassName() const      Boolean isAbstract() const;
     {  
         _checkRep();  
         return _rep->getSuperClassName();  
     }  
  
     Uint32 findQualifier(const String& name) const      const CIMName& getClassName() const;
     {  
         _checkRep();  
         return _rep->findQualifier(name);  
     }  
  
     CIMConstQualifier getQualifier(Uint32 pos) const      const CIMObjectPath& getPath() const;
     {  
         _checkRep();  
         return _rep->getQualifier(pos);  
     }  
  
     Boolean isTrueQualifier(const String& name) const      const CIMName& getSuperClassName() const;
     {  
         _checkRep();  
         return _rep->isTrueQualifier(name);  
     }  
  
     Uint32 getQualifierCount() const      Uint32 findQualifier(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->getQualifierCount();  
     }  
  
     Uint32 findProperty(const String& name) const      CIMConstQualifier getQualifier(Uint32 index) const;
     {  
         _checkRep();  
         return _rep->findProperty(name);  
     }  
  
     CIMConstProperty getProperty(Uint32 pos) const      Uint32 getQualifierCount() const;
     {  
         _checkRep();  
         return _rep->getProperty(pos);  
     }  
  
     Uint32 getPropertyCount() const      Uint32 findProperty(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->getPropertyCount();  
     }  
  
     Uint32 findMethod(const String& name) const      CIMConstProperty getProperty(Uint32 index) const;
     {  
         _checkRep();  
         return _rep->findMethod(name);  
     }  
  
     CIMConstMethod getMethod(Uint32 pos) const      Uint32 getPropertyCount() const;
     {  
         _checkRep();  
         return _rep->getMethod(pos);  
     }  
  
     Uint32 getMethodCount() const      Uint32 findMethod(const CIMName& name) const;
     {  
         _checkRep();  
         return _rep->getMethodCount();  
     }  
  
     operator int() const { return _rep != 0; }      CIMConstMethod getMethod(Uint32 index) const;
  
     void toXml(Array<Sint8>& out) const      Uint32 getMethodCount() const;
     {  
         _checkRep();  
         _rep->toXml(out);  
     }  
  
     void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const      void getKeyNames(Array<CIMName>& keyNames) const;
     {  
         _checkRep();  
         _rep->print(o);  
     }  
  
     Boolean identical(const CIMConstClass& x) const      Boolean hasKeys() const;
     {  
         x._checkRep();  
         _checkRep();  
         return _rep->identical(x._rep);  
     }  
  
     CIMClass clone() const      CIMClass clone() const;
     {  
         return CIMClass((CIMClassRep*)(_rep->clone()));  
     }  
  
     void getKeyNames(Array<String>& keyNames) const      Boolean identical(const CIMConstClass& x) const;
     {  
         _checkRep();  
         _rep->getKeyNames(keyNames);  
     }  
  
     Boolean hasKeys() const      Boolean isUninitialized() const;
     {  
         _checkRep();  
         return _rep->hasKeys();  
     }  
  
 private: private:
  
     void _checkRep() const  
     {  
         if (!_rep)  
             ThrowUnitializedHandle();  
     }  
   
     CIMClassRep* _rep;     CIMClassRep* _rep;
  
       void _checkRep() const;
   
     friend class CIMClassRep;     friend class CIMClassRep;
     friend class CIMClass;     friend class CIMClass;
     friend class CIMInstanceRep;     friend class CIMInstanceRep;
     friend class CIMObject;     friend class CIMObject;
     friend class CIMConstObject;     friend class CIMConstObject;
       friend class XmlWriter;
       friend class MofWriter;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.36  
changed lines
  Added in v.1.61

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2