version 1.3, 2006/08/09 21:12:58
|
version 1.4.18.1, 2007/07/03 21:50:07
|
|
|
#include <Pegasus/Common/FileSystem.h> | #include <Pegasus/Common/FileSystem.h> |
#include <Pegasus/Common/Stopwatch.h> | #include <Pegasus/Common/Stopwatch.h> |
#include <Pegasus/Client/CIMClient.h> | #include <Pegasus/Client/CIMClient.h> |
|
#include <Pegasus/Common/HostAddress.h> |
| |
PEGASUS_USING_PEGASUS; | PEGASUS_USING_PEGASUS; |
PEGASUS_USING_STD; | PEGASUS_USING_STD; |
| |
const CIMNamespaceName INTEROP_NAMESPACE = CIMNamespaceName ("root/PG_InterOp"); |
// Interop namespace used with PEGASUS_NAMESPACENAME_INTEROP in Constants.h |
const CIMNamespaceName SOURCE_NAMESPACE = | const CIMNamespaceName SOURCE_NAMESPACE = |
CIMNamespaceName ("root/SampleProvider"); | CIMNamespaceName ("root/SampleProvider"); |
| |
|
|
const String FILTER_NAME = String ("IPFilter01"); | const String FILTER_NAME = String ("IPFilter01"); |
| |
enum SNMPVersion {_SNMPV1_TRAP = 2, _SNMPV2C_TRAP = 3}; | enum SNMPVersion {_SNMPV1_TRAP = 2, _SNMPV2C_TRAP = 3}; |
enum TargetHostFormat {_HOST_NAME = 2, _IPV4_ADDRESS = 3}; |
enum TargetHostFormat {_HOST_NAME = 2, _IPV4_ADDRESS = 3, _IPV6_ADDRESS = 4}; |
| |
#define PORT_NUMBER 2006 | #define PORT_NUMBER 2006 |
| |
|
|
handlerInstance.addProperty (CIMProperty (CIMName ("PortNumber"), | handlerInstance.addProperty (CIMProperty (CIMName ("PortNumber"), |
CIMValue ((Uint32) PORT_NUMBER))); | CIMValue ((Uint32) PORT_NUMBER))); |
| |
return(client.createInstance (INTEROP_NAMESPACE, handlerInstance)); |
return(client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, handlerInstance)); |
} | } |
| |
CIMObjectPath _createFilterInstance | CIMObjectPath _createFilterInstance |
|
|
filterInstance.addProperty (CIMProperty (CIMName ("SourceNamespace"), | filterInstance.addProperty (CIMProperty (CIMName ("SourceNamespace"), |
SOURCE_NAMESPACE.getString ())); | SOURCE_NAMESPACE.getString ())); |
| |
return(client.createInstance (INTEROP_NAMESPACE, filterInstance)); |
return(client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, filterInstance)); |
} | } |
| |
CIMObjectPath _createSubscriptionInstance | CIMObjectPath _createSubscriptionInstance |
|
|
subscriptionInstance.addProperty (CIMProperty | subscriptionInstance.addProperty (CIMProperty |
(CIMName ("SubscriptionState"), CIMValue ((Uint16) 2))); | (CIMName ("SubscriptionState"), CIMValue ((Uint16) 2))); |
| |
return(client.createInstance (INTEROP_NAMESPACE, subscriptionInstance)); |
return(client.createInstance (PEGASUS_NAMESPACENAME_INTEROP, subscriptionInstance)); |
} | } |
| |
void _sendTestIndication(CIMClient* client, const CIMName & methodName, | void _sendTestIndication(CIMClient* client, const CIMName & methodName, |
|
|
{ | { |
CIMObjectPath subscriptionObjectPath = | CIMObjectPath subscriptionObjectPath = |
_getSubscriptionObjectPath(filterName, handlerName); | _getSubscriptionObjectPath(filterName, handlerName); |
client.deleteInstance (INTEROP_NAMESPACE, subscriptionObjectPath); |
client.deleteInstance (PEGASUS_NAMESPACENAME_INTEROP, subscriptionObjectPath); |
} | } |
| |
void _deleteHandlerInstance | void _deleteHandlerInstance |
|
|
const String & name) | const String & name) |
{ | { |
CIMObjectPath handlerObjectPath = _getHandlerObjectPath(name); | CIMObjectPath handlerObjectPath = _getHandlerObjectPath(name); |
client.deleteInstance (INTEROP_NAMESPACE, handlerObjectPath); |
client.deleteInstance (PEGASUS_NAMESPACENAME_INTEROP, handlerObjectPath); |
} | } |
| |
void _deleteFilterInstance | void _deleteFilterInstance |
|
|
const String & name) | const String & name) |
{ | { |
CIMObjectPath filterObjectPath = _getFilterObjectPath(name); | CIMObjectPath filterObjectPath = _getFilterObjectPath(name); |
client.deleteInstance (INTEROP_NAMESPACE, filterObjectPath); |
client.deleteInstance (PEGASUS_NAMESPACENAME_INTEROP, filterObjectPath); |
} | } |
| |
void _usage () | void _usage () |
|
|
| |
try | try |
{ | { |
|
String ipAddress; |
|
int af; |
|
System::getHostIP(System::getFullyQualifiedHostName (), &af, ipAddress); |
// Create SNMPv2 trap handler | // Create SNMPv2 trap handler |
snmpv2HandlerObjectPath = _createHandlerInstance (client, | snmpv2HandlerObjectPath = _createHandlerInstance (client, |
SNMPV2C_HANDLER_NAME, | SNMPV2C_HANDLER_NAME, |
System::getHostIP(System::getFullyQualifiedHostName ()), |
ipAddress, |
"public", | "public", |
_IPV4_ADDRESS, |
af == AF_INET ? _IPV4_ADDRESS : _IPV6_ADDRESS, |
_SNMPV2C_TRAP); | _SNMPV2C_TRAP); |
} | } |
catch (CIMException& e) | catch (CIMException& e) |