1 /* 2 * Copyright © 2013 Lars Uebernickel 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General 15 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 16 * 17 * Authors: Lars Uebernickel <lars@uebernic.de> 18 */ 19 20 #ifndef __G_NOTIFICATION_H__ 21 #define __G_NOTIFICATION_H__ 22 23 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) 24 #error "Only <gio/gio.h> can be included directly." 25 #endif 26 27 #include <gio/giotypes.h> 28 #include <gio/gioenums.h> 29 30 G_BEGIN_DECLS 31 32 #define G_TYPE_NOTIFICATION (g_notification_get_type ()) 33 #define G_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NOTIFICATION, GNotification)) 34 #define G_IS_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NOTIFICATION)) 35 36 GLIB_AVAILABLE_IN_2_40 37 GType g_notification_get_type (void) G_GNUC_CONST; 38 39 GLIB_AVAILABLE_IN_2_40 40 GNotification * g_notification_new (const gchar *title); 41 42 GLIB_AVAILABLE_IN_2_40 43 void g_notification_set_title (GNotification *notification, 44 const gchar *title); 45 46 GLIB_AVAILABLE_IN_2_40 47 void g_notification_set_body (GNotification *notification, 48 const gchar *body); 49 50 GLIB_AVAILABLE_IN_2_40 51 void g_notification_set_icon (GNotification *notification, 52 GIcon *icon); 53 54 GLIB_DEPRECATED_IN_2_42_FOR(g_notification_set_priority) 55 void g_notification_set_urgent (GNotification *notification, 56 gboolean urgent); 57 58 GLIB_AVAILABLE_IN_2_42 59 void g_notification_set_priority (GNotification *notification, 60 GNotificationPriority priority); 61 62 GLIB_AVAILABLE_IN_2_40 63 void g_notification_add_button (GNotification *notification, 64 const gchar *label, 65 const gchar *detailed_action); 66 67 GLIB_AVAILABLE_IN_2_40 68 void g_notification_add_button_with_target (GNotification *notification, 69 const gchar *label, 70 const gchar *action, 71 const gchar *target_format, 72 ...); 73 74 GLIB_AVAILABLE_IN_2_40 75 void g_notification_add_button_with_target_value (GNotification *notification, 76 const gchar *label, 77 const gchar *action, 78 GVariant *target); 79 80 GLIB_AVAILABLE_IN_2_40 81 void g_notification_set_default_action (GNotification *notification, 82 const gchar *detailed_action); 83 84 GLIB_AVAILABLE_IN_2_40 85 void g_notification_set_default_action_and_target (GNotification *notification, 86 const gchar *action, 87 const gchar *target_format, 88 ...); 89 90 GLIB_AVAILABLE_IN_2_40 91 void g_notification_set_default_action_and_target_value (GNotification *notification, 92 const gchar *action, 93 GVariant *target); 94 95 G_END_DECLS 96 97 #endif 98