#! /usr/bin/env ruby # -*- coding: UTF-8 -*- # require 'ffi' # module E17 module EVAS # extend FFI::Library # callback :evas_async_events_put_cb, [:pointer, :int, :pointer], :void # ffi_lib 'evas' [ # http://docs.enlightenment.org/auto/evas/group__Evas__Group.html [ :evas_init, [], :int], [ :evas_shutdown, [], :int], [ :evas_alloc_error, [], :int], [ :evas_async_events_fd_get, [], :int], [ :evas_async_events_process, [], :int], [ :evas_async_events_put, [:pointer, :int, :pointer, :evas_async_events_put_cb], :bool], ].each do |func| begin attach_function *func rescue Object => e puts "Could not attach #{func} #{e.message}" end end # ALLOC_ERROR_NONE = 0 ALLOC_ERROR_FATAL = 1 ALLOC_ERROR_RECOVERED = 2 # class << self alias init evas_init alias shutdown evas_shutdown alias alloc_error evas_alloc_error alias async_events_fd_get evas_async_events_fd_get alias async_events_process evas_async_events_process alias async_events_put evas_async_events_put end # end end # # EOF