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

Diff for /pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Instance.cpp between version 1.3.2.7 and 1.4

version 1.3.2.7, 2004/06/03 10:07:41 version 1.4, 2004/01/27 13:48:11
Line 51 
Line 51 
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 static CMPIStatus instRelease(CMPIInstance* eInst) { static CMPIStatus instRelease(CMPIInstance* eInst) {
   //   cout<<"--- instRelease()"<<endl;
    CIMInstance* inst=(CIMInstance*)eInst->hdl;    CIMInstance* inst=(CIMInstance*)eInst->hdl;
    if (inst) {    if (inst) {
       delete inst;       delete inst;
       (reinterpret_cast<CMPI_Object*>(eInst))->unlinkAndDelete();        ((CMPI_Object*)eInst)->unlinkAndDelete();
    }    }
    CMReturn(CMPI_RC_OK);    CMReturn(CMPI_RC_OK);
 } }
Line 66 
Line 67 
 static CMPIInstance* instClone(CMPIInstance* eInst, CMPIStatus* rc) { static CMPIInstance* instClone(CMPIInstance* eInst, CMPIStatus* rc) {
    CIMInstance* inst=(CIMInstance*)eInst->hdl;    CIMInstance* inst=(CIMInstance*)eInst->hdl;
    CIMInstance* cInst=new CIMInstance(inst->clone());    CIMInstance* cInst=new CIMInstance(inst->clone());
    CMPI_Object* obj=new CMPI_Object(cInst);     CMPIInstance* neInst=(CMPIInstance*)new CMPI_Object(cInst);//,CMPI_Instance_Ftab);
    obj->unlink();  
    CMPIInstance* neInst=reinterpret_cast<CMPIInstance*>(obj);  
    if (rc) CMSetStatus(rc,CMPI_RC_OK);    if (rc) CMSetStatus(rc,CMPI_RC_OK);
    return neInst;    return neInst;
 } }
Line 76 
Line 75 
 static CMPIData instGetPropertyAt(CMPIInstance* eInst, CMPICount pos, CMPIString** name, static CMPIData instGetPropertyAt(CMPIInstance* eInst, CMPICount pos, CMPIString** name,
                             CMPIStatus* rc) {                             CMPIStatus* rc) {
    CIMInstance* inst=(CIMInstance*)eInst->hdl;    CIMInstance* inst=(CIMInstance*)eInst->hdl;
    CMPIData data={0,CMPI_nullValue,{0}};     CMPIData data={0,0,{0}};
  
    if (pos>inst->getPropertyCount()) {    if (pos>inst->getPropertyCount()) {
      if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);      if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);
       CMPIData d={0,CMPI_nullValue|CMPI_notFound,{0}};        return data;
       return d;  
    }    }
    const CIMProperty& p=inst->getProperty(pos);    const CIMProperty& p=inst->getProperty(pos);
    const CIMValue& v=p.getValue();    const CIMValue& v=p.getValue();
Line 99 
Line 97 
    return data;    return data;
 } }
  
 static CMPIData instGetProperty(CMPIInstance* eInst, const char *name, CMPIStatus* rc) {  static CMPIData instGetProperty(CMPIInstance* eInst, char* name, CMPIStatus* rc) {
    CIMInstance* inst=(CIMInstance*)eInst->hdl;    CIMInstance* inst=(CIMInstance*)eInst->hdl;
    Uint32 pos=inst->findProperty(String(name));    Uint32 pos=inst->findProperty(String(name));
  
Line 107 
Line 105 
       if (rc) CMSetStatus(rc,CMPI_RC_OK);       if (rc) CMSetStatus(rc,CMPI_RC_OK);
       return instGetPropertyAt(eInst,pos,NULL,rc);       return instGetPropertyAt(eInst,pos,NULL,rc);
    }    }
    CMPIData data={0,CMPI_nullValue|CMPI_notFound,{0}};     CMPIData data={0,0,{0}};
    if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);    if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);
    return data;    return data;
 } }
Line 123 
Line 121 
     TraceableCIMException(CODE, EXTRA_MESSAGE, __FILE__, __LINE__)     TraceableCIMException(CODE, EXTRA_MESSAGE, __FILE__, __LINE__)
  
  
 static CMPIStatus instSetProperty(CMPIInstance* eInst, const char *name,  static CMPIStatus instSetProperty(CMPIInstance* eInst, char* name,
                           CMPIValue* data, CMPIType type) {                           CMPIValue* data, CMPIType type) {
    CIMInstance *inst=(CIMInstance*)eInst->hdl;    CIMInstance *inst=(CIMInstance*)eInst->hdl;
    char **list=(char**)(reinterpret_cast<CMPI_Object*>(eInst))->priv;     char **list=(char**)((CMPI_Object*)eInst)->priv;
    CMPIrc rc;    CMPIrc rc;
  
    if (list) {    if (list) {
Line 163 
Line 161 
             abort();             abort();
          }          }
          CMReturnWithString(CMPI_RC_ERR_FAILED,          CMReturnWithString(CMPI_RC_ERR_FAILED,
              reinterpret_cast<CMPIString*>(new CMPI_Object(e.getMessage())));               (CMPIString*)new CMPI_Object(e.getMessage()));
       }       }
    }    }
    else {    else {
Line 183 
Line 181 
    CMPIObjectPath *cop=NULL;    CMPIObjectPath *cop=NULL;
    if (clsRef.getKeyBindings().size()==0) {    if (clsRef.getKeyBindings().size()==0) {
       CIMClass *cc=mbGetClass(CMPI_ThreadContext::getBroker(),clsRef);       CIMClass *cc=mbGetClass(CMPI_ThreadContext::getBroker(),clsRef);
       const CIMObjectPath &ref=inst->buildPath(        const CIMObjectPath &ref=inst->buildPath((const CIMConstClass&)*cc);
           *(reinterpret_cast<const CIMConstClass*>(cc)));        cop=(CMPIObjectPath*)new CMPI_Object(new CIMObjectPath(ref));
       cop=reinterpret_cast<CMPIObjectPath*>  
           (new CMPI_Object(new CIMObjectPath(ref)));  
   
    }    }
    else cop=reinterpret_cast<CMPIObjectPath*>(new CMPI_Object(new CIMObjectPath(clsRef)));     else cop=(CMPIObjectPath*)new CMPI_Object(new CIMObjectPath(clsRef));
    if (rc) CMSetStatus(rc,CMPI_RC_OK);    if (rc) CMSetStatus(rc,CMPI_RC_OK);
    return cop;    return cop;
 } }
  
 static CMPIStatus instSetPropertyFilter(CMPIInstance* eInst, static CMPIStatus instSetPropertyFilter(CMPIInstance* eInst,
             char** propertyList, char **keys){             char** propertyList, char **keys){
    CMPI_Object *inst=reinterpret_cast<CMPI_Object*>(eInst);     CMPI_Object *inst=(CMPI_Object*)eInst;
    char **list=(char**)inst->priv;    // Thank you Warren !    char **list=(char**)inst->priv;    // Thank you Warren !
    int i,s;    int i,s;
  


Legend:
Removed from v.1.3.2.7  
changed lines
  Added in v.1.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2