summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Hearn <mike@navi.cx>2004-09-25 09:54:53 +0000
committerMike Hearn <mike@navi.cx>2004-09-25 09:54:53 +0000
commit5918a785f4d4617e874bb72beb7c92cc106ce90c (patch)
treea748c914fa3d244ea17bc03be6c850a767313e86
parent79889fefe62fddfe26badfbacb780cd2a8678308 (diff)
downloadlibnotify-5918a785f4d4617e874bb72beb7c92cc106ce90c.tar.gz
The libnotify side of things. Test cases will be checked in later
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac1
-rw-r--r--libnotify/notify.c28
-rw-r--r--tools/Makefile.am5
-rw-r--r--tools/notify-send.c8
5 files changed, 21 insertions, 23 deletions
diff --git a/Makefile.am b/Makefile.am
index ca03c38..09b9cec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = libnotify tools
+SUBDIRS = libnotify tools tests
pcdata_DATA = libnotify.pc
pcdatadir = $(libdir)/pkgconfig
diff --git a/configure.ac b/configure.ac
index ba1f9bb..ec79808 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,7 @@ libnotify.pc
Makefile
libnotify/Makefile
tools/Makefile
+tests/Makefile
])
AC_OUTPUT
diff --git a/libnotify/notify.c b/libnotify/notify.c
index 4f54159..b1df772 100644
--- a/libnotify/notify.c
+++ b/libnotify/notify.c
@@ -302,9 +302,15 @@ _notify_connect(void)
}
dbus_bus_add_match(_dbus_conn,
- "type='signal',"
- "interface='" DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS "',"
- "sender='" DBUS_SERVICE_ORG_FREEDESKTOP_DBUS "'",
+ "type=signal,"
+ "interface=" DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS ","
+ "sender=" DBUS_SERVICE_ORG_FREEDESKTOP_DBUS ,
+ &error);
+
+ dbus_bus_add_match(_dbus_conn,
+ "type=signal,"
+ "interface=" NOTIFY_DBUS_CORE_INTERFACE ","
+ "path=" NOTIFY_DBUS_CORE_OBJECT ,
&error);
if (dbus_error_is_set(&error))
@@ -336,6 +342,7 @@ _notify_disconnect(void)
_filters_added = FALSE;
}
+ dbus_connection_flush(_dbus_conn);
dbus_connection_unref(_dbus_conn);
}
@@ -359,7 +366,7 @@ notify_init(const char *app_name)
_app_name = g_strdup(app_name);
- _handles = g_hash_table_new_full(g_direct_hash, g_int_equal,
+ _handles = g_hash_table_new_full(g_int_hash, g_int_equal,
NULL, (GFreeFunc)_notify_handle_destroy);
#ifdef HAVE_ATEXIT
@@ -374,11 +381,10 @@ notify_init(const char *app_name)
void
notify_uninit(void)
{
- g_return_if_fail(notify_is_initted());
_init_ref_count--;
- if (_init_ref_count > 0)
+ if (_init_ref_count != 0)
return;
if (_app_name != NULL)
@@ -416,7 +422,7 @@ notify_close(NotifyHandle *handle)
dbus_message_iter_append_uint32(&iter, handle->id);
- dbus_connection_send(_dbus_conn, message, NULL);
+ dbus_connection_send_with_reply_and_block(_dbus_conn, message, -1, NULL);
dbus_message_unref(message);
}
@@ -643,8 +649,6 @@ notify_send_notification_varg(NotifyHandle *replaces, NotifyUrgency urgency, con
dbus_message_iter_append_string(&array_iter, icon->uri);
}
- dbus_message_iter_append_nil(&iter); /* Sound */
-
/* Actions */
dbus_message_iter_append_dict(&iter, &dict_iter);
@@ -664,7 +668,7 @@ notify_send_notification_varg(NotifyHandle *replaces, NotifyUrgency urgency, con
dbus_message_iter_append_dict_key(&dict_iter, action->text);
dbus_message_iter_append_uint32(&dict_iter, action->id);
- g_hash_table_insert(table, GINT_TO_POINTER(action->id), action);
+ g_hash_table_insert(table, &action->id, action);
}
if (expires)
@@ -681,7 +685,7 @@ notify_send_notification_varg(NotifyHandle *replaces, NotifyUrgency urgency, con
if (dbus_error_is_set(&error))
{
- print_error("Error sending Notify: %s\n", error.message);
+ print_error("error sending notification: %s\n", error.message);
dbus_error_free(&error);
@@ -689,7 +693,7 @@ notify_send_notification_varg(NotifyHandle *replaces, NotifyUrgency urgency, con
return 0;
}
-
+
dbus_message_iter_init(reply, &iter);
id = dbus_message_iter_get_uint32(&iter);
diff --git a/tools/Makefile.am b/tools/Makefile.am
index a52ee30..7cba1c9 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,4 +1,4 @@
-bin_PROGRAMS = notify-send test-replace
+bin_PROGRAMS = notify-send
common_ldflags = \
$(top_builddir)/libnotify/libnotify.la \
@@ -8,7 +8,4 @@ common_ldflags = \
notify_send_SOURCES = notify-send.c
notify_send_LDADD = $(common_ldflags)
-test_replace_SOURCES = test-replace.c
-test_replace_LDADD = $(common_ldflags)
-
INCLUDES = $(PACKAGE_CFLAGS)
diff --git a/tools/notify-send.c b/tools/notify-send.c
index d12d89f..a0be7d6 100644
--- a/tools/notify-send.c
+++ b/tools/notify-send.c
@@ -121,13 +121,9 @@ main(int argc, const char **argv)
}
}
- if (!notify_init("notify-send"))
- {
- fprintf(stderr, "Unable to initialize libnotify\n");
- exit(1);
- }
+ if (!notify_init("notify-send")) exit(1);
- /* if the given time is < current time, treat it as a timeout in seconds (ie 5 seconds) */
+ /* if the given time is < current time, treat it as a timeout in seconds (ie 5 seconds) */
if (expire_time && expire_time < time(NULL)) expire_time += time(NULL);
notify_send_notification(NULL, urgency, summary, description, icon,