Exemple #1
0
void SnmpTest::onEventSnmpReceiveTrap(QSharedPointer <SnmpTrapData> trapData)
{
	//Variables declaration
	quint32 cntObj = 0;
	SnmpTrapData *snmpData = NULL;

	LogInfo << "Test received Trap";
	if (trapData != NULL) LogInfo << trapData.data() << trapData;
	else throw SnmpException("SnmpData with NULL value in Trap management.");

	//Take snmp data
	snmpData = trapData.data();

	LogInfo << "Received Snmp Trap" << endl
			<< "  [Enterprise Oid:" << snmpData->getEnterpriseOid() << "]" << endl
			<< "  [Agent Addr:" << snmpData->getAgentAddr() << "]" << endl
			<< "  [Specific Trap:" << snmpData->getAgentAddr() << "]";

	//Process object list received from request
	Type::MSnmpObject map = snmpData->getValueList();
	LogInfo << "Objects data:" << map.size();
	for (Type::ISnmpObject iter = map.begin(); iter != map.end(); ++iter) {
		SnmpBasicAbstractType *value = static_cast<SnmpBasicAbstractType*>(iter.value());
		LogInfo << " - Object [" << ++cntObj << "]:" << iter.key() << value->toString();
	}
}
Exemple #2
0
void SnmpTest::onEventSnmpResponse(QSharedPointer <SnmpData> data)
{
	//Variables declaration
	quint32 cntObj = 0;
	SnmpData *snmpData = NULL;

	LogInfo << "Test received response";
	if (data != NULL) LogInfo << data.data() << data;
	else throw SnmpException("SnmpData with NULL value in Trap management.");

	//Take snmp data
	snmpData = data.data();

	//Check error in response
	if (snmpData->getErrorMsg() == Type::RequestTimeout)
	{
		LogInfo << "Timeout in snmp request [Id:" << snmpData->getIdRequest() << "]";

		//Process object list what they was requested
		QStringList objectList = snmpData->getObjectList();
		LogInfo << "Expected objects:" << objectList.size();
		for (int i = 0; i < objectList.size(); i++) {
			LogInfo << " - Oid [" << ++cntObj << "]:" << objectList.at(i);
		}
	}
	else
	{
		LogInfo << "Received Snmp response [Id:" << snmpData->getIdRequest() << "]";

		//Process object list received from request
		Type::MSnmpObject map = snmpData->getValueList();
		LogInfo << "Objects data:" << map.size();
		for (Type::ISnmpObject iter = map.begin(); iter != map.end(); ++iter) {
			SnmpBasicAbstractType *value = static_cast<SnmpBasicAbstractType*>(iter.value());
			LogInfo << " - Object [" << ++cntObj << "]:" << iter.key() << value->toString();
		}
	}
}
Exemple #3
0
AbstractSyntaxNotationOne *Sequence::getDataType(int pos) const
{
    if (sequenceData.size() < pos + 1)
        throw SnmpException("No such element");
    return sequenceData.at(pos);
}