(file) Return to CMPI_Array.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPI

Diff for /pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Array.cpp between version 1.24 and 1.25

version 1.24, 2007/07/25 07:16:00 version 1.25, 2007/09/02 16:41:52
Line 35 
Line 35 
  
 #include "CMPI_Object.h" #include "CMPI_Object.h"
 #include "CMPI_Ftabs.h" #include "CMPI_Ftabs.h"
   #include <Pegasus/Common/Tracer.h>
 #include <string.h> #include <string.h>
  
 PEGASUS_USING_STD; PEGASUS_USING_STD;
Line 46 
Line 46 
  
     PEGASUS_STATIC CMPIStatus arrayRelease(CMPIArray* eArray)     PEGASUS_STATIC CMPIStatus arrayRelease(CMPIArray* eArray)
     {     {
           PEG_METHOD_ENTER(
               TRC_CMPIPROVIDERINTERFACE,
               "CMPI_Array:arrayRelease()");
   
         CMPIData *dta = (CMPIData*)eArray->hdl;         CMPIData *dta = (CMPIData*)eArray->hdl;
         if (dta)         if (dta)
         {         {
             delete[] dta;             delete[] dta;
             reinterpret_cast<CMPI_Object*>(eArray)->unlinkAndDelete();             reinterpret_cast<CMPI_Object*>(eArray)->unlinkAndDelete();
               PEG_METHOD_EXIT();
             CMReturn(CMPI_RC_OK);             CMReturn(CMPI_RC_OK);
         }         }
           PEG_METHOD_EXIT();
         CMReturn(CMPI_RC_ERR_INVALID_HANDLE);         CMReturn(CMPI_RC_ERR_INVALID_HANDLE);
     }     }
  
Line 60 
Line 66 
         const CMPIArray* eArray,         const CMPIArray* eArray,
         CMPIStatus* rc)         CMPIStatus* rc)
     {     {
           PEG_METHOD_ENTER(
               TRC_CMPIPROVIDERINTERFACE,
               "CMPI_Array:arrayClone()");
         CMPIData* dta=(CMPIData*)eArray->hdl;         CMPIData* dta=(CMPIData*)eArray->hdl;
  
         if (!dta)         if (!dta)
         {         {
             CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE);             CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE);
               PEG_METHOD_EXIT();
             return NULL;             return NULL;
         }         }
         CMPIData* nDta = new CMPIData[dta->value.uint32+1];         CMPIData* nDta = new CMPIData[dta->value.uint32+1];
Line 159 
Line 169 
                     {                     {
                         *rc=rrc;                         *rc=rrc;
                     }                     }
                       PEG_METHOD_EXIT();
                     return NULL;                     return NULL;
                 }                 }
             }             }
         }         }
         CMSetStatus(rc,CMPI_RC_OK);         CMSetStatus(rc,CMPI_RC_OK);
           PEG_METHOD_EXIT();
         return nArray;         return nArray;
     }     }
  
Line 194 
Line 206 
         const CMPIValue *val,         const CMPIValue *val,
         CMPIType type)         CMPIType type)
     {     {
           PEG_METHOD_ENTER(
               TRC_CMPIPROVIDERINTERFACE,
               "CMPI_Array:arraySetElementAt()");
         CMPIData *dta = (CMPIData*)eArray->hdl;         CMPIData *dta = (CMPIData*)eArray->hdl;
         if (!dta)         if (!dta)
         {         {
               PEG_METHOD_EXIT();
             CMReturn(CMPI_RC_ERR_INVALID_HANDLE);             CMReturn(CMPI_RC_ERR_INVALID_HANDLE);
         }         }
         if (!val)         if (!val)
         {         {
               PEG_METHOD_EXIT();
             CMReturn( CMPI_RC_ERR_INVALID_PARAMETER);             CMReturn( CMPI_RC_ERR_INVALID_PARAMETER);
         }         }
         if (pos<dta->value.uint32)         if (pos<dta->value.uint32)
Line 209 
Line 226 
             {             {
                 dta[pos+1].state=CMPI_goodValue;                 dta[pos+1].state=CMPI_goodValue;
                 dta[pos+1].value=*val;                 dta[pos+1].value=*val;
                   PEG_METHOD_EXIT();
                 CMReturn(CMPI_RC_OK);                 CMReturn(CMPI_RC_OK);
             }             }
             else             else
Line 217 
Line 235 
                 sprintf(msg,"arraySetElementAt(): CMPI_RC_ERR_TYPE_MISMATCH."                 sprintf(msg,"arraySetElementAt(): CMPI_RC_ERR_TYPE_MISMATCH."
                     " Is %p - should be %p",                     " Is %p - should be %p",
                     (void*)(long)type, (void*)(long)dta->type);                     (void*)(long)type, (void*)(long)dta->type);
                   PEG_METHOD_EXIT();
                 CMReturnWithString(                 CMReturnWithString(
                     CMPI_RC_ERR_TYPE_MISMATCH,                     CMPI_RC_ERR_TYPE_MISMATCH,
                     reinterpret_cast<CMPIString*>(new CMPI_Object(msg)));                     reinterpret_cast<CMPIString*>(new CMPI_Object(msg)));
             }             }
         }         }
           PEG_METHOD_EXIT();
         CMReturn(CMPI_RC_ERR_NO_SUCH_PROPERTY);         CMReturn(CMPI_RC_ERR_NO_SUCH_PROPERTY);
     }     }
  


Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2