class Gem::Resolv::DNS::Resource::LOC

def self.decode_rdata(msg) # :nodoc:

:nodoc:
def self.decode_rdata(msg) # :nodoc:
  version    = msg.get_bytes(1)
  ssize      = msg.get_bytes(1)
  hprecision = msg.get_bytes(1)
  vprecision = msg.get_bytes(1)
  latitude   = msg.get_bytes(4)
  longitude  = msg.get_bytes(4)
  altitude   = msg.get_bytes(4)
  return self.new(
    version,
    Gem::Resolv::LOC::Size.new(ssize),
    Gem::Resolv::LOC::Size.new(hprecision),
    Gem::Resolv::LOC::Size.new(vprecision),
    Gem::Resolv::LOC::Coord.new(latitude,"lat"),
    Gem::Resolv::LOC::Coord.new(longitude,"lon"),
    Gem::Resolv::LOC::Alt.new(altitude)
  )
end

def encode_rdata(msg) # :nodoc:

:nodoc:
def encode_rdata(msg) # :nodoc:
  msg.put_bytes(@version)
  msg.put_bytes(@ssize.scalar)
  msg.put_bytes(@hprecision.scalar)
  msg.put_bytes(@vprecision.scalar)
  msg.put_bytes(@latitude.coordinates)
  msg.put_bytes(@longitude.coordinates)
  msg.put_bytes(@altitude.altitude)
end

def initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude)

def initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude)
  @version    = version
  @ssize      = Gem::Resolv::LOC::Size.create(ssize)
  @hprecision = Gem::Resolv::LOC::Size.create(hprecision)
  @vprecision = Gem::Resolv::LOC::Size.create(vprecision)
  @latitude   = Gem::Resolv::LOC::Coord.create(latitude)
  @longitude  = Gem::Resolv::LOC::Coord.create(longitude)
  @altitude   = Gem::Resolv::LOC::Alt.create(altitude)
end