(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.31 and 1.65

version 1.31, 2002/03/30 19:09:53 version 1.65, 2004/06/30 21:07:54
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2003////////////////////////////////////////////////////////////////////////
 // //
 // 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.
 // //
 // 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 25 
 // //
 // 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)
   //              Adriann Schuur (schuur@de.ibm.com) PEP 164
   //              Karl Schopmeyer k.schopmeyer@opengroup.org (PEP 157)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 30 
Line 37 
 #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>
   #include <Pegasus/common/CIMInstance.h>
   #include <Pegasus/Common/CIMPropertyList.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class CIMConstClass; class CIMConstClass;
 class CIMObject;  class CIMClassRep;
 class CIMConstObject;  class Resolver;
  
 // REVIEW: redocument.  
  
 /** The CIMClass class is used to represent CIM classes in Pegasus.  In CIM,  /** The CIMClass class is used to represent CIM classes in Pegasus.
     a class object may be a class or an associator.  A CIM class must contain a  
     name and may contain methods, properties, and qualifiers.  It is a template  
     for creating a CIM instance.  A CIM class represents a collection of CIM  
     instances, all of which support a common type (for example, a set of  
     properties, methods, and associations).  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMClass class PEGASUS_COMMON_LINKAGE CIMClass
 { {
 public: public:
  
     /** Constructor - Creates an uninitiated a new CIM object      /** Creates an uninitialized new CIM object representing a CIM class.
         reprenting a CIM class. The class object created by this          The class object created by this constructor can only be used
         constructor can only be used in an operation such as the          in an operation such as the copy constructor. It cannot be used
         copy constructor.  It cannot be used to create a class by          to create a class by appending names, properties, etc. since it
         appending names, properties, etc. since it is unitiated.          is uninitialized.
   
         Use one of the other constructors to create an initiated new CIM class          Use one of the other constructors to create an initialized new
         object.          CIM class object.
         @exception Throws an exception "unitialized handle" if this          @exception UninitializedObjectException if an attempt is made to
         unitialized handle is used          use the unitialized object.
         /REF(HPEGASUS_HANDLES)      */
       CIMClass();
   
       /** Creates a new CIM object representing a CIMClass from the given
           CIMClass object.
           @param x  CIMClass Object from which to create the CIMClass
       */
       CIMClass(const CIMClass& x);
   
       /** Creates a new CIMClass object representing a CIMClass from the given
           CIMObject Object.
           @param x  CIMObject object from which to create the CIMClass object.
           @exception DynamicCastFailedException If a CIMClass can not be
           created from the given CIMObject.
     */     */
     CIMClass() : _rep(0)  
     {  
     }  
   
     /** Constructor - Creates a class from a previous class  
     */  
     CIMClass(const CIMClass& x)  
     {  
         Inc(_rep = x._rep);  
     }  
   
     PEGASUS_EXPLICIT CIMClass(const CIMObject& x);     PEGASUS_EXPLICIT CIMClass(const CIMObject& x);
  
     PEGASUS_EXPLICIT CIMClass(const CIMObject& x, NoThrow&);      /** Creates a new CIM object representing a CIMClass from inputs
           of a classname and SuperClassName.
     /** Assignment operator.          @param className  CIMName representing name of the class being created.
     */          @param superClassName CIMName representing name of the SuperClass.
     CIMClass& operator=(const CIMClass& x)  
     {  
         if (x._rep != _rep)  
         {  
             Dec(_rep);  
             Inc(_rep = x._rep);  
         }  
         return *this;  
     }  
   
     /** Constructor - Creates a Class from inputs of a classname and  
         SuperClassName  
         @param className CIMReference representing name of the class being created  
         @param superClassName String 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);      ///
     }      CIMClass& operator=(const CIMClass& x);
  
     /// Destructor     /// Destructor
     ~CIMClass()      ~CIMClass();
     {  
         Dec(_rep);  
     }  
  
     /** isAssociation - Identifies whether or not this CIM class      /** Identifies whether or not this CIM class is an association. An
         is an association. An association is a relationship between two          association is a relationship between two (or more) classes or
         (or more) classes or instances of two classes.  The properties of an          instances of two classes. The properties of an association class
         association class include pointers, or references, to the two (or          include pointers, or references, to the two (or more) instances.
         more) instances. All CIM classes can be included in one or more          All CIM classes can be included in one or more associations.
         associations.          @return  true if this CIM class is an association, false
         @return  Boolean True if this CIM class belongs to an association;          otherwise.
         otherwise, false.  
     */     */
     Boolean isAssociation() const      Boolean isAssociation() const;
     {  
         _checkRep();      /** Tests if the CIMClass is abstract.
         return _rep->isAssociation();          @return true if the CIMClass Object is abstract, false otherwise.
     }  
   
     /** isAbstract Test if the CIMClass is abstract.  
         @return - True if the CIMClass Object is abstract  
         SeeAlso: Abstract  
     */  
     Boolean isAbstract() const  
     {  
         _checkRep();  
         return _rep->isAbstract();  
     }  
   
     /** getClassName Gets the name of the class  
         ATTN: COMMENT. Why not just get name so we have common method for all.  
         @return Returns string with the class name.  
     */     */
     const String& getClassName() const      Boolean isAbstract() const;
     {  
         _checkRep();  
         return _rep->getClassName();  
     }  
  
     const CIMReference& getPath() const  
     {  
         _checkRep();  
         return _rep->getPath();  
     }  
  
     /** getSuperClassName - Gets the name of the Parent      /** Gets the name of the class represented by this CIM object.
         @return String with parent class name.          @return CIMName with the class name.
     */  
     const String& getSuperClassName() const  
     {  
         _checkRep();  
         return _rep->getSuperClassName();  
     }  
   
     /** setSuperClassName - Sets the name of the parent class from  
         the input parameter. \REF{CLASSNAME}. ATTN: Define legal classnames  
         @param String 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)  
     {  
         _checkRep();  
         _rep->setSuperClassName(superClassName);  
     }  
   
     /** addQualifier - Adds the specified qualifier to the class  
         and increments the qualifier count. It is illegal to add the same  
         qualifier more than one time.  
         @param qualifier CIMQualifier object representing the qualifier to be  
         added  
         @return Returns handle of the class object  
         @exception Throws AlreadyExists.  
     */  
     CIMClass& addQualifier(const CIMQualifier& qualifier)  
     {  
         _checkRep();  
         _rep->addQualifier(qualifier);  
         return *this;  
     }  
   
     /** findQualifier - Searches for a qualifier with the specified `  
         input name if it exists in the class  
         @param name CIMName of the qualifier  
         to be found @return Position of the qualifier in the Class.  
         @return Returns index of the qualifier found or PEG_NOT_FOUND  
         if not found.  
     */  
     Uint32 findQualifier(const String& name)  
     {  
         _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)      const CIMName& getClassName() const;
     {  
         _checkRep();  
         return _rep->existsQualifier(name);  
     }  
     ///     ///
     Boolean existsQualifier(const String& name) const      const CIMObjectPath& getPath() const;
     {  
         _checkRep();      /** Sets the object path for the class.
         return _rep->existsQualifier(name);          @param  path  CIMObjectPath containing the object path.
     }  
   
     /** 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  
         by the input parameter  
         @param pos defines the position of the qualifier in the class from the  
         findQualifier method  
         @return CIMQualifier object representing the qualifier found. On error,  
             CIMQualifier handle will be null.  
     */     */
     CIMQualifier getQualifier(Uint32 pos)      void setPath (const CIMObjectPath & path);
     {  
         _checkRep();  
         return _rep->getQualifier(pos);  
     }  
  
     /** getQualifier - Gets the qualifier defined by the input parameter      /** Gets the name of the Parent class of this CIM Object.
                 from the qualifier list for this CIMClass.          @return CIMName with parent class name.
         */         */
     CIMConstQualifier getQualifier(Uint32 pos) const      const CIMName& getSuperClassName() const;
     {  
         _checkRep();      /** Sets the name of the parent class from the input
         return _rep->getQualifier(pos);          parameter.
     }          @param superClassName - CIMName defining parent class name.
   
     /** removeQualifier - Removes the qualifier defined by the  
     index parameter.  
     @param Defines the index of the qualifier to be removed.  
     @return There is no return.  
     @exception Throw OutOfBound exception if the index is outside  
     the range of existing qualifier objects for this class  
     */     */
     void removeQualifier(Uint32 pos) const      void setSuperClassName(const CIMName& superClassName);
     {  
         _checkRep();      /** Adds the specified qualifier to the class and increments the
         _rep->removeQualifier(pos);          qualifier count. It is illegal to add the same qualifier more
     }          than one time.
           @param qualifier  CIMQualifier object representing the qualifier
     /** getQualifierCount - Returns the number of qualifiers          to be added.
         in the class.          @return the CIMClass object.
         @return ATTN:          @exception AlreadyExistsException if the qualifier already exists.
     */     */
     Uint32 getQualifierCount() const      CIMClass& addQualifier(const CIMQualifier& qualifier);
     {  
         _checkRep();  
         return _rep->getQualifierCount();  
     }  
  
     /** addProperty - Adds the specified property object to the      /** Searches for a qualifier with the specified input name if it
         properties in the CIM class          exists in the class.
           @param name  CIMName of the qualifier to be found
           @return Index of the qualifier found or PEG_NOT_FOUND
           if not found.
     */     */
     CIMClass& addProperty(const CIMProperty& x)      Uint32 findQualifier(const CIMName& name) const;
     {  
         _checkRep();      /** Gets the CIMQualifier object defined by the input parameter.
         _rep->addProperty(x);          @param index  Index of the qualifier in the class from the
         return *this;          findQualifier method.
     }          @return CIMQualifier object representing the qualifier found.
           On error, CIMQualifier object will be null.
     /** findProperty - Finds the property object with the          @exception IndexOutOfBoundsException exception if the index is
         name defined by the input parameter in the class.          outside the range of parameters available from the CIMClass.
         @param String parameter with the property name.      */
         @return position representing the property object found or      CIMQualifier getQualifier(Uint32 index);
   
       /** Gets the qualifier defined by the input parameter from the
           qualifier list for this CIMClass.
           @param index  Index of the qualifier in the CIM class.
           @return CIMConstQualifier object representing the qualifier
           found. On error, CIMConstQualifier object will be null.
           @exception IndexOutOfBoundsException exception if the index is
           outside the range of parameters available from the CIMClass.
       */
       CIMConstQualifier getQualifier(Uint32 index) const;
   
       /** Removes the qualifier defined by the index parameter.
           @param index  Defines the index of the qualifier to be removed.
           @exception IndexOutOfBoundsException if the index is outside
           the range of existing qualifier objects for this class.
       */
       void removeQualifier(Uint32 index);
   
       /** Gets the count of the number of qualifiers defined in the class.
           @return the number of qualifiers in the class definition (not
           those on properties or methods)
       */
       Uint32 getQualifierCount() const;
   
       /** Adds the specified property object to the properties in
           the CIM class
           @param x  CIMProperty to be added to the CIM Class.
           @return CIMClass object after the specified property is added.
       */
       CIMClass& addProperty(const CIMProperty& x);
   
       /** Finds the property object with the name defined by the
           input parameter in the class.
           @param name  CIMName with the property name to be found.
           @return Index of 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      /** Gets a property object from the CIMClass.
     {          @param index  Index for the property object to get.
         _checkRep();          @return CIMProperty object requested.
         return _rep->findProperty(name);          @exception IndexOutOfBoundsException if the index is outside
     }          the range of properties in this class.
   
     /** 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)      CIMProperty getProperty(Uint32 index);
     {  
         _checkRep();  
         return _rep->existsProperty(name);  
     }  
  
         Boolean existsProperty(const String& name) const      /** Gets a property object from the CIMClass.
     {          @param index  Index for the property object to get.
        _checkRep();          @return CIMProperty object requested.
        return _rep->existsProperty(name);          @exception IndexOutOfBoundsException if the index is outside
     }          the range of properties in this class.
   
     /** getProperty - Returns a property representing the property  
         defined by the input parameter  
         @param position for this property  
         ATTN: Should we not use something like handle for position???  
         @return CIMProperty object  
         ATTN: what is error return?  
     */  
     CIMProperty getProperty(Uint32 pos)  
     {  
         _checkRep();  
         return _rep->getProperty(pos);  
     }  
   
     /**getProperty Gets a property object from the CIMClass  
         @param pos The index of the property object to get.  
         @return Returns handle of the property object requested  
         @exception Throws OutofBounds if the size field is greather than the  
         bunber of properties in the class.  
     */  
     CIMConstProperty getProperty(Uint32 pos) const  
     {  
         _checkRep();  
         return _rep->getProperty(pos);  
     }  
   
     /** 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)      CIMConstProperty getProperty(Uint32 index) const;
     {  
         _checkRep();      /** Removes the specified property from the class.
         _rep->removeProperty(pos);          @param index  Index of the property to be removed.
     }          @exception IndexOutOfBoundsException if the index is outside
           the range of properties in this class.
     /** getPropertyCount -   Gets the count of the number of properties  
         defined in the class.  
         @return count of number of proerties in the class  
     */  
     Uint32 getPropertyCount() const  
     {  
         _checkRep();  
         return _rep->getPropertyCount();  
     }  
   
     /** addMethod - Adds the method object defined by the input  
         parameter to the class and increments the count of the number of  
         methods in the class  
         @param method object representing the method to be added  
         @return Returns the CIMClass object to which the method was added.  
         @exception Throws AlreadyExists if the method already exists and throws  
         UnitializedHandle if the handle is not initialized  
     */  
     CIMClass& addMethod(const CIMMethod& x)  
     {  
         _checkRep();  
         _rep->addMethod(x);  
         return *this;  
     }  
   
     /** findMethod - Locate the method object defined by the  
         name input  
         @param String representing the name of the method to be found  
         @return Position of the method object in the class to be used in  
         subsequent getmethod, etc. operations  
     */     */
     Uint32 findMethod(const String& name)      void removeProperty(Uint32 index);
     {  
         _checkRep();  
         return _rep->findMethod(name);  
     }  
  
     Uint32 findMethod(const String& name) const      /** Gets the count of the number of properties defined in the class.
     {          @return count of number of properties in the class.
         _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)      Uint32 getPropertyCount() const;
     {  
         _checkRep();  
         return _rep->existsMethod(name);  
     }  
  
     Boolean existsMethod(const String& name) const      /** Adds the method object defined by the input parameter to the
     {          class and increments the count of the number of methods in the class.
         _checkRep();          @param name  CIMMethod object representing the method to be added.
         return _rep->existsMethod(name);          @return the CIMClass object to which the method was added.
     }          @exception AlreadyExistsException if the method already exists.
           @exception UninitializedObjectException if the object is not initialized.
     /** getMethod - Gets the method object defined by the  
         input parameter.  
         @param pos Index to the method object to get  
         @return Returns handle of the method requested  
         @exception Throws OutofBounds if the index represented by pos is greater  
         than the number of methods defined in the class object  
     */     */
     CIMMethod getMethod(Uint32 pos)      CIMClass& addMethod(const CIMMethod& x);
     {  
         _checkRep();  
         return _rep->getMethod(pos);  
     }  
  
     /** getMethod Gets the method object defined by the input      /** Locate the method object defined by the input parameter.
     parameter. This is the const version.          @param name  CIMName representing the name of the method to be found.
           @return Position of the method object in the class.
     */     */
       Uint32 findMethod(const CIMName& name) const;
  
     CIMConstMethod getMethod(Uint32 pos) const      /** Gets the method object defined by the input parameter.
     {          @param index  Index to the method object to get.
         _checkRep();          @return CIMMethod object of the method requested.
         return _rep->getMethod(pos);          @exception IndexOutOfBoundsException if the index is outside
     }          the range of methods in this class.
   
     /** removeMethod - Removes the method defined by the  
     index parameter.  
     @param Defines the index of the method to be removed.  
     @return There is no return.  
     @exception Throw OutOfBound exception if the index is outside  
     the range of existing method objects for this class  
     */     */
     void removeMethod(Uint32 pos) const      CIMMethod getMethod(Uint32 index);
     {  
         _checkRep();  
         _rep->removeMethod(pos);  
     }  
  
     /** getMethodCount - Count of the number of methods in the class      /** Gets the method object defined by the input parameter.
         @return integer representing the number of methods in the class object.          @param index  Index to the method object to get.
           @return CIMConstMethod object of the method requested.
           @exception IndexOutOfBoundsException if the index is outside
           the range of methods in this class.
     */     */
     Uint32 getMethodCount() const      CIMConstMethod getMethod(Uint32 index) const;
     {  
         _checkRep();      /** Removes the method defined by the index parameter.
         return _rep->getMethodCount();          @param index  Defines the index of the method to be removed.
     }          @exception IndexOutOfBoundsException if the index is outside
           the range of methods in this class.
     /** 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      void removeMethod(Uint32 index);
     {  
         _checkRep();  
         _rep->toXml(out);  
     }  
  
     /** print -  Prints the toXML output to cout      /** Gets the count of the number of methods in the class.
           @return the count of the number of methods in the class object.
     */     */
     void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const      Uint32 getMethodCount() const;
     {  
         _checkRep();      /// Get names of all keys of this class.
         _rep->print(o);      void getKeyNames(Array<CIMName>& keyNames) const;
     }  
       /** Determines if the object has keys.
     /** toMof  - prepares a MOF representation of the CIMClass object          @return  true if the object has keys, false otherwise.
         in the provided Sint8 variable.  
         @param out Sint8 array for the XML representation  
     */     */
     void toMof(Array<Sint8>& out) const      Boolean hasKeys() const;
     {  
         _checkRep();      /** Makes a deep copy (clone) of the given object.
         _rep->toMof(out);          @return copy of the CIMClass object.
     }  
     /** printMof -  Prints the toMof output to cout  
     */     */
     void printMof(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const      CIMClass clone() const;
     {  
         _checkRep();      /** Compares with another CIM class.
         _rep->printMof(o);          @param x  Class object for the class to be compared.
     }          @return true if the classes are identical, false otherwise.
   
     /** identical -  Compares with another class  
         ATTN: Clarify exactly what identical means  
         @param Class object for the class to be compared  
         @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. */      /** Determines if the object has not been initialized.
     CIMClass clone() const          @return  true if the object has not been initialized,
     {          false otherwise.
         return CIMClass((CIMClassRep*)(_rep->clone()));      */
     }      Boolean isUninitialized() const;
   
     /** Get names of all keys of this class. */      /**
     void getKeyNames(Array<String>& keyNames) const      Build a CIMInstance based on this CIM Class.  Properties in the instance
     {      are initialized to the default values (if any) specified in the class
         _checkRep();      definition.  The parameters of the call determine whether qualifiers are
         _rep->getKeyNames(keyNames);      included, the class origin attributes are included and which properties
     }      are included in the new instance.  This method is designed specifically
       for providers to allow them to easily build instance objects using the
     Boolean hasKeys() const      parameters provided with the CIM instance operations such as getInstance,
     {      enumerateInstances.
         _checkRep();  
         return _rep->hasKeys();      @param includeQualifiers If true attaches the class level qualifiers from
     }      this class to the instance and all properties inserted in the instance.
       If false, no qualifiers are attached to the instance or to any properties
       included in the instance.  The TOINSTANCE flavor is ignored.  Because
       there is still confusion over the exact operation of this parameter in the
       CIM specifications and the concept of instance level qualifiers, the
       behavior of this function when the parameter is true MAY change in the
       future to match any future clarifications of interoperable behavior in the
       CIM specifications.
   
       @param includeClassOrigin If true ClassOrigin attributes attached to
       properties inthe class object are transferred to the properties attached
       to the instance object.  If false, any ClassOrigin attributes are ignored.
   
       @param propertyList A CIMPropertyList defining the properties that are to
       be added to the created instance.  If propertyList is not NULL properties
       defined in the class and in this propertyList are added to the new
       instance.  If the propertyLlist is NULL, all properties are added to the
       instance.  If the propertyList exists but is empty, not properties are
       added.  Note that this function does NOT generate an error if a property
       name is supplied that is NOT in the class; it simply does not add that
       property to the instance.
   
       @return CIMInstance of this class appropriately initialized.
   
       EXAMPLE:
   
       <Will be provided with the code>
       */
       CIMInstance createInstance(Boolean includeQualifiers,
           Boolean includeClassOrigin,
           const CIMPropertyList & propertyList) 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;
       friend class BinaryStreamer;
 }; };
  
 #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.  /// 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()      ///
     {      CIMConstClass& operator=(const CIMConstClass& x);
         Dec(_rep);  
     }  
   
     Boolean isAssociation() const  
     {  
         _checkRep();  
         return _rep->isAssociation();  
     }  
  
     Boolean isAbstract() const      ///
     {      CIMConstClass& operator=(const CIMClass& x);
         _checkRep();  
         return _rep->isAbstract();  
     }  
  
     const String& getClassName() const      ///
     {      ~CIMConstClass();
         _checkRep();  
         return _rep->getClassName();  
     }  
  
     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;
       friend class BinaryStreamer;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2