module MachO
  # A representation of some unspecified Mach-O data.
  class MachOView
    # @return [String] the raw Mach-O data
    attr_reader :raw_data

    # @return [Symbol] the endianness of the data (`:big` or `:little`)
    attr_reader :endianness

    # @return [Fixnum] the offset of the relevant data (in {#raw_data})
    attr_reader :offset

    # Creates a new MachOView.
    # @param raw_data [String] the raw Mach-O data
    # @param endianness [Symbol] the endianness of the data
    # @param offset [Fixnum] the offset of the relevant data
    def initialize(raw_data, endianness, offset)
      @raw_data = raw_data
      @endianness = endianness
      @offset = offset
    end
  end
end
