Class SNMP::VarBindList
In: lib/snmp/varbind.rb
Parent: Array

Methods

asn1_type   decode   encode   new  

Public Class methods

[Source]

# File lib/snmp/varbind.rb, line 20
    def self.decode(data)
        list = VarBindList.new
        varbind_data, remainder = decode_sequence(data)
        while varbind_data != ""
            varbind, varbind_data = VarBind.decode(varbind_data)
            list << varbind
        end
        return list, remainder    
    end

[Source]

# File lib/snmp/varbind.rb, line 30
    def initialize(varbind_list=[])
        super()
        if varbind_list.respond_to? :to_str
            self << ObjectId.new(varbind_list.to_str).to_varbind
        elsif varbind_list.respond_to? :to_varbind
            self << varbind_list.to_varbind
        else
            varbind_list.each do |item|
                if item.respond_to? :to_str
                    self << ObjectId.new(item.to_str).to_varbind
                else
                    self << item.to_varbind
                end
            end
        end
    end

Public Instance methods

[Source]

# File lib/snmp/varbind.rb, line 47
    def asn1_type
        "VarBindList"
    end

[Source]

# File lib/snmp/varbind.rb, line 51
    def encode
        varbind_data = ""
        self.each do |varbind|
            varbind_data << varbind.encode
        end
        encode_sequence(varbind_data)
    end

[Validate]