]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-notify-manager.h
Merge branch 'gnome-3-6'
[empathy.git] / libempathy-gtk / empathy-notify-manager.h
index ff62a872a484ad44d3c2bedc30cf115d2c03c1d5..923ab4a54a80188cff0e4eea3c769268cbb1fbcf 100644 (file)
 
 #include <glib-object.h>
 
+#include <libempathy/empathy-contact.h>
+
+#include <libnotify/notification.h>
+
 G_BEGIN_DECLS
 
 #define EMPATHY_NOTIFY_MANAGER_CAP_ACTIONS             "actions"
@@ -30,16 +34,33 @@ G_BEGIN_DECLS
 #define EMPATHY_NOTIFY_MANAGER_CAP_BODY_HYPERLINKS     "body-hyperlinks"
 #define EMPATHY_NOTIFY_MANAGER_CAP_BODY_IMAGES         "body-images"
 #define EMPATHY_NOTIFY_MANAGER_CAP_BODY_MARKUP         "body-markup"
+#define EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY            "category"
 #define EMPATHY_NOTIFY_MANAGER_CAP_ICON_MULTI          "icon-multi"
 #define EMPATHY_NOTIFY_MANAGER_CAP_ICON_STATIC         "icon-static"
 #define EMPATHY_NOTIFY_MANAGER_CAP_IMAGE_SVG_XML       "image/svg+xml"
 #define EMPATHY_NOTIFY_MANAGER_CAP_SOUND                "sound"
+#define EMPATHY_NOTIFY_MANAGER_CAP_DESKTOP_ENTRY       "desktop-entry"
 /* notify-osd specific */
 #define EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND              "x-canonical-append"
 #define EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_PRIVATE_ICON_ONLY   "x-canonical-private-icon-only"
 #define EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_PRIVATE_SYNCHRONOUS "x-canonical-private-synchronous"
 #define EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_TRUNCATION          "x-canonical-truncation"
 
+/* Categories associated with EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY.
+ * Uses x-empathy as prefix for unofficial categories. See
+ * http://www.galago-project.org/specs/notification/0.9/x211.html */
+#define EMPATHY_NOTIFICATION_CATEGORY_CHAT             "im.received"
+#define EMPATHY_NOTIFICATION_CATEGORY_PRESENCE_ONLINE  "presence.online"
+#define EMPATHY_NOTIFICATION_CATEGORY_PRESENCE_OFFLINE "presence.offline"
+/* Yes, these two are the same. */
+#define EMPATHY_NOTIFICATION_CATEGORY_VOIP             "x-empathy.call.incoming"
+#define EMPATHY_NOTIFICATION_CATEGORY_CALL             "x-empathy.call.incoming"
+#define EMPATHY_NOTIFICATION_CATEGORY_TRANSFER         "x-empathy.transfer.incoming"
+#define EMPATHY_NOTIFICATION_CATEGORY_INVITATION       "x-empathy.im.room-invitation"
+#define EMPATHY_NOTIFICATION_CATEGORY_AUTH             "x-empathy.network.auth-request"
+#define EMPATHY_NOTIFICATION_CATEGORY_SUBSCRIPTION     "x-empathy.im.subscription-request"
+#define EMPATHY_NOTIFICATION_CATEGORY_MENTIONED        "x-empathy.im.mentioned"
+
 #define EMPATHY_TYPE_NOTIFY_MANAGER         (empathy_notify_manager_get_type ())
 #define EMPATHY_NOTIFY_MANAGER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_NOTIFY_MANAGER, EmpathyNotifyManager))
 #define EMPATHY_NOTIFY_MANAGER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_NOTIFY_MANAGER, EmpathyNotifyManagerClass))
@@ -86,6 +107,11 @@ GdkPixbuf * empathy_notify_manager_get_pixbuf_for_notification (
     EmpathyContact *contact,
     const char *icon_name);
 
+NotifyNotification * empathy_notify_manager_create_notification (
+    const gchar *summary,
+    const char *body,
+    const gchar *icon);
+
 G_END_DECLS
 
 #endif /* __EMPATHY_NOTIFY_MANAGER_H__ */