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

Diff for /pegasus/src/Pegasus/Common/SCMOInstance.h between version 1.1.2.12 and 1.1.2.21

version 1.1.2.12, 2009/09/09 13:16:14 version 1.1.2.21, 2009/10/06 14:50:46
Line 50 
Line 50 
 public: public:
  
     /**     /**
        * A SCMOInstance can only be created by a SCMOClass
        */
       SCMOInstance();
   
       /**
      * Creating a SCMOInstance using a SCMOClass.      * Creating a SCMOInstance using a SCMOClass.
      * @param baseClass A SCMOClass.      * @param baseClass A SCMOClass.
      */      */
Line 175 
Line 180 
      *              Has to be copied by caller.      *              Has to be copied by caller.
      *              It is set to NULL if rc != SCMO_OK.      *              It is set to NULL if rc != SCMO_OK.
      * @param pvalue Returns a pointer to the value of property.      * @param pvalue Returns a pointer to the value of property.
      *               The value has to be copied by the caller !       *               The value is strored in a SCMBUnion
        *                and has to be copied by the caller !
      *               It returns NULL if rc != SCMO_OK.      *               It returns NULL if rc != SCMO_OK.
        *
      *               If the value is an array, the      *               If the value is an array, the
      *               value array is stored in continuous memory.      *               value array is stored in continuous memory.
      *               e.g. If the CIMType is CIMTYPE_UINT32:       *               e.g. (SCMBUnion*)value[0 to size-1]
      *               value = (void*)Uint32[0 to size-1]       *
      *               If it is an array of CIMTYPE_STRING, an array       *               If the value is type of CIMTYPE_STRING,
      *               of char* to the string values is returned.       *               the string is referenced by the structure
      *               This array has to be freed by the caller !       *               SCMBUnion.extString:
        *                       pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                              without trailing '\0'.
        *               Only for strings the caller has to free pvalue !
      * @param type Returns the CIMType of the property      * @param type Returns the CIMType of the property
      *             It is invalid if rc == SCMO_INDEX_OUT_OF_BOUND.      *             It is invalid if rc == SCMO_INDEX_OUT_OF_BOUND.
      * @param isArray Returns if the value is an array.      * @param isArray Returns if the value is an array.
Line 201 
Line 212 
         Uint32 pos,         Uint32 pos,
         const char** pname,         const char** pname,
         CIMType& type,         CIMType& type,
         const void** pvalue,          const SCMBUnion** pvalue,
         Boolean& isArray,         Boolean& isArray,
         Uint32& size ) const;         Uint32& size ) const;
  
Line 216 
Line 227 
      *                  Sub-pointers are NOT resolved!      *                  Sub-pointers are NOT resolved!
      *               The value has to be copied by the caller !      *               The value has to be copied by the caller !
      *               It returns NULL if rc != SCMO_OK.      *               It returns NULL if rc != SCMO_OK.
      *               If the value is an array, the  
      *               value array is stored in continuous memory.  
      *               e.g. If the CIMType is CIMTYPE_UINT32:  
      *               value = (void*)Uint32[0 to size-1]  
      *               If it is an array of CIMTYPE_STRING, an array  
      *               of char* to the string values is returned.  
      *               This array has to be freed by the caller !  
      * @param valueBase Returns an absolute pointer to the base of value,      * @param valueBase Returns an absolute pointer to the base of value,
      *                  because subsequent pointers in the value are NOT      *                  because subsequent pointers in the value are NOT
      *                  resolved.      *                  resolved.
Line 246 
Line 250 
      * The value has to be copied by the caller !      * The value has to be copied by the caller !
      * @param name The property name      * @param name The property name
      * @param pvalue Returns a pointer to the value of property.      * @param pvalue Returns a pointer to the value of property.
      *               The value has to be copied by the caller !       *               The value is strored in a SCMBUnion
        *                and has to be copied by the caller !
      *               It returns NULL if rc != SCMO_OK.      *               It returns NULL if rc != SCMO_OK.
        *
      *               If the value is an array, the      *               If the value is an array, the
      *               value array is stored in continuous memory.      *               value array is stored in continuous memory.
      *               e.g. If the CIMType is CIMTYPE_UINT32:       *               e.g. (SCMBUnion*)value[0 to size-1]
      *               value = (void*)Uint32[0 to size-1]       *
      *               If it is an array of CIMTYPE_STRING, an array       *               If the value is type of CIMTYPE_STRING,
      *               of char* to the string values is returned.       *               the string is referenced by the structure
      *               This array has to be freed by the caller !       *               SCMBUnion.extString:
        *                       pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                              without trailing '\0'.
        *               Only for strings the caller has to free pvalue !
      * @param type Returns the CIMType of the property      * @param type Returns the CIMType of the property
      *             It is invalid if rc == SCMO_NOT_FOUND.      *             It is invalid if rc == SCMO_NOT_FOUND.
      * @param isArray Returns if the value is an array.      * @param isArray Returns if the value is an array.
