From de318880f735a3553ed7cc64f0728f4fd750fad8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= <jeremy@asynk.ch>
Date: Thu, 3 Jan 2013 15:37:12 +0100
Subject: generate edbus enotify binding

---
 Changelog                 |   1 +
 lib/efl/native/enotify.rb | 159 ++++++++++++++++++++++++++++++++++++++++++++++
 tools/extract-api.sh      |   1 +
 tools/genruby.rb          |   1 +
 4 files changed, 162 insertions(+)
 create mode 100644 lib/efl/native/enotify.rb

diff --git a/Changelog b/Changelog
index a12d8e4..a864fe4 100644
--- a/Changelog
+++ b/Changelog
@@ -1,5 +1,6 @@
 2013-01-xx Jérémy Zurcher <jeremy@asynk.ch>
 	* add e_dbus native binding
+	* add enotify native binding
 
 2012-12-21 Jérémy Zurcher <jeremy@asynk.ch>
 	* release 0.0.16
diff --git a/lib/efl/native/enotify.rb b/lib/efl/native/enotify.rb
new file mode 100644
index 0000000..bbe3d80
--- /dev/null
+++ b/lib/efl/native/enotify.rb
@@ -0,0 +1,159 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/native'
+require 'efl/native/edbus'
+#
+module Efl
+    #
+    module Edbus
+        #
+        FCT_PREFIX = 'e_notification_' 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 'enotify'
+        #
+        # TYPEDEFS
+        # typedef struct E_Notification_Image E_Notification_Image;
+        typedef :pointer, :e_notification_image
+        # typedef struct E_Notification E_Notification;
+        typedef :pointer, :e_notification
+        # typedef struct E_Notification_Action E_Notification_Action;
+        typedef :pointer, :e_notification_action
+        # typedef struct E_Notification_Return_Notify E_Notification_Return_Notify;
+        typedef :pointer, :e_notification_return_notify
+        # typedef struct E_Notification_Return_Get_Capabilities E_Notification_Return_Get_Capabilities;
+        typedef :pointer, :e_notification_return_get_capabilities
+        # typedef struct E_Notification_Return_Get_Server_Information E_Notification_Return_Get_Server_Information;
+        typedef :pointer, :e_notification_return_get_server_information
+        # typedef struct E_Notification_Event_Action_Invoked E_Notification_Event_Action_Invoked;
+        typedef :pointer, :e_notification_event_action_invoked
+        # typedef struct E_Notification_Event_Notification_Closed E_Notification_Event_Notification_Closed;
+        typedef :pointer, :e_notification_event_notification_closed
+        #
+        # FUNCTIONS
+        fcts = [
+        # EAPI int e_notification_init(void);
+        [ :e_notification_init, [  ], :int ],
+        # EAPI int e_notification_shutdown(void);
+        [ :e_notification_shutdown, [  ], :int ],
+        # EAPI void e_notification_send(E_Notification *n, E_DBus_Callback_Func func, void *data);
+        [ :e_notification_send, [ :e_notification, :e_dbus_callback_func_cb, :pointer ], :void ],
+        # EAPI void e_notification_get_capabilities(E_DBus_Callback_Func func, void *data);
+        [ :e_notification_get_capabilities, [ :e_dbus_callback_func_cb, :pointer ], :void ],
+        # EAPI void e_notification_get_server_information(E_DBus_Callback_Func func, void *data);
+        [ :e_notification_get_server_information, [ :e_dbus_callback_func_cb, :pointer ], :void ],
+        # EAPI E_Notification *e_notification_new(void);
+        [ :e_notification_new, [  ], :e_notification ],
+        # EAPI void e_notification_ref(E_Notification *n);
+        [ :e_notification_ref, [ :e_notification ], :void ],
+        # EAPI void e_notification_unref(E_Notification *n);
+        [ :e_notification_unref, [ :e_notification ], :void ],
+        # EAPI void e_notification_free(E_Notification *n);
+        [ :e_notification_free, [ :e_notification ], :void ],
+        # EAPI E_Notification *e_notification_full_new(const char *app_name, unsigned int replaces_id, const char *app_icon, const char *summary, const char *body, int expire_timeout);
+        [ :e_notification_full_new, [ :string, :uint, :string, :string, :string, :int ], :e_notification ],
+        # EAPI void e_notification_id_set(E_Notification *note, unsigned int id);
+        [ :e_notification_id_set, [ :e_notification, :uint ], :void ],
+        # EAPI void e_notification_app_name_set(E_Notification *n, const char *app_name);
+        [ :e_notification_app_name_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_app_icon_set(E_Notification *n, const char *app_icon);
+        [ :e_notification_app_icon_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_summary_set(E_Notification *n, const char *summary);
+        [ :e_notification_summary_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_body_set(E_Notification *n, const char *body);
+        [ :e_notification_body_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_replaces_id_set(E_Notification *n, int replaces_id);
+        [ :e_notification_replaces_id_set, [ :e_notification, :int ], :void ],
+        # EAPI void e_notification_timeout_set(E_Notification *n, int timeout);
+        [ :e_notification_timeout_set, [ :e_notification, :int ], :void ],
+        # EAPI void e_notification_closed_set(E_Notification *note, unsigned char closed);
+        [ :e_notification_closed_set, [ :e_notification, :uchar ], :void ],
+        # EAPI unsigned int e_notification_id_get(E_Notification *note);
+        [ :e_notification_id_get, [ :e_notification ], :uint ],
+        # EAPI const char *e_notification_app_name_get(E_Notification *n);
+        [ :e_notification_app_name_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_app_icon_get(E_Notification *n);
+        [ :e_notification_app_icon_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_summary_get(E_Notification *n);
+        [ :e_notification_summary_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_body_get(E_Notification *n);
+        [ :e_notification_body_get, [ :e_notification ], :string ],
+        # EAPI int e_notification_replaces_id_get(E_Notification *note);
+        [ :e_notification_replaces_id_get, [ :e_notification ], :int ],
+        # EAPI int e_notification_timeout_get(E_Notification *note);
+        [ :e_notification_timeout_get, [ :e_notification ], :int ],
+        # EAPI unsigned char e_notification_closed_get(E_Notification *note);
+        [ :e_notification_closed_get, [ :e_notification ], :uchar ],
+        # EAPI void e_notification_action_add(E_Notification *n, const char *action_id, const char *action_name);
+        [ :e_notification_action_add, [ :e_notification, :string, :string ], :void ],
+        # EAPI Eina_List *e_notification_actions_get(E_Notification *n);
+        [ :e_notification_actions_get, [ :e_notification ], :eina_list ],
+        # EAPI const char *e_notification_action_id_get(E_Notification_Action *a);
+        [ :e_notification_action_id_get, [ :e_notification_action ], :string ],
+        # EAPI const char *e_notification_action_name_get(E_Notification_Action *a);
+        [ :e_notification_action_name_get, [ :e_notification_action ], :string ],
+        # EAPI void e_notification_hint_transient_set(E_Notification *n, Eina_Bool transient);
+        [ :e_notification_hint_transient_set, [ :e_notification, :bool ], :void ],
+        # EAPI void e_notification_hint_resident_set(E_Notification *n, Eina_Bool resident);
+        [ :e_notification_hint_resident_set, [ :e_notification, :bool ], :void ],
+        # EAPI void e_notification_hint_action_icons_set(E_Notification *n, Eina_Bool action_icons);
+        [ :e_notification_hint_action_icons_set, [ :e_notification, :bool ], :void ],
+        # EAPI void e_notification_hint_image_path_set(E_Notification *n, const char *path);
+        [ :e_notification_hint_image_path_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_hint_urgency_set(E_Notification *n, char urgency);
+        [ :e_notification_hint_urgency_set, [ :e_notification, :char ], :void ],
+        # EAPI void e_notification_hint_category_set(E_Notification *n, const char *category);
+        [ :e_notification_hint_category_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_hint_desktop_set(E_Notification *n, const char *desktop);
+        [ :e_notification_hint_desktop_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_hint_sound_file_set(E_Notification *n, const char *sound_file);
+        [ :e_notification_hint_sound_file_set, [ :e_notification, :string ], :void ],
+        # EAPI void e_notification_hint_suppress_sound_set(E_Notification *n, char suppress_sound);
+        [ :e_notification_hint_suppress_sound_set, [ :e_notification, :char ], :void ],
+        # EAPI void e_notification_hint_xy_set(E_Notification *n, int x, int y);
+        [ :e_notification_hint_xy_set, [ :e_notification, :int, :int ], :void ],
+        # EAPI void e_notification_hint_image_data_set(E_Notification *n, E_Notification_Image *image);
+        [ :e_notification_hint_image_data_set, [ :e_notification, :e_notification_image ], :void ],
+        # EAPI char e_notification_hint_urgency_get(E_Notification *n);
+        [ :e_notification_hint_urgency_get, [ :e_notification ], :char ],
+        # EAPI const char *e_notification_hint_category_get(E_Notification *n);
+        [ :e_notification_hint_category_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_hint_desktop_get(E_Notification *n);
+        [ :e_notification_hint_desktop_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_hint_sound_file_get(E_Notification *n);
+        [ :e_notification_hint_sound_file_get, [ :e_notification ], :string ],
+        # EAPI const char *e_notification_hint_image_path_get(E_Notification *n);
+        [ :e_notification_hint_image_path_get, [ :e_notification ], :string ],
+        # EAPI char e_notification_hint_suppress_sound_get(E_Notification *n);
+        [ :e_notification_hint_suppress_sound_get, [ :e_notification ], :char ],
+        # EAPI int e_notification_hint_xy_get(E_Notification *n, int *x, int *y);
+        [ :e_notification_hint_xy_get, [ :e_notification, :pointer, :pointer ], :int ],
+        # EAPI E_Notification_Image *e_notification_hint_image_data_get(E_Notification *n);
+        [ :e_notification_hint_image_data_get, [ :e_notification ], :e_notification_image ],
+        # EAPI E_Notification_Image *e_notification_hint_icon_data_get(E_Notification *n);
+        [ :e_notification_hint_icon_data_get, [ :e_notification ], :e_notification_image ],
+        # EAPI E_Notification_Image *e_notification_image_new(void);
+        [ :e_notification_image_new, [  ], :e_notification_image ],
+        # EAPI void e_notification_image_free(E_Notification_Image *img);
+        [ :e_notification_image_free, [ :e_notification_image ], :void ],
+        # EAPI Eina_Bool e_notification_image_init(E_Notification_Image *img, Evas_Object *obj);
+        [ :e_notification_image_init, [ :e_notification_image, :evas_object ], :bool ],
+        # EAPI Evas_Object *e_notification_image_evas_object_add(Evas *evas, E_Notification_Image *img);
+        [ :e_notification_image_evas_object_add, [ :evas, :e_notification_image ], :evas_object ],
+        ]
+        #
+        attach_fcts fcts
+        #
+    end
+end
+#
+# EOF
diff --git a/tools/extract-api.sh b/tools/extract-api.sh
index daa42ba..80dd7a7 100755
--- a/tools/extract-api.sh
+++ b/tools/extract-api.sh
@@ -57,6 +57,7 @@ for header in \
     "${INCLUDE}/efreet-1/Efreet_Mime.h" \
     "${INCLUDE}/efreet-1/Efreet_Trash.h" \
     "${INCLUDE}/e_dbus-1/E_DBus.h" \
+    "${INCLUDE}/e_dbus-1/E_Notify.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 e11edc1..8239615 100755
--- a/tools/genruby.rb
+++ b/tools/genruby.rb
@@ -305,6 +305,7 @@ libs << efl_h('efreet','efreet_utils.h','EfreetUtils','efreet_utils',nil,["#{NAT
 libs << efl_h('efreet_mime','Efreet_Mime.h','EfreetMime')
 libs << efl_h('efreet_trash','Efreet_Trash.h','EfreetTrash',nil,nil,["#{NATIVE}/eina_list","#{NATIVE}/efreet_uri"])
 libs << efl_h('edbus','E_DBus.h','Edbus',nil,'edbus.rb',["#{NATIVE}/eina_list"])
+libs << efl_h('enotify','E_Notify.h','Edbus','e_notification','enotify.rb',["#{NATIVE}/edbus"])
 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"])
-- 
cgit v1.1-2-g2b99