version 1.3, 2002/03/14 00:07:48
|
version 1.9, 2002/06/01 00:57:11
|
|
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001 BMC Software, Hewlett Packard, IBM, The Open Group, |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM, |
// Tivoli Systems |
// The Open Group, Tivoli Systems |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
// of this software and associated documentation files (the "Software"), to | // of this software and associated documentation files (the "Software"), to |
|
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
|
#include <Pegasus/Common/PegasusVersion.h> |
|
|
#include <iostream> | #include <iostream> |
#include <Pegasus/Handler/CIMHandler.h> | #include <Pegasus/Handler/CIMHandler.h> |
#include <Pegasus/Repository/CIMRepository.h> | #include <Pegasus/Repository/CIMRepository.h> |
|
|
{ | { |
prop = indication.getProperty(i); | prop = indication.getProperty(i); |
| |
if (prop) |
if (!prop.isNull()) |
{ | { |
String propName = prop.getName(); | String propName = prop.getName(); |
Uint32 propPos = indicationClass.findProperty(propName); | Uint32 propPos = indicationClass.findProperty(propName); |
|
if (propPos != PEG_NOT_FOUND) |
|
{ |
CIMProperty trapProp = indicationClass.getProperty(propPos); | CIMProperty trapProp = indicationClass.getProperty(propPos); |
| |
if (trapProp.existsQualifier("MappingStrings")) | if (trapProp.existsQualifier("MappingStrings")) |
|
|
mapstr2.clear(); | mapstr2.clear(); |
mapstr2 = mapstr1.subString(0, | mapstr2 = mapstr1.subString(0, |
mapstr1.find("DataType.IETF")-1); | mapstr1.find("DataType.IETF")-1); |
|
|
propOIDs.append(mapstr2); | propOIDs.append(mapstr2); |
| |
propValue.clear(); | propValue.clear(); |
|
|
propVALUEs.append(propValue); | propVALUEs.append(propValue); |
| |
mapstr2 = mapstr1.subString(mapstr1.find("|")+2); | mapstr2 = mapstr1.subString(mapstr1.find("|")+2); |
|
mapstr2 = mapstr2.subString(0, mapstr2.size()-1); |
// ATTN: There is a problem with mof compiler in |
propTYPEs.append(mapstr2); |
// loading mof with MappingString |
} |
|
|
// << 12-03-2002 : NU (HP) >> |
|
|
|
// MappingString{}. It loads if one additional |
|
// array is specified as follows: |
|
|
|
// [MappingStrings { |
|
// "OID.IETF | SNMP.1.3.6.1.4.1.11.2.3.1.6.3.1.1.4.1.1.2", |
|
// "DataType.IETF | OctetString", |
|
// "Junk"}] |
|
|
|
// where "Junk" is not required in actual definition. |
|
|
|
propTYPEs.append(mapstr2.subString(0, mapstr2.find("Junk")-1)); |
|
} | } |
} | } |
} | } |
|
|
| |
if ((handler.findProperty("TrapDestination") != PEG_NOT_FOUND) && | if ((handler.findProperty("TrapDestination") != PEG_NOT_FOUND) && |
(handler.findProperty("SNMPVersion") != PEG_NOT_FOUND) && | (handler.findProperty("SNMPVersion") != PEG_NOT_FOUND) && |
(indication.findQualifier("TrapOid") != PEG_NOT_FOUND)) |
(indicationClass.findQualifier("MappingStrings") != PEG_NOT_FOUND)) |
{ | { |
String community, trapType, destination; // from handler instance | String community, trapType, destination; // from handler instance |
String trapOid; // from indication instance |
String trapOid; // from indication Class |
|
|
|
trapOid = indicationClass.getQualifier( |
|
indicationClass.findQualifier("MappingStrings")).getValue().toString(); |
| |
trapOid = indication.getQualifier( |
trapOid = trapOid.subString(trapOid.find("OID.IETF | SNMP.")+16); |
indication.findQualifier("TrapOid")).getValue().toString(); |
|
| |
community = handler.getProperty( | community = handler.getProperty( |
handler.findProperty("SNMPCommunityName")).getValue().toString(); | handler.findProperty("SNMPCommunityName")).getValue().toString(); |
|
|
propTYPEs, | propTYPEs, |
propVALUEs); | propVALUEs); |
} | } |
|
else |
|
cout << "Invalid Indication" << endl; |
} | } |
| |
// This is the dynamic entry point into this dynamic module. The name of | // This is the dynamic entry point into this dynamic module. The name of |