Ejemplo n.º 1
0
   static CMPIStatus mbSetProperty(const CMPIBroker *mb, const CMPIContext *ctx,
                  const CMPIObjectPath *cop, const char *name, const CMPIValue *val,
                   CMPIType type) {
      DDD(cout<<"--- mbSetProperty()"<<endl);
      mb=CM_BROKER;
      CMPIrc rc;
      CIMValue v=value2CIMValue(val,type,&rc);

      AutoMutex mtx(((CMPI_Broker*)mb)->mtx);
      try {
         CM_CIMOM(mb)->setProperty(
         OperationContext(*CM_Context(ctx)),
         CM_ObjectPath(cop)->getNameSpace(),
         *CM_ObjectPath(cop),
         String(name),
         v);
         CMReturn(CMPI_RC_OK);
      }
      catch (const CIMException &e) {
         DDD(cout<<"### exception: mbSetProperty - code: "<<e.getCode()<<" msg: "<<e.getMessage()<<endl);
         CMReturnWithString((CMPIrc)e.getCode(),
            (CMPIString*)string2CMPIString(e.getMessage()));
      }
      CMReturnWithChars(mb,CMPI_RC_ERROR,"Internal error - CMPIBoker.cpp-12");
   }
Ejemplo n.º 2
0
   static CMPIStatus mbModifyInstance(const CMPIBroker *mb, const CMPIContext *ctx,
         const CMPIObjectPath *cop, const CMPIInstance *ci,const  char ** properties) {
      DDD(cout<<"--- mbSetInstance()"<<endl);
      mb=CM_BROKER;
      CMPIFlags flgs=ctx->ft->getEntry(ctx,CMPIInvocationFlags,NULL).value.uint32;
      const CIMPropertyList props=getList(properties);

      AutoMutex mtx(((CMPI_Broker*)mb)->mtx);
      try {
   	 CIMInstance cmi(*CM_Instance(ci));
	 cmi.setPath(*CM_ObjectPath(cop));
         CM_CIMOM(mb)->modifyInstance(
                     OperationContext(*CM_Context(ctx)),
		     CM_ObjectPath(cop)->getNameSpace(),
                     cmi,
         CM_IncludeQualifiers(flgs),
         props);
         CMReturn(CMPI_RC_OK);
      }
      catch (const CIMException &e) {
         DDD(cout<<"### exception: mbSetInstance - code: "<<e.getCode()<<" msg: "<<e.getMessage()<<endl);
         CMReturnWithString((CMPIrc)e.getCode(),
            (CMPIString*)string2CMPIString(e.getMessage()));
      }
      CMReturnWithChars(mb,CMPI_RC_ERROR,"Internal error - CMPIBoker.cpp-2");
   }
Ejemplo n.º 3
0
CMPIStatus
TestCMPIFail_4ProviderEnumInstanceNames (CMPIInstanceMI * mi,
                                         const CMPIContext * ctx,
                                         const CMPIResult * rslt,
                                         const CMPIObjectPath * ref)
{
  CMReturnWithChars (_broker, CMPI_RC_ERR_NOT_FOUND, _msg);
}
Ejemplo n.º 4
0
CMPIStatus
InternalProviderGetProperty(CMPIPropertyMI * mi,
                            const CMPIContext *ctx,
                            const CMPIResult *rslt,
                            const CMPIObjectPath * ref,
                            const char *propName)
{
  _SFCB_ENTER(TRACE_INTERNALPROVIDER, "InternalProviderGetProperty");
  CMReturnWithChars(_broker, CMPI_RC_ERR_FAILED,
                    "DefaultProvider does not support property operations");
}
Ejemplo n.º 5
0
CMPIStatus
InternalProviderInvokeMethod(CMPIMethodMI * mi,
                             const CMPIContext *ctx,
                             const CMPIResult *rslt,
                             const CMPIObjectPath * ref,
                             const char *methodName,
                             const CMPIArgs * in, CMPIArgs * out)
{
  _SFCB_ENTER(TRACE_INTERNALPROVIDER, "InternalProviderInvokeMethod");
  CMReturnWithChars(_broker, CMPI_RC_ERR_FAILED,
                    "DefaultProvider does not support invokeMethod operations");
}
CMPIStatus cmpiPerf_TestClassProviderModifyInstance(
    CMPIInstanceMI * mi,
    const CMPIContext * ctx,
    const CMPIResult * rslt,
    const CMPIObjectPath * cop,
    const CMPIInstance * ci,
    const char **properties)
{
    CMReturnWithChars(
        _broker,
        CMPI_RC_ERR_NOT_SUPPORTED,
        "CIM_ERR_NOT_SUPPORTED");
}
Ejemplo n.º 7
0
CMPIStatus
TestCMPIFail_4ProviderDeleteInstance (CMPIInstanceMI * mi,
                                      const CMPIContext * ctx,
                                      const CMPIResult * rslt,
                                      const CMPIObjectPath * cop)
{
    // This out-of-place macro was added to test bug #4107
    // in which CMReturnDone without a previous CMReturnInstance would
    // crash cimserver.

    CMReturnDone(rslt);
    CMReturnWithChars (_broker, CMPI_RC_ERR_NOT_FOUND, _msg);
}
Ejemplo n.º 8
0
   static CMPIStatus mbDeleteInstance (const CMPIBroker *mb, const CMPIContext *ctx,
                  const CMPIObjectPath *cop) {
      DDD(cout<<"--- mbDeleteInstance()"<<endl);
      mb=CM_BROKER;
      CIMObjectPath qop(String::EMPTY,CIMNamespaceName(),
                        CM_ObjectPath(cop)->getClassName(),
            CM_ObjectPath(cop)->getKeyBindings());

      AutoMutex mtx(((CMPI_Broker*)mb)->mtx);
      try {
         CM_CIMOM(mb)->deleteInstance(
                     OperationContext(*CM_Context(ctx)),
         CM_ObjectPath(cop)->getNameSpace(),
         qop); //*CM_ObjectPath(cop));
         CMReturn(CMPI_RC_OK);
      }
      catch (const CIMException &e) {
         DDD(cout<<"### exception: mbDeleteInstance - code: "<<e.getCode()<<" msg: "<<e.getMessage()<<endl);
         CMReturnWithString((CMPIrc)e.getCode(),
            (CMPIString*)string2CMPIString(e.getMessage()));
      }
      CMReturnWithChars(mb,CMPI_RC_ERROR,"Internal error - CMPIBoker.cpp-3");
   }