示例#1
0
void RT_IndicationProvider::modifySubscription (
    const OperationContext & context,
    const CIMObjectPath & subscriptionName,
    const Array <CIMObjectPath> & classNames,
    const CIMPropertyList & propertyList,
    const Uint16 repeatNotificationPolicy)
{
    String funcName("RT_IndicationProvider::modifySubscription ");
    _checkOperationContext(context, funcName);

    _generateIndication(_handler, "modifySubscription");
}
void OOPModuleFailureTestProvider::invokeMethod (
    const OperationContext & context,
    const CIMObjectPath & objectReference,
    const CIMName & methodName,
    const Array <CIMParamValue> & inParameters,
    MethodResultResponseHandler & handler)
{
    Boolean sendIndication = false;
    String identifier;
    handler.processing ();

    if (objectReference.getClassName ().equal ("FailureTestIndication") &&
        _enabled)
    {
        if (methodName.equal ("SendTestIndication"))
        {
            if ((inParameters.size() > 0) &&
                (inParameters[0].getParameterName () == "identifier"))
            {
                inParameters[0].getValue().get(identifier);
            }
            sendIndication = true;
            handler.deliver (CIMValue (0));
        }
    }
    else
    {
         handler.deliver (CIMValue (1));
         PEGASUS_STD (cout) << "Provider is not enabled." <<
         PEGASUS_STD (endl);
    }

    handler.complete ();

    if (sendIndication)
    {
        _generateIndication (_handler, identifier);
    }

    //
    //  If I am the OOPModuleInvokeFailureTestProvider, fail (i.e. exit)
    //
    if (String::equalNoCase (_providerName,
        "OOPModuleInvokeFailureTestProvider"))
    {
        if (methodName.equal ("Fail"))
        {
            exit (-1);
        }
    }
}
示例#3
0
void RT_IndicationProvider::invokeMethod(
        const OperationContext & context,
        const CIMObjectPath & objectReference,
        const CIMName & methodName,
        const Array<CIMParamValue> & inParameters,
        MethodResultResponseHandler & handler)
{
        Boolean sendIndication = false;
        handler.processing();

        if (objectReference.getClassName().equal ("RT_TestIndication") &&
	    _enabled)
        {
            if ((methodName.equal ("SendTestIndication")) ||
                (methodName.equal ("SendTestIndicationNormal")) ||
                (methodName.equal ("SendTestIndicationMissingProperty")) ||
                (methodName.equal ("SendTestIndicationExtraProperty")) ||
                (methodName.equal ("SendTestIndicationMatchingInstance")) ||
                (methodName.equal ("SendTestIndicationUnmatchingNamespace")) ||
                (methodName.equal ("SendTestIndicationUnmatchingClassName")))
            {
                sendIndication = true;
                handler.deliver( CIMValue( 0 ) );
            }
        }

        else if ((objectReference.getClassName ().equal
            ("RT_TestIndicationSubclass")) && _enabled)
        {
            if (methodName.equal ("SendTestIndicationSubclass"))
            {
                sendIndication = true;
                handler.deliver( CIMValue( 0 ) );
            }
        }

        else
        {
             handler.deliver( CIMValue( 1 ) );
	     PEGASUS_STD(cout) << "Provider is not enabled." << PEGASUS_STD(endl);
        }

        handler.complete();

        if (sendIndication)
           _generateIndication(_handler, methodName);
}