Class: Nl::DataTypes::Bitfield32

Inherits:
Base
  • Object
show all
Defined in:
nl/lib/nl/datatypes.rb

Instance Method Summary collapse

Methods inherited from Base

#coerce, #initialize, #nlattr_type_flags

Constructor Details

This class inherits a constructor from Nl::DataTypes::Base

Instance Method Details

#decode(decoder, context: nil, nlattr_type_flags: 0) ⇒ Object



219
220
221
222
223
# File 'nl/lib/nl/datatypes.rb', line 219

def decode(decoder, context: nil, nlattr_type_flags: 0)
  value = decoder.get_value(Endian::Host::U32)
  selector = decoder.get_value(Endian::Host::U32)
  Nl::Bitfield32.new(value, selector)
end

#encode(encoder, value, context: nil) ⇒ Object



210
211
212
213
214
215
216
217
# File 'nl/lib/nl/datatypes.rb', line 210

def encode(encoder, value, context: nil)
  unless value.is_a?(Nl::Bitfield32)
    raise TypeError, 'bitfield32 value must be an Nl::Bitfield32'
  end

  encoder.put_value(Endian::Host::U32, value.value)
  encoder.put_value(Endian::Host::U32, value.selector)
end