summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/efl/ecore.rb8
-rw-r--r--spec/ecore_spec.rb5
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/efl/ecore.rb b/lib/efl/ecore.rb
index 209d7a5..5583a5a 100644
--- a/lib/efl/ecore.rb
+++ b/lib/efl/ecore.rb
@@ -8,12 +8,17 @@ module EFL
#
extend FFI::Library
#
+ callback:ecore_select_function, [ :int, :pointer, :pointer, :pointer, :pointer], :int
+ #
ffi_lib 'ecore'
functions = [
[ :ecore_init, [ ], :int ],
[ :ecore_shutdown, [], :int ],
+ [ :ecore_main_loop_iterate, [], :void],
[ :ecore_main_loop_begin, [], :void],
[ :ecore_main_loop_quit, [], :void],
+ [ :ecore_main_loop_select_func_set, [], :void], # TODO spec
+ [ :ecore_main_loop_select_func_get, [], :void], # TODO spec
].each do |func|
begin
attach_function *func
@@ -25,8 +30,11 @@ module EFL
class << self
alias init ecore_init
alias shutdown ecore_shutdown
+ alias main_loop_iterate ecore_main_loop_iterate
alias main_loop_begin ecore_main_loop_begin
alias main_loop_quit ecore_main_loop_quit
+ alias main_loop_select_func_set ecore_main_loop_select_func_set
+ alias main_loop_select_func_get ecore_main_loop_select_func_get
end
#
end
diff --git a/spec/ecore_spec.rb b/spec/ecore_spec.rb
index a2ae2fd..e1260fc 100644
--- a/spec/ecore_spec.rb
+++ b/spec/ecore_spec.rb
@@ -19,4 +19,9 @@ describe EFL::ECORE do
ECORE.shutdown.should eql 0
end
#
+ it "should run a single iteration of the mainloop" do
+ ECORE.init.should eql 1
+ ECORE.main_loop_iterate
+ ECORE.shutdown.should eql 0
+ end
end