Method: Rex::Struct2::CStruct#add_from_dt

Defined in:
lib/rex/struct2/c_struct.rb

#add_from_dt(*dts) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/rex/struct2/c_struct.rb', line 86

def add_from_dt(*dts)
  dts.each { | dt |
    return if !dt.kind_of?(Array) || dt.length < 2

    type = dt[0]
    name = dt[1]

    factory = @@dt_table[type]

    return if !factory

    # call with the arguments passed in
    obj = factory.call(*(dt[2 .. -1]))

    self.add_object(name, obj)
  }

  return dts.length
end