Line 270 
Line 280 
     SCMO_RC getProperty(     SCMO_RC getProperty(
         const char* name,         const char* name,
         CIMType& type,         CIMType& type,
         const void** pvalue,          const SCMBUnion** pvalue,
         Boolean& isArray,         Boolean& isArray,
         Uint32& size ) const;         Uint32& size ) const;
  
Line 282 
Line 292 
      * be set/replaced.      * be set/replaced.
      * @param name The name of the property to be set.      * @param name The name of the property to be set.
      * @param type The CIMType of the property      * @param type The CIMType of the property
      * @param value A pointer to property  value.       * @param value A pointer to the value to be set at the named property.
        *              The value has to be in a SCMBUnion.
      *         The value is copied into the instance      *         The value is copied into the instance
      *         If the value == NULL, a null value is assumed.      *         If the value == NULL, a null value is assumed.
      *         If the value is an array, the       *              If the value is an array, the value array has to be
      *         value array must be stored in continuous memory.       *              stored in continuous memory.
      *         e.g. If the CIMType is CIMTYPE_UINT32:       *              e.g. (SCMBUnion*)value[0 to size-1]
      *         value = (void*)Uint32[0 to size-1]       *
        *              To store an array of size 0, The value pointer has to
        *              not NULL ( value != NULL ) but the size has to be 0
        *              (size == 0).
        *
        *              If the value is type of CIMTYPE_STRING,
        *              the string is referenced by the structure
        *              SCMBUnion.extString:
        *                       pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                              without trailing '\0'.
      * @param isArray Indicate that the value is an array. Default false.      * @param isArray Indicate that the value is an array. Default false.
      * @param size Returns the size of the array. If not an array this      * @param size Returns the size of the array. If not an array this
      *         this parameter is ignorer. Default 0.      *         this parameter is ignorer. Default 0.
Line 305 
Line 326 
     SCMO_RC setPropertyWithOrigin(     SCMO_RC setPropertyWithOrigin(
         const char* name,         const char* name,
         CIMType type,         CIMType type,
         void* value,          const SCMBUnion* value,
         Boolean isArray=false,         Boolean isArray=false,
         Uint32 size = 0,         Uint32 size = 0,
         const char* origin = NULL);         const char* origin = NULL);
Line 346 
Line 367 
      * is still SCMO_OK.      * is still SCMO_OK.
      * @param index The node index.      * @param index The node index.
      * @param type The CIMType of the property      * @param type The CIMType of the property
      * @param value A pointer to property  value.       * @param pInVal A pointer to the value to be set at the named property.
        *               The value has to be in a SCMBUnion.
      *         The value is copied into the instance      *         The value is copied into the instance
      *         If the value is an array, the       *               If the value == NULL, a null value is assumed.
      *         value array must be stored in continuous memory.       *               If the value is an array, the value array has to be
      *         e.g. If the CIMType is CIMTYPE_UINT32:       *               stored in continuous memory.
      *         value = (void*)Uint32[0 to size-1]       *               e.g. (SCMBUnion*)value[0 to size-1]
        *
        *              To store an array of size 0, The value pointer has to
        *               not NULL ( value != NULL ) but the size has to be 0
        *                (size == 0).
        *
        *               If the value is type of CIMTYPE_STRING,
        *               the string is referenced by the structure
        *               SCMBUnion.extString:
        *                        pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                                without trailing '\0'.
      * @param isArray Indicate that the value is an array. Default false.      * @param isArray Indicate that the value is an array. Default false.
      * @param size The size of the array. If not an array this      * @param size The size of the array. If not an array this
      *         this parameter is ignorer. Default 0.      *         this parameter is ignorer. Default 0.
Line 367 
Line 400 
     SCMO_RC setPropertyWithNodeIndex(     SCMO_RC setPropertyWithNodeIndex(
         Uint32 node,         Uint32 node,
         CIMType type,         CIMType type,
         void* value,          const SCMBUnion* pInVal,
         Boolean isArray=false,         Boolean isArray=false,
         Uint32 size = 0);         Uint32 size = 0);
  
