(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.45 and 1.3.4.3

version 1.1.2.45, 2009/12/07 21:30:31 version 1.3.4.3, 2012/02/21 17:22:10
Line 177 
Line 177 
     SCMOInstance(     SCMOInstance(
         const CIMInstance& cimInstance,         const CIMInstance& cimInstance,
         const char* altNameSpace=0,         const char* altNameSpace=0,
         Uint64 altNSLen=0);          Uint32 altNSLen=0);
  
     /**     /**
      * Builds a SCMOInstance from the given CIMObjectPath copying all data.      * Builds a SCMOInstance from the given CIMObjectPath copying all data.
Line 194 
Line 194 
     SCMOInstance(     SCMOInstance(
         const CIMObjectPath& cimObj,         const CIMObjectPath& cimObj,
         const char* altNameSpace=0,         const char* altNameSpace=0,
         Uint64 altNSLen=0);          Uint32 altNSLen=0);
  
     /**     /**
      * Builds a SCMOInstance from the given CIMObject copying all data.      * Builds a SCMOInstance from the given CIMObject copying all data.
Line 212 
Line 212 
     SCMOInstance(     SCMOInstance(
         const CIMObject& cimObject,         const CIMObject& cimObject,
         const char* altNameSpace=0,         const char* altNameSpace=0,
         Uint64 altNSLen=0);          Uint32 altNSLen=0);
  
     /**     /**
      * Converts the SCMOInstance into a CIMInstance.      * Converts the SCMOInstance into a CIMInstance.
Line 390 
Line 390 
     void buildKeyBindingsFromProperties();     void buildKeyBindingsFromProperties();
  
     /**     /**
      * Set/replace a property filter on an instance.  
      * The filter is a white list of property names.  
      * A property part of the list can be accessed by name or index and  
      * is eligible to be returned to requester.  
      * Key properties can not be filtered. They are always a part of the  
      * instance. If a key property is not part of the property list,  
      * it will not be filtered out.  
      * @param propertyList Is an NULL terminated array of char* to  
      * property names  
      */  
     void setPropertyFilter(const char **propertyList);  
   
     /**  
      * Gets the hash index for the named property. Filtering is ignored.      * Gets the hash index for the named property. Filtering is ignored.
      * @param theName The property name      * @param theName The property name
      * @param pos Returns the hash index.      * @param pos Returns the hash index.
Line 414 
Line 401 
  
     /**     /**
      * Set/replace a property in the instance at node index.      * Set/replace a property in the instance at node index.
      * Note: If node is filtered, the property is not set but the return value  
      * 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 pInVal A pointer to the value to be set at the named property.      * @param pInVal A pointer to the value to be set at the named property.
Line 631 
Line 616 
      * @param hostName The host name as UTF8.      * @param hostName The host name as UTF8.
      * @param len The strlen of the host name.      * @param len The strlen of the host name.
      */      */
     void setHostName_l(const char* hostName, Uint64 len);      void setHostName_l(const char* hostName, Uint32 len);
  
     /**     /**
      * 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 !
Line 644 
Line 629 
      * @param Return strlen of result string.      * @param Return strlen of result string.
      * @return The class name as UTF8.      * @return The class name as UTF8.
      */      */
     const char* getHostName_l(Uint64 & length) const;      const char* getHostName_l(Uint32 & length) const;
  
     /**     /**
      * Sets the provided class name at the instance. By caling this function      * Sets the provided class name at the instance. By caling this function
Line 659 
Line 644 
      * @param className The class name as UTF8.      * @param className The class name as UTF8.
      * @param len The strlen of the name space.      * @param len The strlen of the name space.
      */      */
     void setClassName_l(const char* className, Uint64 len);      void setClassName_l(const char* className, Uint32 len);
  
     /**     /**
      * 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 672 
Line 657 
      * @param lenght Return strlen of result string.      * @param lenght Return strlen of result string.
      * @return The class name as UTF8.      * @return The class name as UTF8.
      */      */
     const char* getClassName_l(Uint64 & length) const;      const char* getClassName_l(Uint32 & length) const;
  
     /**     /**
      * Sets the provided name space name at the instance.      * Sets the provided name space name at the instance.
Line 689 
Line 674 
      * @param nameSpaceName The name space name as UTF8.      * @param nameSpaceName The name space name as UTF8.
      * @param len The strlen of the name space.      * @param len The strlen of the name space.
      */      */
     void setNameSpace_l(const char* nameSpace, Uint64 len);      void setNameSpace_l(const char* nameSpace, Uint32 len);
  
     /**     /**
      * 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 !
Line 702 
Line 687 
      * @param Return strlen of result string.      * @param Return strlen of result string.
      * @return The class name as UTF8.      * @return The class name as UTF8.
      */      */
     const char* getNameSpace_l(Uint64 & length) const;      const char* getNameSpace_l(Uint32 & length) const;
  
     /**     /**
      * Is the name space or class name of the instance the origianl values      * Is the name space or class name of the instance the origianl values
Line 812 
Line 797 
         if ( 1 < inst.hdr->refCount.get() )         if ( 1 < inst.hdr->refCount.get() )
         {         {
             SCMBInstance_Main * oldRef = inst.hdr;             SCMBInstance_Main * oldRef = inst.hdr;
               SCMBMgmt_Header* oldMgmt = inst.mem;
   
             _clone();             _clone();
             if (oldRef->refCount.decAndTestIfZero())             if (oldRef->refCount.decAndTestIfZero())
             {             {
                 // All external references has to be destroyed.                 // All external references has to be destroyed.
                 _destroyExternalReferencesInternal((SCMBMgmt_Header*)oldRef);                  _destroyExternalReferencesInternal(oldMgmt);
                 // The class has also be dereferenced.                 // The class has also be dereferenced.
                 delete oldRef->theClass.ptr;                 delete oldRef->theClass.ptr;
                 free((void*)oldRef);                 free((void*)oldRef);
Line 882 
Line 869 
     static SCMOClass _getSCMOClass(     static SCMOClass _getSCMOClass(
         const CIMObjectPath& theCIMObj,         const CIMObjectPath& theCIMObj,
         const char* altNS,         const char* altNS,
         Uint64 altNSlength);          Uint32 altNSlength);
  
     CIMProperty _getCIMPropertyAtNodeIndex(Uint32 nodeIdx) const;     CIMProperty _getCIMPropertyAtNodeIndex(Uint32 nodeIdx) const;
  
Line 907 
Line 894 
         SCMBMgmt_Header** pmem,         SCMBMgmt_Header** pmem,
         CIMType type,         CIMType type,
         Uint64 startNS,         Uint64 startNS,
         Uint64 lenNS,          Uint32 lenNS,
         Union& u);         Union& u);
  
     static void _setUnionArrayValue(     static void _setUnionArrayValue(
Line 916 
Line 903 
         CIMType type,         CIMType type,
         Uint32& n,         Uint32& n,
         Uint64 startNS,         Uint64 startNS,
         Uint64 lenNS,          Uint32 lenNS,
         Union& u);         Union& u);
  
     static void _setExtRefIndex(SCMBUnion* pInst, SCMBMgmt_Header** pmem);     static void _setExtRefIndex(SCMBUnion* pInst, SCMBMgmt_Header** pmem);
Line 930 
Line 917 
  
     void _copyKeyBindings(SCMOInstance& targetInst) const;     void _copyKeyBindings(SCMOInstance& targetInst) const;
  
     Uint32 _initPropFilterWithKeys();  
   
     void _setPropertyInPropertyFilter(Uint32 i);  
   
     Boolean _isPropertyInFilter(Uint32 i) const;  
   
     void _clearPropertyFilter();  
   
     void _setKeyBindingFromSCMBUnion(     void _setKeyBindingFromSCMBUnion(
         CIMType type,         CIMType type,
         const SCMBUnion& u,         const SCMBUnion& u,
Line 1010 
Line 989 
     const char ** valueBase,     const char ** valueBase,
     SCMBClassProperty ** propDef) const     SCMBClassProperty ** propDef) const
 { {
     Uint32 node;  
     // is filtering on ?  
     if (inst.hdr->flags.isFiltered)  
     {  
         // Get absolut pointer to property filter index map of the instance  
         Uint32* propertyFilterIndexMap =  
         (Uint32*)&(inst.base[inst.hdr->propertyFilterIndexMap.start]);  
         // get the real node index of the property.  
         node = propertyFilterIndexMap[pos];  
     }  
     else  
     {  
         // the index is used as node index.  
         node = pos;  
     }  
   
     SCMBValue* theInstPropNodeArray =     SCMBValue* theInstPropNodeArray =
         (SCMBValue*)&(inst.base[inst.hdr->propertyArray.start]);         (SCMBValue*)&(inst.base[inst.hdr->propertyArray.start]);
  
Line 1035 
Line 998 
         (SCMBClassPropertyNode*)&(inst.hdr->theClass.ptr->cls.base)[idx];         (SCMBClassPropertyNode*)&(inst.hdr->theClass.ptr->cls.base)[idx];
  
     // return the absolute pointer to the property definition     // return the absolute pointer to the property definition
     *propDef= &(theClassPropNodeArray[node].theProperty);      *propDef= &(theClassPropNodeArray[pos].theProperty);
  
     // need check if property set or not, if not set use the default value     // need check if property set or not, if not set use the default value
     if (theInstPropNodeArray[node].flags.isSet)      if (theInstPropNodeArray[pos].flags.isSet)
     {     {
         // return the absolute pointer to the property value in the instance         // return the absolute pointer to the property value in the instance
         *value = &(theInstPropNodeArray[node]);          *value = &(theInstPropNodeArray[pos]);
         *valueBase = inst.base;         *valueBase = inst.base;
     }     }
     else     else
     {     {
         // return the absolute pointer to         // return the absolute pointer to
         *value = &(theClassPropNodeArray[node].theProperty.defaultValue);          *value = &(theClassPropNodeArray[pos].theProperty.defaultValue);
         *valueBase = inst.hdr->theClass.ptr->cls.base;         *valueBase = inst.hdr->theClass.ptr->cls.base;
     }     }
 } }


Legend:
Removed from v.1.1.2.45  
changed lines
  Added in v.1.3.4.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2