📄 cimsub.cpp
字号:
// CIMInstance handler02t(PEGASUS_CLASSNAME_INDHANDLER_CIMXML); _addStringProperty(handler02t, "SystemCreationClassName", System::getSystemCreationClassName()); _addStringProperty(handler02t, "SystemName", System::getFullyQualifiedHostName()); _addStringProperty(handler02t, PEGASUS_PROPERTYNAME_CREATIONCLASSNAME.getString(), PEGASUS_CLASSNAME_INDHANDLER_CIMXML.getString()); _addStringProperty(handler02t, PEGASUS_PROPERTYNAME_NAME.getString(), "Handler02t"); _addUint16Property(handler02t, PEGASUS_PROPERTYNAME_PERSISTENCETYPE.getString(), PERSISTENCE_TRANSIENT); _addStringProperty(handler02t, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test2"); path = client.createInstance(NAMESPACE, handler02t); // // Create persistent CIMXML handler // CIMInstance handler02p(PEGASUS_CLASSNAME_INDHANDLER_CIMXML); _addStringProperty(handler02p, "SystemCreationClassName", System::getSystemCreationClassName()); _addStringProperty(handler02p, "SystemName", System::getFullyQualifiedHostName()); _addStringProperty(handler02p, PEGASUS_PROPERTYNAME_CREATIONCLASSNAME.getString(), PEGASUS_CLASSNAME_INDHANDLER_CIMXML.getString()); _addStringProperty(handler02p, PEGASUS_PROPERTYNAME_NAME.getString(), "Handler02p"); _addUint16Property(handler02p, PEGASUS_PROPERTYNAME_PERSISTENCETYPE.getString(), PERSISTENCE_PERMANENT); _addStringProperty(handler02p, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test2"); path = client.createInstance(NAMESPACE, handler02p); // // Create persistent SNMP handler // CIMInstance handler03(PEGASUS_CLASSNAME_INDHANDLER_SNMP); _addStringProperty(handler03, "SystemCreationClassName", System::getSystemCreationClassName()); _addStringProperty(handler03, "SystemName", System::getFullyQualifiedHostName()); _addStringProperty(handler03, PEGASUS_PROPERTYNAME_CREATIONCLASSNAME.getString(), PEGASUS_CLASSNAME_INDHANDLER_SNMP.getString()); _addStringProperty(handler03, PEGASUS_PROPERTYNAME_NAME.getString(), "Handler03"); _addStringProperty(handler03, "Owner", "an owner"); _addUint16Property(handler03, PEGASUS_PROPERTYNAME_PERSISTENCETYPE.getString(), PERSISTENCE_PERMANENT); _addStringProperty(handler03, "OtherPersistenceType", String::EMPTY, true); _addStringProperty(handler03, "TargetHost", "localhost"); _addUint16Property(handler03, "TargetHostFormat", 2); _addUint32Property(handler03, "PortNumber", 162); _addUint16Property(handler03, PEGASUS_PROPERTYNAME_SNMPVERSION.getString(), 3); _addStringProperty(handler03, "SNMPSecurityName", "a name"); _addStringProperty(handler03, "SNMPEngineID", "an ID"); path = client.createInstance(NAMESPACE, handler03); // // Create persistent CIMXML listener destination // CIMInstance listenerdestination01(PEGASUS_CLASSNAME_LSTNRDST_CIMXML); _addStringProperty(listenerdestination01, "SystemCreationClassName", System::getSystemCreationClassName()); _addStringProperty(listenerdestination01, "SystemName", System::getFullyQualifiedHostName()); _addStringProperty(listenerdestination01, PEGASUS_PROPERTYNAME_CREATIONCLASSNAME.getString(), PEGASUS_CLASSNAME_LSTNRDST_CIMXML.getString()); _addStringProperty(listenerdestination01, PEGASUS_PROPERTYNAME_NAME.getString(), "ListenerDestination01"); _addUint16Property(listenerdestination01, PEGASUS_PROPERTYNAME_PERSISTENCETYPE.getString(), PERSISTENCE_PERMANENT); _addStringProperty(listenerdestination01, "OtherPersistenceType", String::EMPTY, true); _addStringProperty(listenerdestination01, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test3"); path = client.createInstance(NAMESPACE, listenerdestination01); // // Create transient CIMXML listener destination // CIMInstance listenerdestination01t(PEGASUS_CLASSNAME_LSTNRDST_CIMXML); _addStringProperty(listenerdestination01t, "SystemCreationClassName", System::getSystemCreationClassName()); _addStringProperty(listenerdestination01t, "SystemName", System::getFullyQualifiedHostName()); _addStringProperty(listenerdestination01t, PEGASUS_PROPERTYNAME_CREATIONCLASSNAME.getString(), PEGASUS_CLASSNAME_LSTNRDST_CIMXML.getString()); _addStringProperty(listenerdestination01t, PEGASUS_PROPERTYNAME_NAME.getString(), "ListenerDestination01t"); _addUint16Property(listenerdestination01t, PEGASUS_PROPERTYNAME_PERSISTENCETYPE.getString(), PERSISTENCE_TRANSIENT); _addStringProperty(listenerdestination01t, "OtherPersistenceType", String::EMPTY, true); _addStringProperty(listenerdestination01t, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test3"); path = client.createInstance(NAMESPACE, listenerdestination01t); // // Create subscriptions // CIMInstance subscription01 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter01"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); _addUint16Property(subscription01, "OnFatalErrorPolicy", 2); _addStringProperty(subscription01, "OtherOnFatalErrorPolicy", String::EMPTY, true); _addUint64Property(subscription01, "FailureTriggerTimeInterval", 60); _addUint16Property(subscription01, PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE.getString(), STATE_ENABLED); _addStringProperty(subscription01, "OtherSubscriptionState", String::EMPTY, true); _addUint64Property(subscription01, "SubscriptionDuration", PEGASUS_UINT64_LITERAL(60000000000)); _addUint16Property(subscription01, "RepeatNotificationPolicy", 1); _addStringProperty(subscription01, "OtherRepeatNotificationPolicy", "another policy"); _addUint64Property(subscription01, "RepeatNotificationInterval", 60); _addUint64Property(subscription01, "RepeatNotificationGap", 30); _addUint16Property(subscription01, "RepeatNotificationCount", 5); path = client.createInstance(NAMESPACE,subscription01); CIMInstance subscription02 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter02"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); path = client.createInstance(NAMESPACE, subscription02); CIMInstance subscription03 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter03"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); path = client.createInstance(NAMESPACE, subscription03); CIMInstance subscription04 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter04"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); path = client.createInstance(NAMESPACE, subscription04); CIMInstance subscription05 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter05"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); path = client.createInstance(NAMESPACE, subscription05); CIMInstance subscription06 = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter06"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler01")); path = client.createInstance(NAMESPACE, subscription06); // // 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(NAMESPACE, subscription07); // // Create subscription with transient handler // CIMInstance subscription07t = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter01"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler02t")); path = client.createInstance(NAMESPACE, subscription07t); // // Create subscription with persistent handler // CIMInstance subscription07p = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter01"), PEGASUS_CLASSNAME_INDHANDLER_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDHANDLER_CIMXML, "Handler02p")); path = client.createInstance(NAMESPACE, subscription07p); // // 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(NAMESPACE, subscription08); // // 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(NAMESPACE, subscription09); // // Create subscription with transient CIMXML Listener Destination // CIMInstance subscription09t = _buildSubscriptionInstance( _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_INDFILTER, "Filter01"), PEGASUS_CLASSNAME_LSTNRDST_CIMXML, _buildFilterOrHandlerPath(PEGASUS_CLASSNAME_LSTNRDST_CIMXML, "ListenerDestination01t")); path = client.createInstance(NAMESPACE, subscription09t); // // Create Subscription with correct Host and Namespace in Filter and // Handler reference property value // CIMObjectPath fPath; CIMObjectPath hPath; CIMObjectPath sPath; CIMInstance filter08(PEGASUS_CLASSNAME_INDFILTER); query = "SELECT * FROM CIM_ProcessIndication"; _addStringProperty(filter08, PEGASUS_PROPERTYNAME_NAME.getString(), "Filter08"); _addStringProperty(filter08, "SourceNamespace", SOURCENAMESPACE.getString()); _addStringProperty(filter08, PEGASUS_PROPERTYNAME_QUERY.getString(), query); _addStringProperty(filter08, "QueryLanguage", qlang); fPath = client.createInstance(NAMESPACE, filter08); fPath.setHost(System::getFullyQualifiedHostName()); fPath.setNameSpace(NAMESPACE); CIMInstance listenerdestination02(PEGASUS_CLASSNAME_LSTNRDST_CIMXML); _addStringProperty(listenerdestination02, PEGASUS_PROPERTYNAME_NAME.getString(), "ListenerDestination02"); _addStringProperty(listenerdestination02, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test4"); hPath = client.createInstance(NAMESPACE, listenerdestination02); hPath.setHost(System::getFullyQualifiedHostName()); hPath.setNameSpace(NAMESPACE); CIMInstance subscription10 = _buildSubscriptionInstance( fPath, PEGASUS_CLASSNAME_LSTNRDST_CIMXML, hPath); sPath = client.createInstance(NAMESPACE, subscription10); // // Create Subscription with correct Namespace in Filter and Handler // reference property value // CIMInstance filter09(PEGASUS_CLASSNAME_INDFILTER); query = "SELECT * FROM CIM_ProcessIndication"; _addStringProperty(filter09, PEGASUS_PROPERTYNAME_NAME.getString(), "Filter09"); _addStringProperty(filter09, "SourceNamespace", SOURCENAMESPACE.getString()); _addStringProperty(filter09, PEGASUS_PROPERTYNAME_QUERY.getString(), query); _addStringProperty(filter09, "QueryLanguage", qlang); fPath = client.createInstance(NAMESPACE, filter09); fPath.setNameSpace(NAMESPACE); CIMInstance listenerdestination03(PEGASUS_CLASSNAME_LSTNRDST_CIMXML); _addStringProperty(listenerdestination03, PEGASUS_PROPERTYNAME_NAME.getString(), "ListenerDestination03"); _addStringProperty(listenerdestination03, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test5"); hPath = client.createInstance(NAMESPACE, listenerdestination03); hPath.setNameSpace(NAMESPACE); CIMInstance subscription11 = _buildSubscriptionInstance( fPath, PEGASUS_CLASSNAME_LSTNRDST_CIMXML, hPath); sPath = client.createInstance(NAMESPACE, subscription11); // // Create Subscription with Filter and Handler in different namespaces // CIMInstance filter11(PEGASUS_CLASSNAME_INDFILTER); query = "SELECT * FROM CIM_ProcessIndication"; _addStringProperty(filter11, PEGASUS_PROPERTYNAME_NAME.getString(), "Filter11"); _addStringProperty(filter11, "SourceNamespace", SOURCENAMESPACE.getString()); _addStringProperty(filter11, PEGASUS_PROPERTYNAME_QUERY.getString(), query); _addStringProperty(filter11, "QueryLanguage", qlang); fPath = client.createInstance(NAMESPACE1, filter11); fPath.setNameSpace(NAMESPACE1); CIMInstance listenerdestination05(PEGASUS_CLASSNAME_LSTNRDST_CIMXML); _addStringProperty(listenerdestination05, PEGASUS_PROPERTYNAME_NAME.getString(), "ListenerDestination05"); _addStringProperty(listenerdestination05, PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION.getString(), "localhost/CIMListener/test6"); hPath = client.createInstance(NAMESPACE2, listenerdestination05); hPath.setNameSpace(NAMESPACE2); CIMInstance subscription13 = _buildSubscriptionInstance( fPath, PEGASUS_CLASSNAME_LSTNRDST_CIMXML, hPath); sPath = client.createInstance(NAMESPACE3, subscription13); // // Create a second filter in different namespace // CIMInstance filter11a(PEGASUS_CLASSNAME_INDFILTER); query = "SELECT * FROM CIM_ProcessIndication"; _addStringProperty(filter11a, PEGASUS_PROPERTYNAME_NAME.getString(), "Filter11");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -