Ejemplo n.º 1
0
        public static LeafVarBinding SetBankThresholdVariablesEatonPDU_M2(BankThreshold threshold, DevModelConfig modelcfg)
        {
            LeafVarBinding          leafVarBinding         = new LeafVarBinding();
            int                     bankNumber             = threshold.BankNumber;
            EatonGroupEntryMib_M2   eatonGroupEntryMib_M   = new EatonGroupEntryMib_M2(bankNumber);
            EatonGroupCurrentMib_M2 eatonGroupCurrentMib_M = new EatonGroupCurrentMib_M2(bankNumber);

            if (!string.IsNullOrEmpty(threshold.BankName))
            {
                leafVarBinding.Add(eatonGroupEntryMib_M.GroupName, threshold.BankName);
            }
            else
            {
                leafVarBinding.Add(eatonGroupEntryMib_M.GroupName, "/empty");
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonGroupCurrentMib_M.MaxCurrentMT, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonGroupCurrentMib_M.CurrentUpperCritical, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            return(leafVarBinding);
        }
Ejemplo n.º 2
0
        public static System.Collections.Generic.List <LeafVarBinding> GetValuesRequestApcPDU(DevModelConfig modelcfg, DevRealConfig realcfg, int sensorNum)
        {
            int num     = 1;
            int bankNum = modelcfg.bankNum;

            System.Collections.Generic.List <LeafVarBinding> list = new System.Collections.Generic.List <LeafVarBinding>();
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(ApcPDUBaseMib.Mac);
            for (int i = 1; i <= num; i++)
            {
                ApcDeviceStatusMib apcDeviceStatusMib = new ApcDeviceStatusMib(i);
                leafVarBinding.Add(apcDeviceStatusMib.PowerStatus);
                leafVarBinding.Add(apcDeviceStatusMib.PowerDsptStatus);
                ApcPhaseStatusMib apcPhaseStatusMib = new ApcPhaseStatusMib(i);
                leafVarBinding.Add(apcPhaseStatusMib.CurrentStatus);
                leafVarBinding.Add(apcPhaseStatusMib.VoltageStatus);
            }
            for (int j = 1; j <= bankNum; j++)
            {
                ApcBankStatusMib apcBankStatusMib = new ApcBankStatusMib(j);
                leafVarBinding.Add(apcBankStatusMib.CurrentStatus);
            }
            for (int k = 1; k <= sensorNum; k++)
            {
                ApcSensorStatusMib apcSensorStatusMib = new ApcSensorStatusMib(k);
                leafVarBinding.Add(apcSensorStatusMib.Temperature);
                leafVarBinding.Add(apcSensorStatusMib.Humidity);
            }
            list.Add(leafVarBinding);
            return(list);
        }
Ejemplo n.º 3
0
        public static LeafVarBinding SetDeviceThresholdVariablesEatonPDU_M2(DeviceThreshold threshold, DevModelConfig modelcfg)
        {
            int                     inputNum               = 1;
            LeafVarBinding          leafVarBinding         = new LeafVarBinding();
            EatonInputCurrentMib_M2 eatonInputCurrentMib_M = new EatonInputCurrentMib_M2(inputNum);
            EatonInputVoltageMib_M2 eatonInputVoltageMib_M = new EatonInputVoltageMib_M2(inputNum);

            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonInputCurrentMib_M.MaxCurrentMT, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            if (threshold.MaxVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonInputVoltageMib_M.MaxVoltageMT, System.Convert.ToInt32(threshold.MaxVoltageMT * 1000f));
            }
            if (threshold.MinVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonInputVoltageMib_M.MinVoltageMt, System.Convert.ToInt32(threshold.MinVoltageMT * 1000f));
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonInputCurrentMib_M.CurrentUpperCritical, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            if (threshold.MaxVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonInputVoltageMib_M.VoltageUpperCritical, System.Convert.ToInt32(threshold.MaxVoltageMT * 1000f));
            }
            return(leafVarBinding);
        }
Ejemplo n.º 4
0
        public static System.Collections.Generic.List <VarBinding> GetThresholdsRequestApcPDU(DevModelConfig modelcfg, DevRealConfig realcfg, int sensorNum)
        {
            int num     = 1;
            int bankNum = modelcfg.bankNum;

            System.Collections.Generic.List <VarBinding> list = new System.Collections.Generic.List <VarBinding>();
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(ApcPDUBaseMib.Mac);
            leafVarBinding.Add(ApcPDUBaseMib.FWversion);
            leafVarBinding.Add(ApcPDUBaseMib.DeviceName);
            for (int i = 1; i <= num; i++)
            {
                ApcDeviceConfigMib apcDeviceConfigMib = new ApcDeviceConfigMib(i);
                leafVarBinding.Add(apcDeviceConfigMib.MinPowerConfig);
                leafVarBinding.Add(apcDeviceConfigMib.MaxPowerConfig);
                ApcPhaseConfigMib apcPhaseConfigMib = new ApcPhaseConfigMib(i);
                leafVarBinding.Add(apcPhaseConfigMib.MinCurrentConfig);
                leafVarBinding.Add(apcPhaseConfigMib.MaxCurrentConfig);
            }
            for (int j = 1; j <= bankNum; j++)
            {
                ApcBankConfigMib apcBankConfigMib = new ApcBankConfigMib(j);
                leafVarBinding.Add(apcBankConfigMib.MinCurrentConfig);
                leafVarBinding.Add(apcBankConfigMib.MaxCurrentConfig);
            }
            for (int k = 1; k <= sensorNum; k++)
            {
                ApcSensorConfigMib apcSensorConfigMib = new ApcSensorConfigMib(k);
                leafVarBinding.Add(apcSensorConfigMib.MaxTemperature);
                leafVarBinding.Add(apcSensorConfigMib.MinHumidity);
            }
            list.Add(leafVarBinding);
            return(list);
        }
Ejemplo n.º 5
0
        public static LeafVarBinding GetEatonPDUPropertiesRequest_M2()
        {
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(EatonPDUBaseMib_M2.DeviceName);
            leafVarBinding.Add(EatonPDUBaseMib_M2.FWversion);
            leafVarBinding.Add(EatonPDUBaseMib_M2.Mac);
            leafVarBinding.Add(EatonPDUBaseMib_M2.ModelName);
            return(leafVarBinding);
        }
Ejemplo n.º 6
0
        public static LeafVarBinding GetApcPDUPropertiesRequest()
        {
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(ApcPDUBaseMib.DeviceName);
            leafVarBinding.Add(ApcPDUBaseMib.FWversion);
            leafVarBinding.Add(ApcPDUBaseMib.Mac);
            leafVarBinding.Add(ApcPDUBaseMib.ModelName);
            return(leafVarBinding);
        }
Ejemplo n.º 7
0
        public virtual System.Collections.Generic.Dictionary <string, string> GetBulk(string startVariable)
        {
            if (string.IsNullOrEmpty(startVariable))
            {
                throw new System.ArgumentNullException("The startVariable for the " + SnmpOperationType.GetBulk + " operation is null or empty.");
            }
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(startVariable);
            return(this.SendPacket(SnmpOperationType.GetBulk, leafVarBinding));
        }
Ejemplo n.º 8
0
        public void BuildVbByIndex(System.Collections.Generic.List <LeafVarBinding> vbList, LeafVBBuilder.BuildVbDelegate portDelegate)
        {
            if (vbList == null)
            {
                vbList = new System.Collections.Generic.List <LeafVarBinding>();
            }
            int i = 1;

            if (this.nodes * this.indexs > 32)
            {
                int num = this.indexs / this.indexsPerRead;
                if (this.indexs % this.indexsPerRead > 0)
                {
                    num++;
                }
                for (int j = 1; j <= num; j++)
                {
                    LeafVarBinding leafVarBinding = new LeafVarBinding();
                    while (i <= this.indexsPerRead * j && i <= this.indexs)
                    {
                        portDelegate(i, leafVarBinding);
                        i++;
                    }
                    vbList.Add(leafVarBinding);
                    if (leafVarBinding.VarBindings.Count % this.nodes != 0)
                    {
                        throw new System.Exception("The number of elements  is larger than " + this.nodes);
                    }
                }
                return;
            }
            LeafVarBinding leafVarBinding2 = new LeafVarBinding();

            while (i <= this.indexs)
            {
                portDelegate(i, leafVarBinding2);
                i++;
            }
            vbList.Add(leafVarBinding2);
            if (leafVarBinding2.VarBindings.Count % this.nodes != 0)
            {
                throw new System.Exception("The number of elements is greater than " + this.nodes);
            }
        }
Ejemplo n.º 9
0
        public static LeafVarBinding GetDiscoveryRequest_ALL()
        {
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(DeviceBaseMib.DeviceName);
            leafVarBinding.Add(DeviceBaseMib.FWversion);
            leafVarBinding.Add(DeviceBaseMib.Mac);
            leafVarBinding.Add(DeviceBaseMib.ModelName);
            leafVarBinding.Add(DashboardMib.DashboradRackname);
            leafVarBinding.Add(EatonPDUBaseMib.DeviceName);
            leafVarBinding.Add(EatonPDUBaseMib.FWversion);
            leafVarBinding.Add(EatonPDUBaseMib.Mac);
            leafVarBinding.Add(EatonPDUBaseMib.ModelName);
            leafVarBinding.Add(EatonPDUBaseMib_M2.DeviceName);
            leafVarBinding.Add(EatonPDUBaseMib_M2.FWversion);
            leafVarBinding.Add(EatonPDUBaseMib_M2.Mac);
            leafVarBinding.Add(EatonPDUBaseMib_M2.ModelName);
            return(leafVarBinding);
        }
Ejemplo n.º 10
0
        public static LeafVarBinding SetOutletThresholdVariablesEatonPDU_M2(OutletThreshold threshold, DevModelConfig modelcfg)
        {
            LeafVarBinding           leafVarBinding          = new LeafVarBinding();
            int                      outletNumber            = threshold.OutletNumber;
            EatonOutletEntryMib_M2   eatonOutletEntryMib_M   = new EatonOutletEntryMib_M2(outletNumber);
            EatonOutletVoltageMib_M2 eatonOutletVoltageMib_M = new EatonOutletVoltageMib_M2(outletNumber);
            EatonOutletCurrentMib_M2 eatonOutletCurrentMib_M = new EatonOutletCurrentMib_M2(outletNumber);

            if (!string.IsNullOrEmpty(threshold.OutletName))
            {
                leafVarBinding.Add(eatonOutletEntryMib_M.OutletName, threshold.OutletName);
            }
            else
            {
                leafVarBinding.Add(eatonOutletEntryMib_M.OutletName, "/empty");
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonOutletCurrentMib_M.MaxCurrentMT, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            if (threshold.MaxVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonOutletVoltageMib_M.MaxVoltageMT, System.Convert.ToInt32(threshold.MaxVoltageMT * 1000f));
            }
            if (threshold.MinVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonOutletVoltageMib_M.MinVoltageMt, System.Convert.ToInt32(threshold.MinVoltageMT * 1000f));
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(eatonOutletCurrentMib_M.CurrentUpperCritical, System.Convert.ToInt32(threshold.MaxCurrentMT * 1000f));
            }
            if (threshold.MaxVoltageMT != -500f)
            {
                leafVarBinding.Add(eatonOutletVoltageMib_M.VoltageUpperCritical, System.Convert.ToInt32(threshold.MaxVoltageMT * 1000f));
            }
            return(leafVarBinding);
        }
Ejemplo n.º 11
0
        public static System.Collections.Generic.List <LeafVarBinding> SetBankThresholdVariablesApcPDU(BankThreshold threshold, DevModelConfig modelcfg)
        {
            System.Collections.Generic.List <LeafVarBinding> list = new System.Collections.Generic.List <LeafVarBinding>();
            LeafVarBinding   leafVarBinding   = new LeafVarBinding();
            LeafVarBinding   leafVarBinding2  = new LeafVarBinding();
            int              bankNumber       = threshold.BankNumber;
            ApcBankConfigMib apcBankConfigMib = new ApcBankConfigMib(bankNumber);

            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(apcBankConfigMib.MinCurrentConfig, 0);
                leafVarBinding.Add(apcBankConfigMib.NearCurrentConfig, 1);
                leafVarBinding2.Add(apcBankConfigMib.MaxCurrentConfig, System.Convert.ToInt32(threshold.MaxCurrentMT));
                leafVarBinding2.Add(apcBankConfigMib.NearCurrentConfig, System.Convert.ToInt32(threshold.MaxCurrentMT));
            }
            if (threshold.MinCurrentMt != -500f)
            {
                leafVarBinding2.Add(apcBankConfigMib.MinCurrentConfig, System.Convert.ToInt32(threshold.MinCurrentMt));
            }
            list.Add(leafVarBinding);
            list.Add(leafVarBinding2);
            return(list);
        }
Ejemplo n.º 12
0
 private void configPduVb(LeafVarBinding leafVb, Pdu pdu)
 {
     System.Collections.Generic.IEnumerator <string> enumerator = leafVb.VarBindings.Keys.GetEnumerator();
     while (enumerator.MoveNext())
     {
         string current = enumerator.Current;
         if (pdu.Type == PduType.Set)
         {
             object  obj   = leafVb.VarBindings[current];
             AsnType value = null;
             if (obj is string)
             {
                 value = new OctetString(System.Convert.ToString(obj));
             }
             else
             {
                 if (obj is int)
                 {
                     value = new Integer32(System.Convert.ToInt32(obj));
                 }
                 else
                 {
                     if (obj is System.Net.IPAddress)
                     {
                         value = new IpAddress(obj as System.Net.IPAddress);
                     }
                 }
             }
             pdu.VbList.Add(new Oid(current), value);
         }
         else
         {
             pdu.VbList.Add(current);
         }
     }
 }
Ejemplo n.º 13
0
        public static System.Collections.Generic.List <LeafVarBinding> SetSensorThresholdVariablesApcPDU(SensorThreshold threshold, DevModelConfig modelcfg)
        {
            System.Collections.Generic.List <LeafVarBinding> list = new System.Collections.Generic.List <LeafVarBinding>();
            LeafVarBinding     leafVarBinding     = new LeafVarBinding();
            LeafVarBinding     leafVarBinding2    = new LeafVarBinding();
            int                sensorNumber       = threshold.SensorNumber;
            ApcSensorConfigMib apcSensorConfigMib = new ApcSensorConfigMib(sensorNumber);

            if (threshold.MaxTemperatureMT != -500f && threshold.MaxTemperatureMT != -600f)
            {
                leafVarBinding.Add(apcSensorConfigMib.HighTemperature, 0);
                leafVarBinding2.Add(apcSensorConfigMib.MaxTemperature, System.Convert.ToInt32(threshold.MaxTemperatureMT));
                leafVarBinding2.Add(apcSensorConfigMib.HighTemperature, System.Convert.ToInt32(threshold.MaxTemperatureMT) - 1);
            }
            if (threshold.MinHumidityMT != -500f && threshold.MinHumidityMT != -600f)
            {
                leafVarBinding.Add(apcSensorConfigMib.LowHumidity, 99);
                leafVarBinding2.Add(apcSensorConfigMib.MinHumidity, System.Convert.ToInt32(threshold.MinHumidityMT));
                leafVarBinding2.Add(apcSensorConfigMib.LowHumidity, System.Convert.ToInt32(threshold.MinHumidityMT) + 1);
            }
            list.Add(leafVarBinding);
            list.Add(leafVarBinding2);
            return(list);
        }
Ejemplo n.º 14
0
        public static System.Collections.Generic.List <LeafVarBinding> SetDeviceThresholdVariablesApcPDU(DeviceThreshold threshold, DevModelConfig modelcfg)
        {
            int inputNum = 1;

            System.Collections.Generic.List <LeafVarBinding> list = new System.Collections.Generic.List <LeafVarBinding>();
            ApcDeviceConfigMib apcDeviceConfigMib = new ApcDeviceConfigMib(inputNum);
            ApcPhaseConfigMib  apcPhaseConfigMib  = new ApcPhaseConfigMib(inputNum);
            LeafVarBinding     leafVarBinding     = new LeafVarBinding();
            LeafVarBinding     leafVarBinding2    = new LeafVarBinding();

            if (threshold.MaxPowerMT != -500f)
            {
                leafVarBinding.Add(apcDeviceConfigMib.MinPowerConfig, 0);
                leafVarBinding.Add(apcDeviceConfigMib.NearPowerConfig, 1);
                leafVarBinding2.Add(apcDeviceConfigMib.MaxPowerConfig, System.Convert.ToInt32(threshold.MaxPowerMT * 10f / 1000f));
                leafVarBinding2.Add(apcDeviceConfigMib.NearPowerConfig, System.Convert.ToInt32(threshold.MaxPowerMT * 10f / 1000f));
            }
            if (threshold.MinPowerMT != -500f)
            {
                leafVarBinding2.Add(apcDeviceConfigMib.MinPowerConfig, System.Convert.ToInt32(threshold.MinPowerMT * 10f / 1000f));
            }
            if (threshold.MaxCurrentMT != -500f)
            {
                leafVarBinding.Add(apcPhaseConfigMib.MinCurrentConfig, 0);
                leafVarBinding.Add(apcPhaseConfigMib.NearCurrentConfig, 1);
                leafVarBinding2.Add(apcPhaseConfigMib.MaxCurrentConfig, System.Convert.ToInt32(threshold.MaxCurrentMT));
                leafVarBinding2.Add(apcPhaseConfigMib.NearCurrentConfig, System.Convert.ToInt32(threshold.MaxCurrentMT));
            }
            if (threshold.MinCurrentMT != -500f)
            {
                leafVarBinding2.Add(apcPhaseConfigMib.MinCurrentConfig, System.Convert.ToInt32(threshold.MinCurrentMT));
            }
            list.Add(leafVarBinding);
            list.Add(leafVarBinding2);
            return(list);
        }
Ejemplo n.º 15
0
 public System.Collections.Generic.Dictionary <string, string> Set(LeafVarBinding varBinding)
 {
     return(this.SendPacket(SnmpOperationType.Set, varBinding));
 }
Ejemplo n.º 16
0
        public static System.Collections.Generic.List <VarBinding> GetThresholdsRequestEatonPDU_M2(DevModelConfig modelcfg, DevRealConfig realcfg)
        {
            int num       = 1;
            int portNum   = realcfg.portNum;
            int bankNum   = realcfg.bankNum;
            int sensorNum = realcfg.sensorNum;

            System.Collections.Generic.List <VarBinding> list = new System.Collections.Generic.List <VarBinding>();
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(EatonPDUBaseMib_M2.Mac);
            leafVarBinding.Add(EatonPDUBaseMib_M2.FWversion);
            leafVarBinding.Add(EatonPDUBaseMib_M2.DeviceName);
            for (int i = 1; i <= num; i++)
            {
                EatonInputCurrentMib_M2 eatonInputCurrentMib_M = new EatonInputCurrentMib_M2(i);
                leafVarBinding.Add(eatonInputCurrentMib_M.MaxCurrentMT);
                EatonInputVoltageMib_M2 eatonInputVoltageMib_M = new EatonInputVoltageMib_M2(i);
                leafVarBinding.Add(eatonInputVoltageMib_M.MinVoltageMt);
                leafVarBinding.Add(eatonInputVoltageMib_M.MaxVoltageMT);
            }
            for (int j = 1; j <= sensorNum; j++)
            {
                EatonSensorTemperatureMib_M2 eatonSensorTemperatureMib_M = new EatonSensorTemperatureMib_M2(j);
                leafVarBinding.Add(eatonSensorTemperatureMib_M.MinTemperatureMt);
                leafVarBinding.Add(eatonSensorTemperatureMib_M.MaxTemperatureMT);
                EatonSensorHumidityMib_M2 eatonSensorHumidityMib_M = new EatonSensorHumidityMib_M2(j);
                leafVarBinding.Add(eatonSensorHumidityMib_M.MinHumidityMt);
                leafVarBinding.Add(eatonSensorHumidityMib_M.MaxHumidityMT);
            }
            list.Add(leafVarBinding);
            LeafVarBinding leafVarBinding2 = new LeafVarBinding();

            for (int k = 1; k <= bankNum; k++)
            {
                EatonGroupEntryMib_M2 eatonGroupEntryMib_M = new EatonGroupEntryMib_M2(k);
                leafVarBinding2.Add(eatonGroupEntryMib_M.GroupName);
                EatonGroupCurrentMib_M2 eatonGroupCurrentMib_M = new EatonGroupCurrentMib_M2(k);
                leafVarBinding2.Add(eatonGroupCurrentMib_M.MaxCurrentMT);
            }
            if (bankNum > 0)
            {
                list.Add(leafVarBinding2);
            }
            if (portNum > 0)
            {
                int           nodes         = 4;
                LeafVBBuilder leafVBBuilder = new LeafVBBuilder(nodes, portNum);
                System.Collections.Generic.List <LeafVarBinding> list2 = new System.Collections.Generic.List <LeafVarBinding>();
                leafVBBuilder.BuildVbByIndex(list2, delegate(int index, LeafVarBinding leafVb)
                {
                    EatonOutletEntryMib_M2 eatonOutletEntryMib_M = new EatonOutletEntryMib_M2(index);
                    leafVb.Add(eatonOutletEntryMib_M.OutletName);
                    EatonOutletVoltageMib_M2 eatonOutletVoltageMib_M = new EatonOutletVoltageMib_M2(index);
                    leafVb.Add(eatonOutletVoltageMib_M.MinVoltageMt);
                    leafVb.Add(eatonOutletVoltageMib_M.MaxVoltageMT);
                    EatonOutletCurrentMib_M2 eatonOutletCurrentMib_M = new EatonOutletCurrentMib_M2(index);
                    leafVb.Add(eatonOutletCurrentMib_M.MaxCurrentMT);
                });
                foreach (LeafVarBinding current in list2)
                {
                    list.Add(current);
                }
            }
            return(list);
        }
Ejemplo n.º 17
0
        public static System.Collections.Generic.List <LeafVarBinding> GetValuesRequestEatonPDU_M2(DevModelConfig modelcfg, DevRealConfig realcfg)
        {
            int num        = 1;
            int portNum    = realcfg.portNum;
            int bankNum    = realcfg.bankNum;
            int sensorNum  = realcfg.sensorNum;
            int contactNum = realcfg.contactNum;

            System.Collections.Generic.List <LeafVarBinding> list = new System.Collections.Generic.List <LeafVarBinding>();
            LeafVarBinding leafVarBinding = new LeafVarBinding();

            leafVarBinding.Add(EatonPDUBaseMib_M2.Mac);
            for (int l = 1; l <= num; l++)
            {
                EatonInputCurrentMib_M2 eatonInputCurrentMib_M = new EatonInputCurrentMib_M2(l);
                leafVarBinding.Add(eatonInputCurrentMib_M.CurrentValue);
                EatonInputVoltageMib_M2 eatonInputVoltageMib_M = new EatonInputVoltageMib_M2(l);
                leafVarBinding.Add(eatonInputVoltageMib_M.VoltageValue);
                EatonInputPowerMib_M2 eatonInputPowerMib_M = new EatonInputPowerMib_M2(1);
                leafVarBinding.Add(eatonInputPowerMib_M.PowerValue);
                leafVarBinding.Add(eatonInputPowerMib_M.PowerValue_VA);
            }
            for (int j = 1; j <= contactNum; j++)
            {
                EatonSensorContactMib_M2 eatonSensorContactMib_M = new EatonSensorContactMib_M2(j);
                leafVarBinding.Add(eatonSensorContactMib_M.ContactStatus);
            }
            for (int k = 1; k <= sensorNum; k++)
            {
                EatonSensorTemperatureMib_M2 eatonSensorTemperatureMib_M = new EatonSensorTemperatureMib_M2(k);
                leafVarBinding.Add(eatonSensorTemperatureMib_M.TemperatureValue);
                EatonSensorHumidityMib_M2 eatonSensorHumidityMib_M = new EatonSensorHumidityMib_M2(k);
                leafVarBinding.Add(eatonSensorHumidityMib_M.HumidityValue);
            }
            list.Add(leafVarBinding);
            if (portNum > 0)
            {
                LeafVBBuilder leafVBBuilder = new LeafVBBuilder(3, portNum);
                leafVBBuilder.BuildVbByIndex(list, delegate(int i, LeafVarBinding leafVb)
                {
                    EatonOutletVoltageMib_M2 eatonOutletVoltageMib_M = new EatonOutletVoltageMib_M2(i);
                    leafVb.Add(eatonOutletVoltageMib_M.VoltageValue);
                    EatonOutletCurrentMib_M2 eatonOutletCurrentMib_M = new EatonOutletCurrentMib_M2(i);
                    leafVb.Add(eatonOutletCurrentMib_M.CurrentValue);
                    EatonOutletPowerMib_M2 eatonOutletPowerMib_M = new EatonOutletPowerMib_M2(i);
                    leafVb.Add(eatonOutletPowerMib_M.PowerValue);
                });
            }
            if (bankNum > 0)
            {
                LeafVBBuilder leafVBBuilder2 = new LeafVBBuilder(2, bankNum);
                leafVBBuilder2.BuildVbByIndex(list, delegate(int i, LeafVarBinding leafVb)
                {
                    EatonGroupCurrentMib_M2 eatonGroupCurrentMib_M = new EatonGroupCurrentMib_M2(i);
                    leafVb.Add(eatonGroupCurrentMib_M.CurrentValue);
                    EatonGroupPowerMib_M2 eatonGroupPowerMib_M = new EatonGroupPowerMib_M2(i);
                    leafVb.Add(eatonGroupPowerMib_M.PowerValue);
                });
            }
            return(list);
        }
Ejemplo n.º 18
0
        private System.Collections.Generic.Dictionary <string, string> ReceiveResponseWithLeafVB(LeafVarBinding leafVb, Pdu pdu, UdpTarget target, IAgentParameters param)
        {
            if (leafVb.VarBindings.Count < 1)
            {
                throw new System.ArgumentNullException("The variables for the " + pdu.Type + " opertion is emtpy.");
            }
            pdu.VbList.Clear();
            this.configPduVb(leafVb, pdu);
            SnmpPacket snmpPacket = target.Request(pdu, param);

            this.validateResponse(snmpPacket, pdu);
            System.Collections.Generic.Dictionary <string, string> dictionary = new System.Collections.Generic.Dictionary <string, string>();
            foreach (Vb current in snmpPacket.Pdu.VbList)
            {
                if (current.Value.Type != SnmpConstants.SMI_NOSUCHINSTANCE && current.Value.Type != SnmpConstants.SMI_NOSUCHOBJECT && current.Value.Type != SnmpConstants.SMI_ENDOFMIBVIEW)
                {
                    string key = current.Oid.ToString();
                    if (!dictionary.ContainsKey(key))
                    {
                        dictionary.Add(key, current.Value.ToString());
                    }
                }
            }
            return(dictionary);
        }