Line 378 
Line 411 
      * @param keyvalue A pointer to the binary key value.      * @param keyvalue A pointer to the binary key value.
      *         The value is copied into the instance      *         The value is copied into the instance
      *         If the value == NULL, a null value is assumed.      *         If the value == NULL, a null value is assumed.
        * @param keyvalue A pointer to the value to be set at the key binding,
        *               The keyvalue has to be in a SCMBUnion.
        *               The keyvalue is copied into the instance.
        *               If the keyvalue == NULL, a null value is assumed.
        *
        *               If the keyvalue is type of CIMTYPE_STRING,
        *               the string is referenced by the structure
        *               SCMBUnion.extString:
        *                        pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                                without trailing '\0'.
      * @return     SCMO_OK      * @return     SCMO_OK
      *             SCMO_INVALID_PARAMETER : Given name or pvalue      *             SCMO_INVALID_PARAMETER : Given name or pvalue
      *                                      is a NULL pointer.      *                                      is a NULL pointer.
Line 388 
Line 432 
     SCMO_RC setKeyBinding(     SCMO_RC setKeyBinding(
         const char* name,         const char* name,
         CIMType type,         CIMType type,
         void* keyvalue);          const SCMBUnion* keyvalue);
  
     /**     /**
      * Set/replace the key binding at node      * Set/replace the key binding at node
      * @param node The node index of the key.      * @param node The node index of the key.
      * @param type The type as CIMType.      * @param type The type as CIMType.
      * @param keyvalue A pointer to the binary key value.       * @param keyvalue A pointer to the value to be set at the key binding,
      *         The value is copied into the instance       *               The keyvalue has to be in a SCMBUnion.
      *         If the value == NULL, a null value is assumed.       *               The keyvalue is copied into the instance.
        *               If the keyvalue == NULL, a null value is assumed.
        *
        *               If the keyvalue is type of CIMTYPE_STRING,
        *               the string is referenced by the structure
        *               SCMBUnion.extString:
        *                        pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                                without trailing '\0'.
      * @return     SCMO_OK      * @return     SCMO_OK
      *             SCMO_INVALID_PARAMETER : Given pvalue is a NULL pointer.      *             SCMO_INVALID_PARAMETER : Given pvalue is a NULL pointer.
      *             SCMO_TYPE_MISSMATCH : Given type does not      *             SCMO_TYPE_MISSMATCH : Given type does not
Line 406 
Line 458 
     SCMO_RC setKeyBindingAt(     SCMO_RC setKeyBindingAt(
         Uint32 node,         Uint32 node,
         CIMType type,         CIMType type,
         void* keyvalue);          const SCMBUnion* keyvalue);
  
     /**     /**
      * Gets the key binding count.      * Gets the key binding count.
Line 434 
Line 486 
         Uint32 idx,         Uint32 idx,
         const char** pname,         const char** pname,
         CIMType& type,         CIMType& type,
         const void** keyvalue) const;          const SCMBUnion** keyvalue) const;
  
     /**     /**
      * Get the named key binding.      * Get the named key binding.
      * @parm name The name of the key binding.      * @parm name The name of the key binding.
      * @param type Returns the type as CIMType.      * @param type Returns the type as CIMType.
      *             It is invalid if rc == SCMO_INDEX_OUT_OF_BOUND.      *             It is invalid if rc == SCMO_INDEX_OUT_OF_BOUND.
        * @param keyvalue Returns a pointer to the value of keybinding.
        *               The value is strored in a SCMBUnion
        *                and has to be copied by the caller !
        *               It returns NULL if rc != SCMO_OK.
        *
        *               If the value is type of CIMTYPE_STRING,
        *               the string is referenced by the structure
        *               SCMBUnion.extString:
        *                       pchar contains the absolut pointer to the string
        *                       length contains the size of the string
        *                              without trailing '\0'.
        *               Only for strings the caller has to free pvalue !
      * @param keyvalue A pointer to the binary key value.      * @param keyvalue A pointer to the binary key value.
      *             Has to be copied by caller.      *             Has to be copied by caller.
      *             It is only valid if rc == SCMO_OK.      *             It is only valid if rc == SCMO_OK.
Line 451 
Line 515 
     SCMO_RC getKeyBinding(     SCMO_RC getKeyBinding(
         const char* name,         const char* name,
         CIMType& ptype,         CIMType& ptype,
         const void** keyvalue) const;          const SCMBUnion** keyvalue) const;
  
     /**     /**
      * Determines whether the object has been initialized.      * Determines whether the object has been initialized.
      * @return True if the object has not been initialized, false otherwise.      * @return True if the object has not been initialized, false otherwise.
      */      */
     Boolean isUninitialized( ) const {return (inst.base == NULL); };      Boolean isUninitialized( ) const {return (0 == inst.base); };
  
     /**     /**
      * Determies if two objects are referencing to the same instance      * Determies if two objects are referencing to the same instance
Line 466 
Line 530 
     Boolean isSame(SCMOInstance& theInstance) const;     Boolean isSame(SCMOInstance& theInstance) const;
  
     /**     /**
        * Sets the provided host name at the instance.
        * @param hostName The host name as UTF8.
        */
       void setHostName(const char* hostName);
   
       /**
      * Get the host name of the instance. The caller has to make a copy !      * Get the host name of the instance. The caller has to make a copy !
      * @return The host name as UTF8.      * @return The host name as UTF8.
      */      */
     const char* getHostName() const;     const char* getHostName() const;
  
     /**     /**
      * Sets the provided host name at the instance.       * Get the host name of the instance.
      * @param hostName The host name as UTF8.       * @param Return length of result string.
        * @return The class name as UTF8.
      */      */
     void setHostName(const char* hostName);      const char* getHostName_l(Uint64 & length) const;
   
       /**
        * Sets the provided class name at the instance. By caling this function
        * the instance is in an inconsitacne state and is maked as isCompromised.
        * @param className The class name as UTF8.
        */
       void setClassName(const char* className);
  
     /**     /**
      * Get the class name of the instance. The caller has to make a copy !      * Get the class name of the instance. The caller has to make a copy !
Line 485 
Line 563 
  
     /**     /**
      * Get the class name of the instance. The caller has to make a copy !      * Get the class name of the instance. The caller has to make a copy !
      * @return The class name as UTF8. Return length of result string.       * @param Return length of result string.
        * @return The class name as UTF8.
      */      */
     const char* getClassName_l(Uint64 & length) const;     const char* getClassName_l(Uint64 & length) const;
  
     /**     /**
        * Sets the provided name space name at the instance.
        * By caling this function the instance is in an inconsitacne state and
        * is maked as isCompromised.
        * @param nameSpaceName The name space name as UTF8.
        */
       void setNameSpace(const char* nameSpace);
   
       /**
      * Get the name space of the instance. The caller has to make a copy !      * Get the name space of the instance. The caller has to make a copy !
      * @return The name space as UTF8.      * @return The name space as UTF8.
      */      */
     const char* getNameSpace() const;     const char* getNameSpace() const;
  
     /**     /**
        * Get the class name of the instance. The caller has to make a copy !
        * @param Return length of result string.
        * @return The class name as UTF8.
        */
       const char* getNameSpace_l(Uint64 & length) const;
   
       /**
        * Is the name space or class name of the instance the origianl values
        * set by the used SCMOClass.
        * The class name and/or name space may differ with the associated class.
        * @return true if name space or class name was set manually by
        *          setNameSpace() or setClassName()
        */
       const Boolean isCompromised() const
       {
           return inst.hdr->flags.isCompromised;
       }
   
       /**
      *  To indicate the export processing ( eg. XMLWriter )      *  To indicate the export processing ( eg. XMLWriter )
      *  to include qualifiers for this instance.      *  to include qualifiers for this instance.
      */      */
