version 1.12, 2006/10/18 08:19:51
|
version 1.13, 2007/05/28 05:28:56
|
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// Author: Adrian Schuur, schuur@de.ibm.com |
|
// |
|
// Modified By: |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include "CMPI_Version.h" | #include "CMPI_Version.h" |
|
|
| |
extern "C" { | extern "C" { |
| |
CMPIStatus scndRelease(CMPISelectCond* eSc) { |
CMPIStatus scndRelease(CMPISelectCond* eSc) |
|
{ |
CMPI_SelectCond *sc = (CMPI_SelectCond*)eSc->hdl; | CMPI_SelectCond *sc = (CMPI_SelectCond*)eSc->hdl; |
if (sc) { |
if (sc) |
|
{ |
CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; | CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; |
if (data) | if (data) |
|
{ |
delete data; | delete data; |
|
} |
delete sc; | delete sc; |
reinterpret_cast<CMPI_Object*>(eSc)->unlinkAndDelete(); | reinterpret_cast<CMPI_Object*>(eSc)->unlinkAndDelete(); |
} |
|
|
|
CMReturn(CMPI_RC_OK); | CMReturn(CMPI_RC_OK); |
} | } |
|
else |
|
{ |
|
CMReturn(CMPI_RC_ERR_INVALID_HANDLE); |
|
} |
|
} |
| |
CMPISelectCond* scndClone(const CMPISelectCond* eSc, CMPIStatus* rc) { |
CMPISelectCond* scndClone(const CMPISelectCond* eSc, CMPIStatus* rc) |
if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_SUPPORTED); |
{ |
|
CMSetStatus(rc,CMPI_RC_ERR_NOT_SUPPORTED); |
return NULL; | return NULL; |
} | } |
| |
CMPICount scndGetCountAndType(const CMPISelectCond* eSc, int* type, CMPIStatus* rc) { |
CMPICount scndGetCountAndType(const CMPISelectCond* eSc, int* type, CMPIStatus* rc) |
|
{ |
| |
CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc; |
CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc->hdl; |
|
if (!sc) |
|
{ |
|
CMSetStatus (rc, CMPI_RC_ERR_INVALID_HANDLE); |
|
return 0; |
|
} |
CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; | CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; |
| |
if (data) | if (data) |
{ | { |
if (type!=NULL) *type=data->type; | if (type!=NULL) *type=data->type; |
if (rc) CMSetStatus(rc,CMPI_RC_OK); |
CMSetStatus(rc,CMPI_RC_OK); |
return data->tableau->size(); | return data->tableau->size(); |
} | } |
return 0; | return 0; |
} | } |
| |
CMPISubCond* scndGetSubCondAt(const CMPISelectCond* eSc, unsigned int index, CMPIStatus* rc) { |
CMPISubCond* scndGetSubCondAt(const CMPISelectCond* eSc, unsigned int index, |
CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc; |
CMPIStatus* rc) |
|
{ |
|
CMPI_SelectCond *sc=(CMPI_SelectCond*)eSc->hdl; |
|
if (!sc) |
|
{ |
|
CMSetStatus (rc, CMPI_RC_ERR_INVALID_HANDLE); |
|
return 0; |
|
} |
CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; | CMPI_SelectCondData *data = (CMPI_SelectCondData *)sc->priv; |
if (data) | if (data) |
{ | { |
|
|
| |
CMPISubCond *sbc=(CMPISubCond*)new CMPI_SubCond(row); | CMPISubCond *sbc=(CMPISubCond*)new CMPI_SubCond(row); |
CMPI_Object *obj = new CMPI_Object(sbc); | CMPI_Object *obj = new CMPI_Object(sbc); |
obj->priv = ((CMPI_SubCond *)(sbc))->priv; |
CMSetStatus(rc,CMPI_RC_OK); |
if (rc) CMSetStatus(rc,CMPI_RC_OK); |
|
return reinterpret_cast<CMPISubCond *>(obj); | return reinterpret_cast<CMPISubCond *>(obj); |
} | } |
} else |
} |
if (rc) CMSetStatus(rc,CMPI_RC_ERR_FAILED); |
else |
|
{ |
|
CMSetStatus(rc,CMPI_RC_ERR_NO_SUCH_PROPERTY); |
|
} |
return NULL; | return NULL; |
} | } |
| |
|
|
ft=CMPI_SelectCond_Ftab; | ft=CMPI_SelectCond_Ftab; |
} | } |
| |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |