version 1.27, 2008/12/16 18:56:55
|
version 1.27.4.1, 2009/10/06 10:07:54
|
|
|
CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eObj->hdl; | CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eObj->hdl; |
if (ie) | if (ie) |
{ | { |
Array<CIMInstance>* enm = (Array<CIMInstance>*)ie->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)ie->hdl; |
if (enm) | if (enm) |
{ | { |
delete enm; | delete enm; |
|
|
CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eObj->hdl; | CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eObj->hdl; |
if (ie) | if (ie) |
{ | { |
Array<CIMObject>* enm = (Array<CIMObject>*)ie->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)ie->hdl; |
if (enm) | if (enm) |
{ | { |
delete enm; | delete enm; |
|
|
CMPI_OpEnumeration* ie = (CMPI_OpEnumeration*)eObj->hdl; | CMPI_OpEnumeration* ie = (CMPI_OpEnumeration*)eObj->hdl; |
if (ie) | if (ie) |
{ | { |
Array<CIMObjectPath>* enm = (Array<CIMObjectPath>*)ie->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)ie->hdl; |
if (enm) | if (enm) |
{ | { |
delete enm; | delete enm; |
|
|
{ | { |
if ((void*)eEnum->ft == (void*)CMPI_InstEnumeration_Ftab) | if ((void*)eEnum->ft == (void*)CMPI_InstEnumeration_Ftab) |
{ | { |
Array<CIMInstance>* enm = (Array<CIMInstance>*)eEnum->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)eEnum->hdl; |
CMPI_Object *obj = new CMPI_Object( | CMPI_Object *obj = new CMPI_Object( |
new CMPI_InstEnumeration(new Array<CIMInstance>(*enm))); |
new CMPI_InstEnumeration(new Array<SCMOInstance>(*enm))); |
obj->unlink(); // remove from current thread context. | obj->unlink(); // remove from current thread context. |
CMPIEnumeration* cmpiEnum = | CMPIEnumeration* cmpiEnum = |
reinterpret_cast<CMPIEnumeration*>(obj); | reinterpret_cast<CMPIEnumeration*>(obj); |
|
|
} | } |
else if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab) | else if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab) |
{ | { |
Array<CIMObject>* enm = (Array<CIMObject>*)eEnum->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)eEnum->hdl; |
CMPI_Object *obj = new CMPI_Object( | CMPI_Object *obj = new CMPI_Object( |
new CMPI_ObjEnumeration(new Array<CIMObject>(*enm))); |
new CMPI_ObjEnumeration(new Array<SCMOInstance>(*enm))); |
obj->unlink(); // remove from current thread context. | obj->unlink(); // remove from current thread context. |
CMPIEnumeration* cmpiEnum = | CMPIEnumeration* cmpiEnum = |
reinterpret_cast<CMPIEnumeration*>(obj); | reinterpret_cast<CMPIEnumeration*>(obj); |
|
|
} | } |
else if ((void*)eEnum->ft == (void*)CMPI_OpEnumeration_Ftab) | else if ((void*)eEnum->ft == (void*)CMPI_OpEnumeration_Ftab) |
{ | { |
Array<CIMObjectPath>* enm = (Array<CIMObjectPath>*)eEnum->hdl; |
Array<SCMOInstance>* enm = (Array<SCMOInstance>*)eEnum->hdl; |
CMPI_Object *obj = new CMPI_Object( | CMPI_Object *obj = new CMPI_Object( |
new CMPI_OpEnumeration(new Array<CIMObjectPath>(*enm))); |
new CMPI_OpEnumeration(new Array<SCMOInstance>(*enm))); |
obj->unlink(); // remove from current thread context. | obj->unlink(); // remove from current thread context. |
CMPIEnumeration* cmpiEnum = | CMPIEnumeration* cmpiEnum = |
reinterpret_cast<CMPIEnumeration*>(obj); | reinterpret_cast<CMPIEnumeration*>(obj); |
|
|
{ | { |
CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eEnum; | CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eEnum; |
data.type = CMPI_instance; | data.type = CMPI_instance; |
Array<CIMInstance>* ia = (Array<CIMInstance>*)ie->hdl; |
Array<SCMOInstance>* ia = (Array<SCMOInstance>*)ie->hdl; |
if (ie->cursor<ie->max) | if (ie->cursor<ie->max) |
{ | { |
data.value.inst = reinterpret_cast<CMPIInstance*> | data.value.inst = reinterpret_cast<CMPIInstance*> |
(new CMPI_Object(new CIMInstance((*ia)[ie->cursor++]))); |
(new CMPI_Object(new SCMOInstance((*ia)[ie->cursor++]))); |
CMSetStatus(rc, CMPI_RC_OK); | CMSetStatus(rc, CMPI_RC_OK); |
} | } |
else | else |
|
|
{ | { |
CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eEnum; | CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eEnum; |
data.type = CMPI_instance; | data.type = CMPI_instance; |
Array<CIMInstance>* ia = (Array<CIMInstance>*)ie->hdl; |
Array<SCMOInstance>* ia = (Array<SCMOInstance>*)ie->hdl; |
if (ie->cursor<ie->max) | if (ie->cursor<ie->max) |
{ | { |
data.value.inst = reinterpret_cast<CMPIInstance*> | data.value.inst = reinterpret_cast<CMPIInstance*> |
(new CMPI_Object(new CIMInstance((*ia)[ie->cursor++]))); |
(new CMPI_Object(new SCMOInstance((*ia)[ie->cursor++]))); |
CMSetStatus(rc, CMPI_RC_OK); | CMSetStatus(rc, CMPI_RC_OK); |
} | } |
else | else |
|
|
{ | { |
CMPI_OpEnumeration* oe = (CMPI_OpEnumeration*)eEnum; | CMPI_OpEnumeration* oe = (CMPI_OpEnumeration*)eEnum; |
data.type = CMPI_ref; | data.type = CMPI_ref; |
Array<CIMObjectPath>* opa = (Array<CIMObjectPath>*)oe->hdl; |
Array<SCMOInstance>* opa = (Array<SCMOInstance>*)oe->hdl; |
if (oe->cursor<oe->max) | if (oe->cursor<oe->max) |
{ | { |
data.value.ref = reinterpret_cast<CMPIObjectPath*> | data.value.ref = reinterpret_cast<CMPIObjectPath*> |
(new CMPI_Object(new CIMObjectPath((*opa)[oe->cursor++]))); |
(new CMPI_Object(new SCMOInstance((*opa)[oe->cursor++]))); |
CMSetStatus(rc, CMPI_RC_OK); | CMSetStatus(rc, CMPI_RC_OK); |
} | } |
else | else |
|
|
if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab || | if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab || |
(void*)eEnum->ft == (void*)CMPI_InstEnumeration_Ftab) | (void*)eEnum->ft == (void*)CMPI_InstEnumeration_Ftab) |
{ | { |
Array<CIMInstance>* ia; |
Array<SCMOInstance>* ia; |
if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab) | if ((void*)eEnum->ft == (void*)CMPI_ObjEnumeration_Ftab) |
{ | { |
CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eEnum; | CMPI_ObjEnumeration* ie = (CMPI_ObjEnumeration*)eEnum; |
ia = (Array<CIMInstance>*)ie->hdl; |
ia = (Array<SCMOInstance>*)ie->hdl; |
} | } |
else | else |
{ | { |
CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eEnum; | CMPI_InstEnumeration* ie = (CMPI_InstEnumeration*)eEnum; |
ia = (Array<CIMInstance>*)ie->hdl; |
ia = (Array<SCMOInstance>*)ie->hdl; |
} | } |
size = ia->size(); | size = ia->size(); |
nar = mbEncNewArray(NULL,size,CMPI_instance,NULL); | nar = mbEncNewArray(NULL,size,CMPI_instance,NULL); |
for (Uint32 i=0; i<size; i++) | for (Uint32 i=0; i<size; i++) |
{ | { |
CIMInstance &inst = (*ia)[i]; |
SCMOInstance &inst = (*ia)[i]; |
obj = new CMPI_Object(new CIMInstance(inst)); |
obj = new CMPI_Object(new SCMOInstance(inst)); |
arraySetElementAt(nar,i,(CMPIValue*)&obj,CMPI_instance); | arraySetElementAt(nar,i,(CMPIValue*)&obj,CMPI_instance); |
} | } |
} | } |
else | else |
{ | { |
CMPI_OpEnumeration* oe = (CMPI_OpEnumeration*)eEnum; | CMPI_OpEnumeration* oe = (CMPI_OpEnumeration*)eEnum; |
Array<CIMObjectPath>* opa = (Array<CIMObjectPath>*)oe->hdl; |
Array<SCMOInstance>* opa = (Array<SCMOInstance>*)oe->hdl; |
size = opa->size(); | size = opa->size(); |
nar = mbEncNewArray(NULL,size,CMPI_ref,NULL); | nar = mbEncNewArray(NULL,size,CMPI_ref,NULL); |
for (Uint32 i=0; i<size; i++) | for (Uint32 i=0; i<size; i++) |
{ | { |
CIMObjectPath &op = (*opa)[i]; |
SCMOInstance &op = (*opa)[i]; |
obj = new CMPI_Object(new CIMObjectPath(op)); |
obj = new CMPI_Object(new SCMOInstance(op)); |
arraySetElementAt(nar,i,(CMPIValue*)&obj,CMPI_ref); | arraySetElementAt(nar,i,(CMPIValue*)&obj,CMPI_ref); |
} | } |
} | } |
|
|
CMPIEnumerationFT *CMPI_InstEnumeration_Ftab = &instEnumeration_FT; | CMPIEnumerationFT *CMPI_InstEnumeration_Ftab = &instEnumeration_FT; |
CMPIEnumerationFT *CMPI_OpEnumeration_Ftab = &opEnumeration_FT; | CMPIEnumerationFT *CMPI_OpEnumeration_Ftab = &opEnumeration_FT; |
| |
CMPI_ObjEnumeration::CMPI_ObjEnumeration(Array<CIMObject>* oa) |
CMPI_ObjEnumeration::CMPI_ObjEnumeration(Array<SCMOInstance>* oa) |
{ | { |
PEG_METHOD_ENTER( | PEG_METHOD_ENTER( |
TRC_CMPIPROVIDERINTERFACE, | TRC_CMPIPROVIDERINTERFACE, |
|
|
ft = CMPI_ObjEnumeration_Ftab; | ft = CMPI_ObjEnumeration_Ftab; |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
CMPI_InstEnumeration::CMPI_InstEnumeration(Array<CIMInstance>* ia) |
CMPI_InstEnumeration::CMPI_InstEnumeration(Array<SCMOInstance>* ia) |
{ | { |
PEG_METHOD_ENTER( | PEG_METHOD_ENTER( |
TRC_CMPIPROVIDERINTERFACE, | TRC_CMPIPROVIDERINTERFACE, |
|
|
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
| |
CMPI_OpEnumeration::CMPI_OpEnumeration(Array<CIMObjectPath>* opa) |
CMPI_OpEnumeration::CMPI_OpEnumeration(Array<SCMOInstance>* opa) |
{ | { |
PEG_METHOD_ENTER( | PEG_METHOD_ENTER( |
TRC_CMPIPROVIDERINTERFACE, | TRC_CMPIPROVIDERINTERFACE, |