(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 and 1.3.2.7

version 1.3, 2004/01/12 09:51:54 version 1.3.2.7, 2004/06/03 10:07:41
Line 29 
Line 29 
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #define CMPI_VER_86 1  #include "CMPI_Version.h"
  
 #include "CMPI_Instance.h" #include "CMPI_Instance.h"
 #include "CMPI_Broker.h" #include "CMPI_Broker.h"
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;
       ((CMPI_Object*)eInst)->unlinkAndDelete();        (reinterpret_cast<CMPI_Object*>(eInst))->unlinkAndDelete();
    }    }
    CMReturn(CMPI_RC_OK);    CMReturn(CMPI_RC_OK);
 } }
Line 67 
Line 66 
 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());
    CMPIInstance* neInst=(CMPIInstance*)new CMPI_Object(cInst);//,CMPI_Instance_Ftab);     CMPI_Object* obj=new CMPI_Object(cInst);
      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 75 
Line 76 
 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,0,{0}};     CMPIData data={0,CMPI_nullValue,{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);
       return data;        CMPIData d={0,CMPI_nullValue|CMPI_notFound,{0}};
         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 97 
Line 99 
    return data;    return data;
 } }
  
 static CMPIData instGetProperty(CMPIInstance* eInst, char* name, CMPIStatus* rc) {  static CMPIData instGetProperty(CMPIInstance* eInst, const 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 105 
Line 107 
       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,0,{0}};     CMPIData data={0,CMPI_nullValue|CMPI_notFound,{0}};
    if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);    if (rc) CMSetStatus(rc,CMPI_RC_ERR_NOT_FOUND);
    return data;    return data;
 } }
Line 121 
Line 123 
     TraceableCIMException(CODE, EXTRA_MESSAGE, __FILE__, __LINE__)     TraceableCIMException(CODE, EXTRA_MESSAGE, __FILE__, __LINE__)
  
  
 static CMPIStatus instSetProperty(CMPIInstance* eInst, char* name,  static CMPIStatus instSetProperty(CMPIInstance* eInst, const char *name,
                           CMPIValue* data, CMPIType type) {                           CMPIValue* data, CMPIType type) {
    CIMInstance *inst=(CIMInstance*)eInst->hdl;    CIMInstance *inst=(CIMInstance*)eInst->hdl;
    char **list=(char**)((CMPI_Object*)eInst)->priv;     char **list=(char**)(reinterpret_cast<CMPI_Object*>(eInst))->priv;
    CMPIrc rc;    CMPIrc rc;
  
    if (list) {    if (list) {
Line 161 
Line 163 
             abort();             abort();
          }          }
          CMReturnWithString(CMPI_RC_ERR_FAILED,          CMReturnWithString(CMPI_RC_ERR_FAILED,
              (CMPIString*)new CMPI_Object(e.getMessage()));               reinterpret_cast<CMPIString*>(new CMPI_Object(e.getMessage())));
       }       }
    }    }
    else {    else {
Line 181 
Line 183 
    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 CIMConstClass&)*cc);        const CIMObjectPath &ref=inst->buildPath(
       cop=(CMPIObjectPath*)new CMPI_Object(new CIMObjectPath(ref));            *(reinterpret_cast<const CIMConstClass*>(cc)));
         cop=reinterpret_cast<CMPIObjectPath*>
             (new CMPI_Object(new CIMObjectPath(ref)));
   
    }    }
    else cop=(CMPIObjectPath*)new CMPI_Object(new CIMObjectPath(clsRef));     else cop=reinterpret_cast<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=(CMPI_Object*)eInst;     CMPI_Object *inst=reinterpret_cast<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  
changed lines
  Added in v.1.3.2.7

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2