From ba958bd27011243a3daa55c8bd657d4c8bf9d04c Mon Sep 17 00:00:00 2001 From: medea61 Date: Sun, 12 Aug 2012 15:40:59 +0200 Subject: [PATCH] reworked EmpireSystemedge::empireNTREGPERF to use walkSnmpTable(); code parses, but I have no way to test it --- .../Torrus/DevDiscover/EmpireSystemedge.pm | 51 ++++++++----------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/src/perllib/Torrus/DevDiscover/EmpireSystemedge.pm b/src/perllib/Torrus/DevDiscover/EmpireSystemedge.pm index 9429e24c..f6a9fc67 100644 --- a/src/perllib/Torrus/DevDiscover/EmpireSystemedge.pm +++ b/src/perllib/Torrus/DevDiscover/EmpireSystemedge.pm @@ -500,34 +500,6 @@ sub discover } - # Empire NTREGPERF - - my $empireNTREGPERF = - $session->get_table( -baseoid => $dd->oiddef('empireNTREGPERF') ); - if( defined $empireNTREGPERF ) - { - next; - $devdetails->setCap('empireNTREGPERF'); - $devdetails->storeSnmpVars( $empireNTREGPERF ); - - my $ref = {'indices' => []}; - $data->{'empireNTREGPERF'} = $ref; - foreach my $INDEX - ( $devdetails->getSnmpIndices($dd->oiddef('empireNTREGPERF') ) ) - { - # This is all configured on a per site basis. - # The xml will be site specific - push( @{ $ref->{'indices'} }, $INDEX); - my $template = {}; - $Torrus::ConfigBuilder::templateRegistry-> - {'EmpireSystemedge::NTREGPERF_' . $INDEX} = $template; - $template->{'name'}='EmpireSystemedge::NTREGPERF_' . $INDEX; - $template->{'source'}='vendor/empire.systemedge.ntregperf.xml'; - - } - } - - # Empire Service Checks if($dd->checkSnmpTable('empireSvcTable')) { @@ -565,6 +537,25 @@ sub discover } + # Empire NTREGPERF + + if($dd->checkSnmpTable('empireNTREGPERF')) { + $devdetails->setCap('EmpireSystemedge::empireNTREGPERF'); + $data->{'empireNTREGPERF'} = {}; + $data->{'empireNTREGPERF'}{'indices'} = []; + + my $indices = $dd->walkSnmpTable('empireNTREGPERF'); + + while( my( $index, $value ) = each %{$indices} ) { + push(@{$data->{'empireSvcStats'}{'indices'}}, $index); + + $Torrus::ConfigBuilder::templateRegistry->{'EmpireSystemedge::NTREGPERF_' . $index} = {}; + $Torrus::ConfigBuilder::templateRegistry->{'EmpireSystemedge::NTREGPERF_' . $index}{'name'}='EmpireSystemedge::NTREGPERF_' . $index; + $Torrus::ConfigBuilder::templateRegistry->{'EmpireSystemedge::NTREGPERF_' . $index}{'source'}='vendor/empire.systemedge.ntregperf.xml'; + } + } + + #NOT CONFIGURED## Empire DNLC #NOT CONFIGURED# my $empireDnlc = $session->get_table( -baseoid => #NOT CONFIGURED# $dd->oiddef('empireDnlc') ); @@ -840,9 +831,9 @@ sub buildConfig } } - if( $devdetails->hasCap('empireNTREGPERF') ) + if( $devdetails->hasCap('EmpireSystemedge::empireNTREGPERF') ) { - Debug("NTREGPERF"); + Debug("EmpireSystemedge::NTREGPERF"); my $ntregTree = "NT_REG_PERF"; my $ntregParam = { 'precedence' => '-10000',