Line 544 
Line 650 
         if (inst.hdr->refCount.decAndTestIfZero())         if (inst.hdr->refCount.decAndTestIfZero())
         {         {
             // printf("\ninst.hdr->refCount=%u\n",inst.hdr->refCount.get());             // printf("\ninst.hdr->refCount=%u\n",inst.hdr->refCount.get());
               // All external references has to be destroyed.
               _destroyExternalReferences();
             // The class has also be dereferenced.             // The class has also be dereferenced.
             delete inst.hdr->theClass;             delete inst.hdr->theClass;
             free(inst.base);             free(inst.base);
Line 555 
Line 663 
         }         }
  
     };     };
     /**  
      * A SCMOInstance can only be created by a SCMOClass  
      */  
     SCMOInstance();  
  
     void _initSCMOInstance(  
         SCMOClass* pClass,  
         Boolean inclQual,  
         Boolean inclOrigin);  
  
       void _destroyExternalReferences();
   
       void _copyExternalReferences();
   
       void _initSCMOInstance(SCMOClass* pClass);
   
       void _setCIMInstance(const CIMInstance& cimInstance);
  
     SCMO_RC _getPropertyAtNodeIndex(     SCMO_RC _getPropertyAtNodeIndex(
             Uint32 pos,             Uint32 pos,
             const char** pname,             const char** pname,
             CIMType& type,             CIMType& type,
             const void** pvalue,          const SCMBUnion** pvalue,
             Boolean& isArray,             Boolean& isArray,
             Uint32& size ) const;             Uint32& size ) const;
  
     void _setPropertyAtNodeIndex(     void _setPropertyAtNodeIndex(
         Uint32 pos,         Uint32 pos,
         CIMType type,         CIMType type,
         void* value,          const SCMBUnion* pInVal,
         Boolean isArray,         Boolean isArray,
         Uint32 size);         Uint32 size);
  
     void _setCIMValueAtNodeIndex(Uint32 node, CIMValueRep* valRep);      void _setCIMValueAtNodeIndex(
           Uint32 node,
           CIMValueRep* valRep,
           CIMType realType);
  
     void _getCIMValueFromSCMBUnion(      static void _getCIMValueFromSCMBUnion(
         CIMValue& cimV,         CIMValue& cimV,
         const CIMType type,         const CIMType type,
         const Boolean isNull,         const Boolean isNull,
         const Boolean isArray,         const Boolean isArray,
         const Uint32 arraySize,         const Uint32 arraySize,
         const SCMBUnion& scmbUn,         const SCMBUnion& scmbUn,
         const char * base) const;          const char * base);
  
     void _getCIMValueFromSCMBValue(      static void _getCIMValueFromSCMBValue(
         CIMValue& cimV,         CIMValue& cimV,
         const SCMBValue& scmbV,         const SCMBValue& scmbV,
         const char * base) const;          const char * base);
  
     CIMProperty _getCIMPropertyAtNodeIndex(Uint32 nodeIdx) const;     CIMProperty _getCIMPropertyAtNodeIndex(Uint32 nodeIdx) const;
  
     void _setCIMObjectPath(const CIMObjectPath& cimObj);     void _setCIMObjectPath(const CIMObjectPath& cimObj);
  
     void* _resolveSCMBUnion(      SCMBUnion* _resolveSCMBUnion(
         CIMType type,         CIMType type,
         Boolean isArray,         Boolean isArray,
         Uint32 size,         Uint32 size,
Line 609 
Line 719 
         char* base) const;         char* base) const;
  
     void _setSCMBUnion(     void _setSCMBUnion(
         void* value,          const SCMBUnion* pInVal,
         CIMType type,         CIMType type,
         Boolean isArray,         Boolean isArray,
         Uint32 size,         Uint32 size,
Line 619 
Line 729 
         Uint64 start,         Uint64 start,
         SCMBMgmt_Header** pmem,         SCMBMgmt_Header** pmem,
         CIMType type,         CIMType type,
           Uint64 startNS,
           Uint64 lenNS,
         Union& u);         Union& u);
  
     static void _setUnionArrayValue(     static void _setUnionArrayValue(
Line 626 
Line 738 
         SCMBMgmt_Header** pmem,         SCMBMgmt_Header** pmem,
         CIMType type,         CIMType type,
         Uint32& n,         Uint32& n,
           Uint64 startNS,
           Uint64 lenNS,
         Union& u);         Union& u);
  
     SCMO_RC _getKeyBindingDataAtNodeIndex(     SCMO_RC _getKeyBindingDataAtNodeIndex(
Line 653 
Line 767 
  
     SCMO_RC _setKeyBindingFromString(const char* name,String cimKeyBinding);     SCMO_RC _setKeyBindingFromString(const char* name,String cimKeyBinding);
  
     Boolean _setCimKeyBindingStringToSCMOKeyBindigValue(      Boolean _setCimKeyBindingStringToSCMOKeyBindingValue(
         const char* v,          const String& kbs,
         Uint32 len,  
         CIMType type,         CIMType type,
         SCMBKeyBindingValue& scmoKBV         SCMBKeyBindingValue& scmoKBV
         );         );
Line 676 
Line 789 
 }; };
  
  
   #define PEGASUS_ARRAY_T SCMOInstance
   # include <Pegasus/Common/ArrayInter.h>
   #undef PEGASUS_ARRAY_T
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
  


Legend:
Removed from v.1.1.2.12  
changed lines
  Added in v.1.1.2.21

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2