00001 #ifndef E_NOTIFICATION_DAEMON_H
00002 #define E_NOTIFICATION_DAEMON_H
00003
00004 #define E_NOTIFICATION_DAEMON_VERSION "0.9"
00005 #define E_NOTIFICATION_DAEMON_SUPPORTS_SPEC_VERSION "1.2"
00006 #include <E_Notify.h>
00007
00008 #ifdef EAPI
00009 #undef EAPI
00010 #endif
00011 #ifdef _MSC_VER
00012 # ifdef BUILDING_DLL
00013 # define EAPI __declspec(dllexport)
00014 # else
00015 # define EAPI __declspec(dllimport)
00016 # endif
00017 #else
00018 # ifdef __GNUC__
00019 # if __GNUC__ >= 4
00020 # define EAPI __attribute__ ((visibility("default")))
00021 # else
00022 # define EAPI
00023 # endif
00024 # else
00025 # define EAPI
00026 # endif
00027 #endif
00028
00029
00030 typedef struct E_Notification_Daemon E_Notification_Daemon;
00031
00032
00033 typedef int (*E_Notification_Daemon_Callback_Notify) (E_Notification_Daemon *daemon, E_Notification *notification);
00034 typedef void (*E_Notification_Daemon_Callback_Close_Notification) (E_Notification_Daemon *daemon, unsigned int notification_id);
00035
00036
00037 typedef struct E_Notification_View E_Notification_View;
00038
00039 struct E_Notification_Daemon
00040 {
00041 E_DBus_Connection *conn;
00042 E_DBus_Interface *iface;
00043 E_DBus_Object *obj;
00044
00045 char *name;
00046 char *vendor;
00047
00048 struct
00049 {
00050 E_Notification_Daemon_Callback_Notify notify;
00051 E_Notification_Daemon_Callback_Close_Notification close_notification;
00052 } func;
00053 void *data;
00054
00055 int state;
00056 };
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00062 EAPI int e_notification_daemon_init(void);
00063 EAPI int e_notification_daemon_shutdown(void);
00064
00065
00066 EAPI E_Notification_Daemon *e_notification_daemon_add(const char *name, const char *vendor);
00067 EAPI void e_notification_daemon_free(E_Notification_Daemon *d);
00068
00069
00070
00071
00072
00073
00074
00075 EAPI void e_notification_daemon_data_set(E_Notification_Daemon *daemon, void *data);
00076 EAPI void *e_notification_daemon_data_get(E_Notification_Daemon *daemon);
00077
00078 EAPI void e_notification_daemon_callback_notify_set(E_Notification_Daemon *daemon, E_Notification_Daemon_Callback_Notify func);
00079 EAPI void e_notification_daemon_callback_close_notification_set(E_Notification_Daemon *daemon, E_Notification_Daemon_Callback_Close_Notification func);
00080
00081 EAPI void e_notification_daemon_signal_notification_closed(E_Notification_Daemon *daemon, unsigned int id, E_Notification_Closed_Reason reason);
00082 EAPI void e_notification_daemon_signal_action_invoked(E_Notification_Daemon *daemon, unsigned int notification_id, const char *action_id);
00083
00084
00085
00086
00087
00088
00089
00090
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094
00095 #endif