static int _testCMPIEnumeration(const CMPIContext *ctx) { CMPIStatus rc = { CMPI_RC_OK, NULL }; CMPIEnumeration *enum_ptr = NULL; CMPIData data; unsigned int initCount = 0; CMPIObjectPath *objPath = NULL; CMPIArray *arr_ptr = NULL; CMPICount returnedArraySize; void *eptr; objPath = make_ObjectPath(_broker, _Namespace, _PersonClass); enum_ptr = CBEnumInstances(_broker, ctx, objPath, NULL, &rc); if (enum_ptr == NULL) { return 1; } arr_ptr = CMToArray(enum_ptr, &rc); if (arr_ptr == NULL) { return 1; } returnedArraySize = CMGetArrayCount(arr_ptr, &rc); while (CMHasNext(enum_ptr, &rc)) { data = CMGetNext(enum_ptr, &rc); if (data.type != CMPI_instance) { return 1; } initCount++; } eptr = enum_ptr->hdl; enum_ptr->hdl = NULL; CMToArray(enum_ptr, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } CMGetNext(enum_ptr, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } CMHasNext(enum_ptr, &rc); if (rc.rc != CMPI_RC_ERR_INVALID_HANDLE) { return 1; } enum_ptr->hdl = eptr; rc = CMRelease(enum_ptr); if (rc.rc != CMPI_RC_OK) { return 1; } return 0; }
static void TCPCOMM_enumInstanceNames(int socket, CONST CMPIBroker * broker, CONST CMPIContext * context) { CMPIEnumeration *e; CMPIStatus rc; CMPIObjectPath *cop; cop = (__sft)->deserialize_CMPIObjectPath(socket, broker); e = CBEnumInstanceNames(broker, context, cop, &rc); (__sft)->serialize_CMPIStatus(socket, &rc); (__sft)->serialize_CMPIArray(socket, (e) ? CMToArray(e, NULL) : NULL); }
static void TCPCOMM_referenceNames(int socket, CONST CMPIBroker * broker, CONST CMPIContext * context) { CMPIEnumeration *e; CMPIStatus rc; CMPIObjectPath *cop; char *resultClass, *role; cop = (__sft)->deserialize_CMPIObjectPath(socket, broker); resultClass = (__sft)->deserialize_string(socket, broker); role = (__sft)->deserialize_string(socket, broker); e = CBReferenceNames(broker, context, cop, resultClass, role, &rc); (__sft)->serialize_CMPIStatus(socket, &rc); (__sft)->serialize_CMPIArray(socket, (e) ? CMToArray(e, NULL) : NULL); }
static void TCPCOMM_enumInstances(int socket, CONST CMPIBroker * broker, CONST CMPIContext * context) { CMPIEnumeration *e; CMPIStatus rc; CMPIObjectPath *cop; char **props; cop = (__sft)->deserialize_CMPIObjectPath(socket, broker); props = socketcomm_deserialize_props(socket, (__sft), broker); e = CBEnumInstances(broker, context, cop, (CONST char **)props, &rc); (__sft)->serialize_CMPIStatus(socket, &rc); (__sft)->serialize_CMPIArray(socket, (e) ? CMToArray(e, NULL) : NULL); free(props); }
static void TCPCOMM_execQuery(int socket, CONST CMPIBroker * broker, CONST CMPIContext * context) { CMPIEnumeration *e; CMPIStatus rc; CMPIObjectPath *cop; char *lang, *query; cop = (__sft)->deserialize_CMPIObjectPath(socket, broker); query = (__sft)->deserialize_string(socket, broker); lang = (__sft)->deserialize_string(socket, broker); e = CBExecQuery(broker, context, cop, query, lang, &rc); (__sft)->serialize_CMPIStatus(socket, &rc); (__sft)->serialize_CMPIArray(socket, (e) ? CMToArray(e, NULL) : NULL); }
static void TCPCOMM_associators(int socket, CONST CMPIBroker * broker, CONST CMPIContext * context) { CMPIEnumeration *e; CMPIStatus rc; CMPIObjectPath *cop; char *assocClass, *resultClass, *role, *resultRole, **props; cop = (__sft)->deserialize_CMPIObjectPath(socket, broker); assocClass = (__sft)->deserialize_string(socket, broker); resultClass = (__sft)->deserialize_string(socket, broker); role = (__sft)->deserialize_string(socket, broker); resultRole = (__sft)->deserialize_string(socket, broker); props = socketcomm_deserialize_props(socket, (__sft), broker); e = CBAssociators(broker, context, cop, assocClass, resultClass, role, resultRole, (CONST char **)props, &rc); (__sft)->serialize_CMPIStatus(socket, &rc); (__sft)->serialize_CMPIArray(socket, (e) ? CMToArray(e, NULL) : NULL); free(props); }