[Galago-commits] r2451 - in trunk/libnotify: . libnotify
galago-commits at freedesktop.org
galago-commits at freedesktop.org
Fri Jan 20 01:39:26 PST 2006
Author: chipx86
Date: 2006-01-20 01:39:25 -0800 (Fri, 20 Jan 2006)
New Revision: 2451
Modified:
trunk/libnotify/ChangeLog
trunk/libnotify/libnotify/notification.c
trunk/libnotify/libnotify/notification.h
trunk/libnotify/libnotify/notify.c
Log:
- Clean up a lot of the API. Several functions returned gboolean when there was very little point in doing so.
- Add assertions to all the functions.
- Remove the notify_notification_{set,get}_user_data() functions. These are useless, since this is a GObject, and we get it for free.
Modified: trunk/libnotify/ChangeLog
===================================================================
--- trunk/libnotify/ChangeLog 2006-01-20 08:22:59 UTC (rev 2450)
+++ trunk/libnotify/ChangeLog 2006-01-20 09:39:25 UTC (rev 2451)
@@ -1,3 +1,14 @@
+Fri Jan 20 01:37:42 PST 2006 Christian Hammond <chipx86 at chipx86.com>
+
+ * libnotify/notification.c:
+ * libnotify/notification.h:
+ * libnotify/notify.c:
+ - Clean up a lot of the API. Several functions returned gboolean when
+ there was very little point in doing so.
+ - Add assertions to all the functions.
+ - Remove the notify_notification_{set,get}_user_data() functions. These
+ are useless, since this is a GObject, and we get it for free.
+
Thu Jan 19 22:07:41 PST 2006 Christian Hammond <chipx86 at chipx86.com>
A libnotify/internal.h:
Modified: trunk/libnotify/libnotify/notification.c
===================================================================
--- trunk/libnotify/libnotify/notification.c 2006-01-20 08:22:59 UTC (rev 2450)
+++ trunk/libnotify/libnotify/notification.c 2006-01-20 09:39:25 UTC (rev 2451)
@@ -41,7 +41,7 @@
{
guint32 id;
gchar *summary;
- gchar *message;
+ gchar *body;
/* NULL to use icon data anything else to have server lookup icon */
gchar *icon_name;
@@ -61,9 +61,6 @@
gint widget_old_x;
gint widget_old_y;
- gpointer user_data;
- GDestroyNotify user_data_free_func;
-
gboolean updates_pending;
DBusGProxy *proxy;
@@ -71,7 +68,7 @@
typedef enum
{
- SIGNAL_TYPE_CLOSED,
+ SIGNAL_CLOSED,
LAST_SIGNAL
} NotifyNotificationSignalType;
@@ -82,45 +79,22 @@
} NotifyNotificationSignal;
-static guint notify_notification_signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = { 0 };
static GObjectClass *parent_class = NULL;
-GType
-notify_notification_get_type()
-{
- static GType type = 0;
+G_DEFINE_TYPE(NotifyNotification, notify_notification, G_TYPE_OBJECT);
- if (type == 0)
- {
- static const GTypeInfo our_info = {
- sizeof(NotifyNotificationClass),
- NULL,
- NULL,
- (GClassInitFunc) notify_notification_class_init,
- NULL,
- NULL,
- sizeof(NotifyNotification),
- 0,
- (GInstanceInitFunc) notify_notification_init,
- };
-
- type = g_type_register_static(G_TYPE_OBJECT,
- "NotifyNotification", &our_info, 0);
- }
-
- return type;
-}
-
static void
notify_notification_class_init(NotifyNotificationClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent(klass);
+
object_class->finalize = notify_notification_finalize;
/* Create signals here: */
- notify_notification_signals[SIGNAL_TYPE_CLOSED] =
+ signals[SIGNAL_CLOSED] =
g_signal_new("closed",
G_TYPE_FROM_CLASS(object_class),
G_SIGNAL_RUN_FIRST,
@@ -148,7 +122,7 @@
obj->priv->id = 0;
obj->priv->summary = NULL;
- obj->priv->message = NULL;
+ obj->priv->body = NULL;
obj->priv->icon_name = NULL;
obj->priv->timeout = NOTIFY_TIMEOUT_DEFAULT;
obj->priv->actions = NULL;
@@ -160,8 +134,6 @@
g_free, NULL);
obj->priv->attached_widget = NULL;
- obj->priv->user_data = NULL;
- obj->priv->user_data_free_func = NULL;
obj->priv->updates_pending = FALSE;
@@ -178,7 +150,7 @@
NotifyNotificationPrivate *priv = obj->priv;
g_free(priv->summary);
- g_free(priv->message);
+ g_free(priv->body);
g_free(priv->icon_name);
if (priv->actions != NULL)
@@ -196,9 +168,6 @@
if (priv->attached_widget != NULL)
g_object_unref(G_OBJECT(priv->attached_widget));
- if (priv->user_data_free_func != NULL)
- priv->user_data_free_func(priv->user_data);
-
dbus_g_proxy_disconnect_signal(priv->proxy, "NotificationClosed",
G_CALLBACK(_close_signal_handler),
object);
@@ -208,6 +177,7 @@
object);
g_free(obj->priv);
+
G_OBJECT_CLASS(parent_class)->finalize(object);
}
@@ -302,20 +272,24 @@
}
NotifyNotification *
-notify_notification_new(const gchar *summary, const gchar *message,
+notify_notification_new(const gchar *summary, const gchar *body,
const gchar *icon, GtkWidget *attach)
{
NotifyNotification *obj;
- g_assert(summary != NULL);
- g_assert(message != NULL);
+ g_return_val_if_fail(summary != NULL && *summary != '\0', NULL);
+ g_return_val_if_fail(attach == NULL || GTK_IS_WIDGET(attach), NULL);
obj = NOTIFY_NOTIFICATION(g_object_new(NOTIFY_TYPE_NOTIFICATION, NULL));
obj->priv->summary = g_strdup(summary);
- obj->priv->message = g_strdup(message);
- obj->priv->icon_name = g_strdup(icon);
+ if (body != NULL && *body != '\0')
+ obj->priv->body = g_strdup(body);
+
+ if (icon != NULL && *icon != '\0')
+ obj->priv->icon_name = g_strdup(icon);
+
if (attach != NULL)
{
g_object_ref(G_OBJECT(attach));
@@ -327,22 +301,27 @@
gboolean
notify_notification_update(NotifyNotification *notification,
- const gchar *summary,
- const gchar *message, const gchar *icon)
+ const gchar *summary, const gchar *body,
+ const gchar *icon)
{
- NotifyNotificationPrivate *priv = notification->priv;
+ g_return_val_if_fail(notification != NULL, FALSE);
+ g_return_val_if_fail(NOTIFY_IS_NOTIFICATION(notification), FALSE);
+ g_return_val_if_fail(summary != NULL && *summary != '\0', FALSE);
- g_free(priv->summary);
- g_free(priv->message);
- g_free(priv->icon_name);
+ g_free(notification->priv->summary);
+ g_free(notification->priv->body);
+ g_free(notification->priv->icon_name);
- priv->summary = g_strdup(summary);
- priv->message = g_strdup(message);
- priv->icon_name = g_strdup(icon);
+ notification->priv->summary = g_strdup(summary);
- priv->updates_pending = TRUE;
+ if (body != NULL && *body != '\0')
+ notification->priv->body = g_strdup(body);
- /*TODO: return false on OOM */
+ if (icon != NULL && *icon != '\0')
+ notification->priv->icon_name = g_strdup(icon);
+
+ notification->priv->updates_pending = TRUE;
+
return TRUE;
}
@@ -350,84 +329,52 @@
notify_notification_attach_to_widget(NotifyNotification *notification,
GtkWidget *attach)
{
- NotifyNotificationPrivate *priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
- if (priv->attached_widget != NULL)
- g_object_unref(priv->attached_widget);
+ if (notification->priv->attached_widget != NULL)
+ g_object_unref(notification->priv->attached_widget);
- priv->attached_widget = (attach != NULL ? g_object_ref(attach) : NULL);
+ notification->priv->attached_widget =
+ (attach != NULL ? g_object_ref(attach) : NULL);
}
-gboolean
-notify_notification_set_user_data(NotifyNotification *notification,
- void *user_data, GFreeFunc free_func)
-{
- NotifyNotificationPrivate *priv = notification->priv;
-
- if (priv->user_data)
- {
- if (priv->user_data_free_func)
- priv->user_data_free_func(priv->user_data);
- }
-
- priv->user_data = user_data;
- priv->user_data_free_func = free_func;
-
- /* TODO: return FALSE on OOM */
- return TRUE;
-}
-
-gpointer
-notify_notification_get_user_data(NotifyNotification *notification)
-{
- return notification->priv->user_data;
-}
-
static void
_close_signal_handler(DBusGProxy *proxy, guint32 id,
NotifyNotification *notification)
{
- printf("Got the NotificationClosed signal (id = %i, "
- "notification->id = %i)\n",
- id, notification->priv->id);
-
if (id == notification->priv->id)
- {
- g_signal_emit(notification,
- notify_notification_signals[SIGNAL_TYPE_CLOSED], 0);
- }
+ g_signal_emit(notification, signals[SIGNAL_CLOSED], 0);
}
static void
-_action_signal_handler(DBusGProxy *proxy,
- guint32 id,
- gchar *action, NotifyNotification *notification)
+_action_signal_handler(DBusGProxy *proxy, guint32 id, gchar *action,
+ NotifyNotification *notification)
{
- g_assert(NOTIFY_IS_NOTIFICATION(notification));
+ NotifyActionCallback callback;
- if (id == notification->priv->id)
- {
- NotifyActionCallback callback;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
- callback = (NotifyActionCallback)g_hash_table_lookup(
- notification->priv->action_map, action);
+ if (id != notification->priv->id)
+ return;
- if (callback == NULL)
- g_warning("Recieved unknown action %s", action);
- else
- callback(notification, action);
- }
+ callback = (NotifyActionCallback)g_hash_table_lookup(
+ notification->priv->action_map, action);
+
+ if (callback == NULL)
+ g_warning("Recieved unknown action %s", action);
+ else
+ callback(notification, action);
}
static gchar **
_gslist_to_string_array(GSList *list)
{
GSList *l;
- GArray *a;
+ GArray *a = g_array_sized_new(TRUE, FALSE, sizeof(gchar *),
+ g_slist_length(list));
- a = g_array_sized_new(TRUE, FALSE, sizeof(gchar *),
- g_slist_length(list));
-
for (l = list; l != NULL; l = l->next)
g_array_append_val(a, l->data);
@@ -446,10 +393,8 @@
if (priv->proxy == NULL)
{
- DBusGConnection *bus;
+ DBusGConnection *bus = dbus_g_bus_get(DBUS_BUS_SESSION, &tmp_error);
- bus = dbus_g_bus_get(DBUS_BUS_SESSION, &tmp_error);
-
if (tmp_error != NULL)
{
g_propagate_error(error, tmp_error);
@@ -484,22 +429,8 @@
/* TODO: make this nonblocking */
- if (!ignore_reply)
+ if (ignore_reply)
{
- dbus_g_proxy_call(priv->proxy, "Notify", &tmp_error,
- G_TYPE_STRING, notify_get_app_name(),
- G_TYPE_STRING,
- (priv->icon_name != NULL) ? priv->icon_name : "",
- G_TYPE_UINT, priv->id, G_TYPE_STRING,
- priv->summary, G_TYPE_STRING, priv->message,
- G_TYPE_STRV, action_array,
- dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
- G_TYPE_VALUE), priv->hints,
- G_TYPE_INT, priv->timeout, G_TYPE_INVALID,
- G_TYPE_UINT, &priv->id, G_TYPE_INVALID);
- }
- else
- {
dbus_g_proxy_call_no_reply(priv->proxy, "Notify",
G_TYPE_STRING, notify_get_app_name(),
G_TYPE_STRING,
@@ -507,7 +438,7 @@
NULL) ? priv->icon_name : "",
G_TYPE_UINT, priv->id, G_TYPE_STRING,
priv->summary, G_TYPE_STRING,
- priv->message, G_TYPE_STRV,
+ priv->body, G_TYPE_STRV,
action_array,
dbus_g_type_get_map("GHashTable",
G_TYPE_STRING,
@@ -515,6 +446,20 @@
priv->hints, G_TYPE_INT, priv->timeout,
G_TYPE_INVALID);
}
+ else
+ {
+ dbus_g_proxy_call(priv->proxy, "Notify", &tmp_error,
+ G_TYPE_STRING, notify_get_app_name(),
+ G_TYPE_STRING,
+ (priv->icon_name != NULL) ? priv->icon_name : "",
+ G_TYPE_UINT, priv->id, G_TYPE_STRING,
+ priv->summary, G_TYPE_STRING, priv->body,
+ G_TYPE_STRV, action_array,
+ dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
+ G_TYPE_VALUE), priv->hints,
+ G_TYPE_INT, priv->timeout, G_TYPE_INVALID,
+ G_TYPE_UINT, &priv->id, G_TYPE_INVALID);
+ }
/* Don't free the elements because they are owned by priv->actions */
g_free(action_array);
@@ -531,6 +476,10 @@
gboolean
notify_notification_show(NotifyNotification *notification, GError **error)
{
+ g_return_val_if_fail(notification != NULL, FALSE);
+ g_return_val_if_fail(NOTIFY_IS_NOTIFICATION(notification), FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
+
return _notify_notification_show_internal(notification, error, FALSE);
}
@@ -538,9 +487,14 @@
notify_notification_show_and_forget(NotifyNotification *notification,
GError **error)
{
- gboolean result =
- _notify_notification_show_internal(notification, error, TRUE);
+ gboolean result;
+ g_return_val_if_fail(notification != NULL, FALSE);
+ g_return_val_if_fail(NOTIFY_IS_NOTIFICATION(notification), FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
+
+ result = _notify_notification_show_internal(notification, error, TRUE);
+
g_object_unref(G_OBJECT(notification));
return result;
@@ -550,23 +504,30 @@
notify_notification_set_timeout(NotifyNotification *notification,
gint timeout)
{
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+
notification->priv->timeout = timeout;
}
-gboolean
+void
notify_notification_set_category(NotifyNotification *notification,
const char *category)
{
- return notify_notification_set_hint_string(notification,
- "category", category);
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+
+ notify_notification_set_hint_string(notification, "category", category);
}
-gboolean
+void
notify_notification_set_urgency(NotifyNotification *notification,
NotifyUrgency l)
{
- return notify_notification_set_hint_byte(notification,
- "urgency", (guchar)l);
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+
+ notify_notification_set_hint_byte(notification, "urgency", (guchar)l);
}
static gboolean
@@ -625,30 +586,28 @@
return TRUE;
}
-gboolean
+void
notify_notification_set_icon_from_pixbuf(NotifyNotification *notification,
GdkPixbuf *icon)
{
gint width;
gint height;
gint rowstride;
- gboolean alpha;
gint bits_per_sample;
gint n_channels;
guchar *image;
gsize image_len;
GValueArray *image_struct;
GValue *value;
- NotifyNotificationPrivate *priv;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
width = gdk_pixbuf_get_width(icon);
height = gdk_pixbuf_get_height(icon);
rowstride = gdk_pixbuf_get_rowstride(icon);
n_channels = gdk_pixbuf_get_n_channels(icon);
bits_per_sample = gdk_pixbuf_get_bits_per_sample(icon);
- alpha = gdk_pixbuf_get_has_alpha(icon);
image_len = (height - 1) * rowstride + width *
((n_channels * bits_per_sample + 7) / 8);
@@ -662,7 +621,7 @@
_gvalue_array_append_int(image_struct, width);
_gvalue_array_append_int(image_struct, height);
_gvalue_array_append_int(image_struct, rowstride);
- _gvalue_array_append_bool(image_struct, alpha);
+ _gvalue_array_append_bool(image_struct, gdk_pixbuf_get_has_alpha(icon));
_gvalue_array_append_int(image_struct, bits_per_sample);
_gvalue_array_append_int(image_struct, n_channels);
_gvalue_array_append_byte_array(image_struct, image, image_len);
@@ -675,84 +634,80 @@
g_value_init(value, G_TYPE_VALUE_ARRAY);
g_value_set_boxed(value, image_struct);
- g_hash_table_insert(priv->hints, g_strdup("icon_data"), value);
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup("icon_data"), value);
- return TRUE;
+ return;
fail:
if (image_struct != NULL)
g_value_array_free(image_struct);
-
- return FALSE;
}
-gboolean
+void
notify_notification_set_hint_int32(NotifyNotification *notification,
const gchar *key, gint value)
{
- NotifyNotificationPrivate *priv;
GValue *hint_value;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
hint_value = g_new0(GValue, 1);
g_value_init(hint_value, G_TYPE_INT);
g_value_set_int(hint_value, value);
-
- g_hash_table_insert(priv->hints, g_strdup(key), hint_value);
-
- /* TODO: return FALSE on OOM */
- return TRUE;
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup(key), hint_value);
}
-gboolean
+void
notify_notification_set_hint_double(NotifyNotification *notification,
const gchar *key, gdouble value)
{
- NotifyNotificationPrivate *priv;
GValue *hint_value;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
hint_value = g_new0(GValue, 1);
g_value_init(hint_value, G_TYPE_FLOAT);
g_value_set_float(hint_value, value);
-
- g_hash_table_insert(priv->hints, g_strdup(key), hint_value);
-
- /* TODO: return FALSE on OOM */
- return TRUE;
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup(key), hint_value);
}
-gboolean
+void
notify_notification_set_hint_byte(NotifyNotification *notification,
const gchar *key, guchar value)
{
- NotifyNotificationPrivate *priv;
GValue *hint_value;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
hint_value = g_new0(GValue, 1);
g_value_init(hint_value, G_TYPE_UCHAR);
g_value_set_uchar(hint_value, value);
- g_hash_table_insert(priv->hints, g_strdup(key), hint_value);
-
- /* TODO: return FALSE on OOM */
- return TRUE;
+ g_hash_table_insert(notification->priv->hints, g_strdup(key), hint_value);
}
-gboolean
+void
notify_notification_set_hint_byte_array(NotifyNotification *notification,
const gchar *key,
const guchar *value, gsize len)
{
- NotifyNotificationPrivate *priv;
GValue *hint_value;
GArray *byte_array;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
+ g_return_if_fail(value != NULL);
+ g_return_if_fail(len > 0);
byte_array = g_array_sized_new(FALSE, FALSE, sizeof(guchar), len);
byte_array = g_array_append_vals(byte_array, value, len);
@@ -762,29 +717,25 @@
G_TYPE_UCHAR));
g_value_set_boxed_take_ownership(hint_value, byte_array);
- g_hash_table_insert(priv->hints, g_strdup(key), hint_value);
-
- /* TODO: return FALSE on OOM */
- return TRUE;
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup(key), hint_value);
}
-gboolean
+void
notify_notification_set_hint_string(NotifyNotification *notification,
const gchar *key, const gchar *value)
{
- NotifyNotificationPrivate *priv;
GValue *hint_value;
- priv = notification->priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
hint_value = g_new0(GValue, 1);
g_value_init(hint_value, G_TYPE_STRING);
g_value_set_string(hint_value, value);
-
- g_hash_table_insert(priv->hints, g_strdup(key), hint_value);
-
- /* TODO: return FALSE on OOM */
- return TRUE;
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup(key), hint_value);
}
static gboolean
@@ -796,6 +747,9 @@
void
notify_notification_clear_hints(NotifyNotification *notification)
{
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+
g_hash_table_foreach_remove(notification->priv->hints,
(GHRFunc)_remove_all, NULL);
}
@@ -803,6 +757,9 @@
void
notify_notification_clear_actions(NotifyNotification *notification)
{
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+
g_hash_table_foreach_remove(notification->priv->action_map,
(GHRFunc)_remove_all, NULL);
@@ -815,7 +772,7 @@
notification->priv->actions = NULL;
}
-gboolean
+void
notify_notification_add_action(NotifyNotification *notification,
const char *action,
const char *label,
@@ -823,14 +780,18 @@
{
NotifyNotificationPrivate *priv;
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(action != NULL && *action != '\0');
+ g_return_if_fail(label != NULL && *label != '\0');
+ g_return_if_fail(callback != NULL);
+
priv = notification->priv;
priv->actions = g_slist_append(priv->actions, g_strdup(action));
priv->actions = g_slist_append(priv->actions, g_strdup(label));
g_hash_table_insert(priv->action_map, g_strdup(action), callback);
-
- return FALSE;
}
gboolean
@@ -838,14 +799,14 @@
GError **error)
{
NotifyNotificationPrivate *priv;
- GError *tmp_error;
+ GError *tmp_error = NULL;
+ g_return_val_if_fail(notification != NULL, FALSE);
+ g_return_val_if_fail(NOTIFY_IS_NOTIFICATION(notification), FALSE);
g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
priv = notification->priv;
- tmp_error = NULL;
-
if (priv->proxy == NULL)
{
DBusGConnection *bus = dbus_g_bus_get(DBUS_BUS_SESSION, &tmp_error);
Modified: trunk/libnotify/libnotify/notification.h
===================================================================
--- trunk/libnotify/libnotify/notification.h 2006-01-20 08:22:59 UTC (rev 2450)
+++ trunk/libnotify/libnotify/notification.h 2006-01-20 09:39:25 UTC (rev 2451)
@@ -93,12 +93,6 @@
void notify_notification_attach_to_widget(NotifyNotification* notification,
GtkWidget *attach);
-gboolean notify_notification_set_user_data(NotifyNotification *notification,
- void *user_data,
- GFreeFunc free_func);
-
-gpointer notify_notification_get_user_data(NotifyNotification *notification);
-
gboolean notify_notification_show(NotifyNotification *notification,
GError **error);
@@ -108,40 +102,37 @@
void notify_notification_set_timeout(NotifyNotification *notification,
gint timeout);
-gboolean notify_notification_set_category(NotifyNotification *notification,
- const char *category);
+void notify_notification_set_category(NotifyNotification *notification,
+ const char *category);
-gboolean notify_notification_set_urgency(NotifyNotification *notification,
- NotifyUrgency l);
+void notify_notification_set_urgency(NotifyNotification *notification,
+ NotifyUrgency l);
-gboolean notify_notification_set_icon_from_pixbuf(
+void notify_notification_set_icon_from_pixbuf(
NotifyNotification *notification, GdkPixbuf *icon);
-gboolean notify_notification_set_hint_int32(NotifyNotification *notification,
- const gchar *key, gint value);
+void notify_notification_set_hint_int32(NotifyNotification *notification,
+ const gchar *key, gint value);
-gboolean notify_notification_set_hint_double(NotifyNotification *notification,
- const gchar *key,
- gdouble value);
+void notify_notification_set_hint_double(NotifyNotification *notification,
+ const gchar *key, gdouble value);
-gboolean notify_notification_set_hint_string(NotifyNotification *notification,
- const gchar *key,
- const gchar *value);
+void notify_notification_set_hint_string(NotifyNotification *notification,
+ const gchar *key,
+ const gchar *value);
-gboolean notify_notification_set_hint_byte(NotifyNotification *notification,
- const gchar *key,
- guchar value);
+void notify_notification_set_hint_byte(NotifyNotification *notification,
+ const gchar *key, guchar value);
-gboolean notify_notification_set_hint_byte_array(
- NotifyNotification *notification, const gchar *key,
- const guchar *value, gsize len);
+void notify_notification_set_hint_byte_array(NotifyNotification *notification,
+ const gchar *key,
+ const guchar *value, gsize len);
void notify_notification_clear_hints(NotifyNotification *notification);
-gboolean notify_notification_add_action(NotifyNotification *notification,
- const char *action,
- const char *label,
- NotifyActionCallback callback);
+void notify_notification_add_action(NotifyNotification *notification,
+ const char *action, const char *label,
+ NotifyActionCallback callback);
void notify_notification_clear_actions(NotifyNotification *notification);
gboolean notify_notification_close(NotifyNotification *notification,
Modified: trunk/libnotify/libnotify/notify.c
===================================================================
--- trunk/libnotify/libnotify/notify.c 2006-01-20 08:22:59 UTC (rev 2450)
+++ trunk/libnotify/libnotify/notify.c 2006-01-20 09:39:25 UTC (rev 2451)
@@ -75,6 +75,7 @@
_app_name = g_strdup(app_name);
g_type_init();
+ dbus_g_type_specialized_init();
#ifdef HAVE_ATEXIT
atexit(notify_uninit);
@@ -172,20 +173,33 @@
{
GError *error = NULL;
DBusGProxy *proxy = get_proxy();
+ char *name, *vendor, *version, *spec_version;
g_return_val_if_fail(proxy != NULL, FALSE);
if (!dbus_g_proxy_call(proxy, "GetServerInformation", &error,
G_TYPE_INVALID,
- G_TYPE_STRING, ret_name,
- G_TYPE_STRING, ret_vendor,
- G_TYPE_STRING, ret_version,
- G_TYPE_STRING, ret_spec_version,
+ G_TYPE_STRING, &name,
+ G_TYPE_STRING, &vendor,
+ G_TYPE_STRING, &version,
+ G_TYPE_STRING, &spec_version,
G_TYPE_INVALID))
{
g_message("GetServerInformation call failed: %s", error->message);
return FALSE;
}
+ if (ret_name != NULL)
+ *ret_name = name;
+
+ if (ret_vendor != NULL)
+ *ret_vendor = vendor;
+
+ if (ret_version != NULL)
+ *ret_version = version;
+
+ if (spec_version != NULL)
+ *ret_spec_version = spec_version;
+
return TRUE;
}
More information about the galago-commits
mailing list