Sha256: e5f38a95724637cb23e5ec75a47d3e4ed6b360ad18b332f911ca143c4260af77

Contents?: true

Size: 666 Bytes

Versions: 4

Compression:

Stored size: 666 Bytes

Contents

require 'gir_ffi/builders/registered_type_builder'
require 'gir_ffi/builders/with_layout'
require 'gir_ffi/union_base'

module GirFFI
  module Builders
    # Implements the creation of a class representing union type. The
    # class will have a nested FFI::Union class to represent its C union.
    class UnionBuilder < RegisteredTypeBuilder
      include WithLayout

      def layout_superclass
        FFI::Union
      end

      private

      def setup_class
        setup_layout
        setup_constants
        stub_methods
        setup_field_accessors
        provide_constructor
      end

      def superclass
        UnionBase
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gir_ffi-0.7.8 lib/gir_ffi/builders/union_builder.rb
gir_ffi-0.7.7 lib/gir_ffi/builders/union_builder.rb
gir_ffi-0.7.6 lib/gir_ffi/builders/union_builder.rb
gir_ffi-0.7.5 lib/gir_ffi/builders/union_builder.rb