summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/efl/native/efreet_menu.rb61
-rwxr-xr-xtools/extract-api.sh1
-rwxr-xr-xtools/genruby.rb1
3 files changed, 63 insertions, 0 deletions
diff --git a/lib/efl/native/efreet_menu.rb b/lib/efl/native/efreet_menu.rb
new file mode 100644
index 0000000..3ac66f0
--- /dev/null
+++ b/lib/efl/native/efreet_menu.rb
@@ -0,0 +1,61 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/native'
+require 'efl/native/efreet_desktop'
+#
+module Efl
+ #
+ module Efreet
+ #
+ FCT_PREFIX = 'efreet_menu_' unless const_defined? :FCT_PREFIX
+ #
+ def self.method_missing meth, *args, &block
+ sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
+ self.send sym, *args, &block
+ end
+ #
+ end
+ #
+ module Native
+ #
+ ffi_lib 'efreet'
+ #
+ # ENUMS
+ # typedef enum Efreet_Menu_Entry_Type {...} Efreet_Menu_Entry_Type;
+ enum :efreet_menu_entry_type, [ :efreet_menu_entry_menu, :efreet_menu_entry_desktop, :efreet_menu_entry_separator, :efreet_menu_entry_header ]
+ #
+ # TYPEDEFS
+ # typedef struct Efreet_Menu Efreet_Menu;
+ typedef :pointer, :efreet_menu
+ #
+ # FUNCTIONS
+ fcts = [
+ # EAPI int efreet_menu_kde_legacy_init(void);
+ [ :efreet_menu_kde_legacy_init, [ ], :int ],
+ # EAPI Efreet_Menu *efreet_menu_new(const char *name);
+ [ :efreet_menu_new, [ :string ], :efreet_menu ],
+ # EAPI void efreet_menu_file_set(const char *file);
+ [ :efreet_menu_file_set, [ :string ], :void ],
+ # EAPI Efreet_Menu *efreet_menu_get(void);
+ [ :efreet_menu_get, [ ], :efreet_menu ],
+ # EAPI Efreet_Menu *efreet_menu_parse(const char *path);
+ [ :efreet_menu_parse, [ :string ], :efreet_menu ],
+ # EAPI int efreet_menu_save(Efreet_Menu *menu, const char *path);
+ [ :efreet_menu_save, [ :efreet_menu, :string ], :int ],
+ # EAPI void efreet_menu_free(Efreet_Menu *menu);
+ [ :efreet_menu_free, [ :efreet_menu ], :void ],
+ # EAPI int efreet_menu_desktop_insert(Efreet_Menu *menu, Efreet_Desktop *desktop, int pos);
+ [ :efreet_menu_desktop_insert, [ :efreet_menu, :efreet_desktop, :int ], :int ],
+ # EAPI int efreet_menu_desktop_remove(Efreet_Menu *menu, Efreet_Desktop *desktop);
+ [ :efreet_menu_desktop_remove, [ :efreet_menu, :efreet_desktop ], :int ],
+ # EAPI void efreet_menu_dump(Efreet_Menu *menu, const char *indent);
+ [ :efreet_menu_dump, [ :efreet_menu, :string ], :void ],
+ ]
+ #
+ attach_fcts fcts
+ #
+ end
+end
+#
+# EOF
diff --git a/tools/extract-api.sh b/tools/extract-api.sh
index b2866fd..7f667da 100755
--- a/tools/extract-api.sh
+++ b/tools/extract-api.sh
@@ -50,6 +50,7 @@ for header in \
"${INCLUDE}/efreet-1/efreet_base.h" \
"${INCLUDE}/efreet-1/efreet_icon.h" \
"${INCLUDE}/efreet-1/efreet_desktop.h" \
+ "${INCLUDE}/efreet-1/efreet_menu.h" \
"${INCLUDE}/ethumb-1/Ethumb.h" \
"${INCLUDE}/ethumb-1/Ethumb_Client.h" \
"${INCLUDE}/ethumb-1/Ethumb_Plugin.h" \
diff --git a/tools/genruby.rb b/tools/genruby.rb
index 87c9dd1..cded3a2 100755
--- a/tools/genruby.rb
+++ b/tools/genruby.rb
@@ -297,6 +297,7 @@ libs << efl_h('efreet','Efreet.h','Efreet')
libs << efl_h('efreet','efreet_base.h','Efreet',nil,nil,["#{NATIVE}/eina_list"])
libs << efl_h('efreet','efreet_icon.h','Efreet','efreet_icon',nil,["#{NATIVE}/eina_list"])
libs << efl_h('efreet','efreet_desktop.h','Efreet','efreet_desktop',nil,["#{NATIVE}/eina_list"])
+libs << efl_h('efreet','efreet_menu.h','Efreet','efreet_menu',nil,["#{NATIVE}/efreet_desktop"])
libs << efl_h('ethumb','Ethumb.h','Ethumb')
libs << efl_h('ethumb_client','Ethumb_Client.h','EthumbClient',nil,nil,["#{NATIVE}/ethumb"])
libs << efl_h('ethumb','Ethumb_Plugin.h','EthumbPlugin',nil,nil,["#{NATIVE}/evas","#{NATIVE}/ecore_evas","#{NATIVE}/ethumb"])