int main(void) { int rc=0; const char *str = "00000024163645.123456:000"; printf("Performing NewDateTime tests.... \n"); dt = (CMPIDateTime *)NewCMPIDateTime(&st); printf("Done dt \n"); dt1 = (CMPIDateTime *) NewCMPIDateTimeFromBinary((CMPIUint64) 1000000,TRUE,&st1); printf("Done dt1 \n"); dt2 = (CMPIDateTime *)NewCMPIDateTimeFromChars(str,&st2); printf("Done dt2 \n"); printf("st.rc = %d \n ",st.rc); printf("st1.rc = %d \n ",st1.rc); printf("st2.rc = %d \n ",st2.rc); if(CMIsInterval((const CMPIDateTime *) dt2,&st3.rc)) printf("dt2 is Interval... \n"); if (st.rc != CMPI_RC_OK) { printf("\tNEWCMPIDateTime returned: %s\n",(char *)st.rc); rc=1; } if (st1.rc != CMPI_RC_OK) { printf("\tNEWCMPIDateTimeFromBinary returned: %s\n",(char *)st1.rc); rc=1; } if (st2.rc != CMPI_RC_OK) { printf("\tNEWCMPIDateTimeFromChars returned: %s\n",(char *)st2.rc); rc=1; } return(rc); }
static int _testCMPIDateTime() { CMPIStatus rc = { CMPI_RC_OK, NULL }; CMPIBoolean isInterval = 0; CMPIBoolean interval = 0; CMPIBoolean cloneSuccessful = 0; CMPIBoolean binaryDateTimeEqual = 0; CMPIDateTime *dateTime = NULL; CMPIDateTime *new_dateTime = NULL; CMPIDateTime *clonedDateTime = NULL; CMPIDateTime *dateTimeFromBinary = NULL; CMPIUint64 dateTimeInBinary = UINT64_LITERAL(1150892800000000); CMPIUint64 returnedDateTimeInBinary = 0; CMPIString *stringDate = NULL; CMPIString *clonedStringDate = NULL; const char *normalString = NULL; const char *clonedString = NULL; void *dtptr; dateTime = CMNewDateTime(_broker, &rc); if (dateTime == NULL) { return 1; } dateTimeFromBinary = CMNewDateTimeFromBinary(_broker, dateTimeInBinary, interval, &rc); returnedDateTimeInBinary = CMGetBinaryFormat(dateTimeFromBinary, &rc); if (dateTimeInBinary == returnedDateTimeInBinary) { binaryDateTimeEqual = 1; } isInterval = CMIsInterval(dateTime, &rc); interval = 1; new_dateTime = CMNewDateTimeFromBinary(_broker, dateTimeInBinary, interval, &rc); isInterval = CMIsInterval(new_dateTime, &rc); clonedDateTime = dateTime->ft->clone(dateTime, &rc); stringDate = CMGetStringFormat(dateTime, &rc); clonedStringDate = CMGetStringFormat(clonedDateTime, &rc); rc = clonedDateTime->ft->release(clonedDateTime); normalString = CMGetCharsPtr(stringDate, &rc); clonedString = CMGetCharsPtr(clonedStringDate, &rc); if (strcmp(normalString, clonedString) == 0) { cloneSuccessful = 1; } dtptr = dateTime->hdl; dateTime->hdl = NULL; CMGetBinaryFormat(dateTime, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } dateTime->ft->clone(dateTime, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } CMGetStringFormat(dateTime, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } rc = dateTime->ft->release(dateTime); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } dateTime->hdl = dtptr; rc = dateTime->ft->release(dateTime); return 0; }