⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subscription.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription02);    _checkSubscriptionPath (path, "Filter02",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    CIMInstance subscription03 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter03"),        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription03);    _checkSubscriptionPath (path, "Filter03",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    CIMInstance subscription04 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter04"),        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription04);    _checkSubscriptionPath (path, "Filter04",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    CIMInstance subscription05 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter05"),        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription05);    _checkSubscriptionPath (path, "Filter05",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    CIMInstance subscription06 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter06"),        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription06);    _checkSubscriptionPath (path, "Filter06",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    //    //  Create subscription with transient handler    //    CIMInstance subscription07 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter01"),        PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_CIMXML,            "Handler02"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription07);    _checkSubscriptionPath (path, "Filter01",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler02");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    //    //  Delete transient handler - referencing subscription must be deleted    //    _deleteHandlerInstance (client, PEGASUS_CLASSNAME_INDHANDLER_CIMXML,        "Handler02");    try    {        retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);        PEGASUS_TEST_ASSERT (false);    }    catch (CIMException & e)    {        _checkExceptionCode (e, CIM_ERR_NOT_FOUND);    }    //    //  Create subscription with SNMP handler    //    CIMInstance subscription08 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter01"),        PEGASUS_CLASSNAME_INDHANDLER_SNMP,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDHANDLER_SNMP,            "Handler03"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP,        subscription08);    _checkSubscriptionPath (path, "Filter01",        PEGASUS_CLASSNAME_INDHANDLER_SNMP, "Handler03");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    //    //  Create subscription with CIMXML Listener Destination    //    CIMInstance subscription09 = _buildSubscriptionInstance        (_buildFilterOrHandlerPath (PEGASUS_CLASSNAME_INDFILTER, "Filter01"),        PEGASUS_CLASSNAME_LSTNRDST_CIMXML,        _buildFilterOrHandlerPath (PEGASUS_CLASSNAME_LSTNRDST_CIMXML,            "ListenerDestination01"));    path = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscription09);    _checkSubscriptionPath (path, "Filter01",        PEGASUS_CLASSNAME_LSTNRDST_CIMXML, "ListenerDestination01");    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "OnFatalErrorPolicy", 2);    _checkUint16Property (retrievedInstance, "SubscriptionState", 2);    _checkUint16Property (retrievedInstance, "RepeatNotificationPolicy", 2);    //    //  Enumerate filters    //    instances = client.enumerateInstances (PEGASUS_NAMESPACENAME_INTEROP,        PEGASUS_CLASSNAME_INDFILTER);#ifndef PEGASUS_DISABLE_CQL    PEGASUS_TEST_ASSERT (instances.size () == 7);#else    PEGASUS_TEST_ASSERT (instances.size () == 6);#endif    paths = client.enumerateInstanceNames (PEGASUS_NAMESPACENAME_INTEROP,        PEGASUS_CLASSNAME_INDFILTER);#ifndef PEGASUS_DISABLE_CQL    PEGASUS_TEST_ASSERT (paths.size () == 7);#else    PEGASUS_TEST_ASSERT (paths.size () == 6);#endif    //    //  Enumerate handlers and listener destinations    //    Array <CIMInstance> handlers = client.enumerateInstances        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDHANDLER);    PEGASUS_TEST_ASSERT (handlers.size () == 2);    Array <CIMInstance> listDests = client.enumerateInstances        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_LSTNRDST);    PEGASUS_TEST_ASSERT (listDests.size () == 3);    Array <CIMObjectPath> cimxmlHandlerPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDHANDLER_CIMXML);    PEGASUS_TEST_ASSERT (cimxmlHandlerPaths.size () == 1);    _checkFilterOrHandlerPath (cimxmlHandlerPaths [0],        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    Array <CIMObjectPath> snmpHandlerPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDHANDLER_SNMP);    PEGASUS_TEST_ASSERT (snmpHandlerPaths.size () == 1);    _checkFilterOrHandlerPath (snmpHandlerPaths [0],        PEGASUS_CLASSNAME_INDHANDLER_SNMP, "Handler03");    Array <CIMObjectPath> handlerPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDHANDLER);    PEGASUS_TEST_ASSERT (handlerPaths.size () == 2);    Array <CIMObjectPath> listDestPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_LSTNRDST);    PEGASUS_TEST_ASSERT (listDestPaths.size () == 3);    Array <CIMObjectPath> cimxmlListDestPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_LSTNRDST_CIMXML);    PEGASUS_TEST_ASSERT (cimxmlListDestPaths.size () == 1);    _checkFilterOrHandlerPath (cimxmlListDestPaths [0],        PEGASUS_CLASSNAME_LSTNRDST_CIMXML, "ListenerDestination01");    //    //  Enumerate subscriptions    //    Array <CIMInstance> subscriptions = client.enumerateInstances        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDSUBSCRIPTION);    PEGASUS_TEST_ASSERT (subscriptions.size () == 8);    Array <CIMObjectPath> subscriptionPaths = client.enumerateInstanceNames        (PEGASUS_NAMESPACENAME_INTEROP, PEGASUS_CLASSNAME_INDSUBSCRIPTION);    PEGASUS_TEST_ASSERT (subscriptionPaths.size () == 8);    //    //  Modify subscription: set state to disabled    //    CIMInstance modifiedInstance01 (PEGASUS_CLASSNAME_INDSUBSCRIPTION);    _addUint16Property (modifiedInstance01, "SubscriptionState", 4);    path = _buildSubscriptionPath ("Filter01",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    modifiedInstance01.setPath (path);    Array <CIMName> propertyNames01;    propertyNames01.append (CIMName ("SubscriptionState"));    CIMPropertyList properties01 (propertyNames01);    client.modifyInstance (PEGASUS_NAMESPACENAME_INTEROP,        modifiedInstance01, false, properties01);    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "SubscriptionState", 4);    //    //  Modify subscription: specify 0 properties to be modified    //    CIMInstance modifiedInstance02 (PEGASUS_CLASSNAME_INDSUBSCRIPTION);    _addUint16Property (modifiedInstance02, "SubscriptionState", 2);    path = _buildSubscriptionPath ("Filter01",        PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01");    modifiedInstance02.setPath (path);    Array <CIMName> propertyNames02;    CIMPropertyList properties02 (propertyNames02);    client.modifyInstance (PEGASUS_NAMESPACENAME_INTEROP,        modifiedInstance02, false, properties02);    retrievedInstance = client.getInstance (PEGASUS_NAMESPACENAME_INTEROP, path);    _checkUint16Property (retrievedInstance, "SubscriptionState", 4);    //    //  Provider registration changes: create, modify and delete operations    //    //    //  Create a new CIM_ProcessIndication provider that supports only the    //  IndicationTime property    //    Array <String> namespaces;    Array <Uint16> providerTypes;    Array <CIMName> propertyNames;    namespaces.append (SOURCENAMESPACE.getString ());    providerTypes.append (4);    propertyNames.append (CIMName ("IndicationTime"));    CIMPropertyList properties (propertyNames);    _createProviderInstance (client,        String ("ProcessIndicationProvider2"),        String ("ProcessIndicationProviderModule"));    _createCapabilityInstance (client,        String ("ProcessIndicationProviderModule"),        String ("ProcessIndicationProvider2"),        String ("ProcessIndicationProviderCapability2"),        String ("CIM_ProcessIndication"),        namespaces,        providerTypes,        properties);    //    //  Modify the CIM_ProcessIndication provider to support both the    //  IndicationTime and IndicationIdentifier properties    //    propertyNames.clear ();    propertyNames.append (CIMName ("IndicationTime"));    propertyNames.append (CIMName ("IndicationIdentifier"));    properties.clear ();    properties.set (propertyNames);    _modifyCapabilityInstance (client,        String ("ProcessIndicationProviderModule"),        String ("ProcessIndicationProvider2"),        String ("ProcessIndicationProviderCapability2"),        properties);    //    //  Modify the CIM_ProcessIndication provider to again support only the    //  IndicationTime property    //    propertyNames.clear ();    propertyNames.append (CIMName ("IndicationTime"));    propertyNames.append (CIMName ("IndicationIdentifier"));    properties.clear ();    properties.set (propertyNames);    _modifyCapabilityInstance (client,        String ("ProcessIndicationProviderModule"),        String ("ProcessIndicationProvider2"),        String ("ProcessIndicationProviderCapability2"),        properties);    //    //  Delete the provider    //    _deleteCapabilityInstance (client,        "ProcessIndicationProviderModule",        "ProcessIndicationProvider2",        "ProcessIndicationProviderCapability2");    _deleteProviderInstance (client,        "ProcessIndicationProvider2",        "ProcessIndicationProviderModule");    //    //  Create Subscription with correct Host and Namespace in Filter and    //  Handler reference property value    //  Verify Host and Namespace appear in Subscription instance name    //  returned from Create Instance operation    //    CIMObjectPath fPath;    CIMObjectPath hPath;    CIMObjectPath sPath;    CIMInstance filter08 (PEGASUS_CLASSNAME_INDFILTER);    query = "SELECT * FROM CIM_ProcessIndication";    _addStringProperty (filter08, "Name", "Filter08");    _addStringProperty (filter08, "SourceNamespace",        SOURCENAMESPACE.getString ());    _addStringProperty (filter08, "Query", query);    _addStringProperty (filter08, "QueryLanguage", qlang);    fPath = client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, filter08);    f

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -