Sha256: dc49d3f07076128b30c44efdee96bae171964a0d89d8a75cef17f5a0c498f41e

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

require_relative '../cpl/conv'

module FFI
  module OGR
    module FieldTypes
      class IntegerList < FFI::Struct
        layout :count, :int,
          :list, :pointer
      end

      class Integer64List < FFI::Struct
        layout :count, CPL::Port.find_type(:GIntBig),
          :list, :pointer
      end

      class RealList < FFI::Struct
        layout :count, :int,
          :list, :pointer
      end

      class StringList < FFI::Struct
        layout :count, :int,
          :list, :pointer
      end

      class Binary < FFI::Struct
        layout :count, :int,
          :data, :pointer
      end

      class Set < FFI::Struct
        layout :marker1, :int,
          :marker2, :int
      end

      class Date < FFI::Struct
        layout :year, CPL::Port.find_type(:GInt16),
          :month, CPL::Port.find_type(:GByte),
          :day, CPL::Port.find_type(:GByte),
          :hour, CPL::Port.find_type(:GByte),
          :minute, CPL::Port.find_type(:GByte),
          :second, CPL::Port.find_type(:GByte),
          :tz_flag, CPL::Port.find_type(:GByte)
      end
    end

    class Field < FFI::Union
      include FieldTypes

      layout :integer, :int,
        :integer64, CPL::Port.find_type(:GIntBig),
        :real, :double,
        :string, :pointer,
        :integer_list, FieldTypes::IntegerList,
        :integer64_list, FieldTypes::Integer64List,
        :real_list, FieldTypes::RealList,
        :string_list, FieldTypes::StringList,
        :binary, FieldTypes::Binary,
        :set, FieldTypes::Set,
        :date, FieldTypes::Date
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ffi-gdal-1.0.0.beta7 lib/ffi/ogr/field.rb
ffi-gdal-1.0.0.beta6 lib/ffi/ogr/field.rb
ffi-gdal-1.0.0.beta5 lib/ffi/ogr/field.rb
ffi-gdal-1.0.0.beta4 lib/ffi/ogr/field.rb