Sha256: 598659dece736aad36f8058e36cce7db5379849a6ba4db4b86e84473ed5ddb8e
Contents?: true
Size: 1.17 KB
Versions: 4
Compression:
Stored size: 1.17 KB
Contents
require 'gir_ffi/builders/callback_builder' require 'gir_ffi/builders/constant_builder' require 'gir_ffi/builders/enum_builder' require 'gir_ffi/builders/interface_builder' require 'gir_ffi/builders/object_builder' require 'gir_ffi/builders/struct_builder' require 'gir_ffi/builders/signal_builder' require 'gir_ffi/builders/unintrospectable_builder' require 'gir_ffi/builders/union_builder' require 'gir_ffi/builders/vfunc_builder' module GirFFI module Builders # Builds a class based on information found in the introspection # repository. module TypeBuilder CACHE = {} TYPE_MAP = { :callback => CallbackBuilder, :constant => ConstantBuilder, :enum => EnumBuilder, :flags => EnumBuilder, :interface => InterfaceBuilder, :object => ObjectBuilder, :struct => StructBuilder, :union => UnionBuilder, :unintrospectable => UnintrospectableBuilder } def self.build info TYPE_MAP[info.info_type].new(info).build_class end # TODO: Pull up to include :function and :module def self.builder_for info TYPE_MAP[info.info_type].new(info) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems