diff options
Diffstat (limited to 'lib/e17/evas.rb')
-rw-r--r-- | lib/e17/evas.rb | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/lib/e17/evas.rb b/lib/e17/evas.rb index 7a8d488..07c5924 100644 --- a/lib/e17/evas.rb +++ b/lib/e17/evas.rb @@ -1,44 +1,33 @@ #! /usr/bin/env ruby # -*- coding: UTF-8 -*- # -require 'ffi' +require 'e17/ffi_helper' # module E17 module EVAS # + extend FFIHelper extend FFI::Library # + ffi_lib 'evas' + # + enum :evas_alloc_error, [:none,0,:fatal,:recovered] + # callback :evas_async_events_put_cb, [:pointer, :int, :pointer], :void # - ffi_lib 'evas' - [ + @fcts = [ # http://docs.enlightenment.org/auto/evas/group__Evas__Group.html [ :evas_init, [], :int], [ :evas_shutdown, [], :int], - [ :evas_alloc_error, [], :int], + [ :evas_alloc_error, [], :evas_alloc_error], [ :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 + ] + # + attach_fcts + # + create_aliases 'evas_'.length # end end |