summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2010-04-29 16:44:41 -0400
committerDavid Zeuthen <davidz@redhat.com>2010-04-29 16:44:41 -0400
commitb32265a31ee47c66524f5a96ec5baa110e3fd011 (patch)
treeecf89141ed12b5d2210dc0e3144770d2436b6b94
parent9350b756326a99d230a6a7824958862a6eaf1416 (diff)
Ensure return_if_fail in g_bus_{own|watch}_name APIs
Also allow NULL for every conceivable kind of handler.
-rw-r--r--gdbus/gdbusnameowning.c23
-rw-r--r--gdbus/gdbusnamewatching.c13
2 files changed, 17 insertions, 19 deletions
diff --git a/gdbus/gdbusnameowning.c b/gdbus/gdbusnameowning.c
index e90037b..09bdaaf 100644
--- a/gdbus/gdbusnameowning.c
+++ b/gdbus/gdbusnameowning.c
@@ -26,6 +26,7 @@
#include <glib/gi18n.h>
+#include "gdbusutils.h"
#include "gdbusnameowning.h"
#include "gdbuserror.h"
#include "gdbusprivate.h"
@@ -450,8 +451,8 @@ connection_get_cb (GObject *source_object,
* @connection: A #GDBusConnection that is not closed.
* @name: The well-known name to own.
* @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
- * @name_acquired_handler: Handler to invoke when @name is acquired.
- * @name_lost_handler: Handler to invoke when @name is lost.
+ * @name_acquired_handler: Handler to invoke when @name is acquired or %NULL.
+ * @name_lost_handler: Handler to invoke when @name is lost or %NULL.
* @user_data: User data to pass to handlers.
* @user_data_free_func: Function for freeing @user_data or %NULL.
*
@@ -472,12 +473,9 @@ g_bus_own_name_on_connection (GDBusConnection *connection,
{
Client *client;
- g_return_val_if_fail (connection != NULL, 0);
+ g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), 0);
g_return_val_if_fail (!g_dbus_connection_is_closed (connection), 0);
- g_return_val_if_fail (name != NULL, 0);
- //g_return_val_if_fail (TODO_is_well_known_name (), 0);
- g_return_val_if_fail (name_acquired_handler != NULL, 0);
- g_return_val_if_fail (name_lost_handler != NULL, 0);
+ g_return_val_if_fail (g_dbus_is_name (name) && !g_dbus_is_unique_name (name), 0);
G_LOCK (lock);
@@ -517,8 +515,8 @@ g_bus_own_name_on_connection (GDBusConnection *connection,
* @name: The well-known name to own.
* @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
* @bus_acquired_handler: Handler to invoke when connected to the bus of type @bus_type or %NULL.
- * @name_acquired_handler: Handler to invoke when @name is acquired.
- * @name_lost_handler: Handler to invoke when @name is lost.
+ * @name_acquired_handler: Handler to invoke when @name is acquired or %NULL.
+ * @name_lost_handler: Handler to invoke when @name is lost or %NULL.
* @user_data: User data to pass to handlers.
* @user_data_free_func: Function for freeing @user_data or %NULL.
*
@@ -587,10 +585,7 @@ g_bus_own_name (GBusType bus_type,
Client *client;
g_return_val_if_fail (bus_type != G_BUS_TYPE_NONE, 0);
- g_return_val_if_fail (name != NULL, 0);
- //g_return_val_if_fail (TODO_is_well_known_name (), 0);
- g_return_val_if_fail (name_acquired_handler != NULL, 0);
- g_return_val_if_fail (name_lost_handler != NULL, 0);
+ g_return_val_if_fail (g_dbus_is_name (name) && !g_dbus_is_unique_name (name), 0);
G_LOCK (lock);
@@ -637,6 +632,8 @@ g_bus_unown_name (guint owner_id)
{
Client *client;
+ g_return_if_fail (owner_id > 0);
+
client = NULL;
G_LOCK (lock);
diff --git a/gdbus/gdbusnamewatching.c b/gdbus/gdbusnamewatching.c
index fe6cc41..cfd13ef 100644
--- a/gdbus/gdbusnamewatching.c
+++ b/gdbus/gdbusnamewatching.c
@@ -26,6 +26,7 @@
#include <glib/gi18n.h>
+#include "gdbusutils.h"
#include "gdbusnamewatching.h"
#include "gdbuserror.h"
#include "gdbusprivate.h"
@@ -493,11 +494,11 @@ connection_get_cb (GObject *source_object,
/**
* g_bus_watch_name:
- * @bus_type: The type of bus to watch a name on (can't be #G_BUS_TYPE_NONE).
+ * @bus_type: The type of bus to watch a name on.
* @name: The name (well-known or unique) to watch.
* @flags: Flags from the #GBusNameWatcherFlags enumeration.
- * @name_appeared_handler: Handler to invoke when @name is known to exist.
- * @name_vanished_handler: Handler to invoke when @name is known to not exist.
+ * @name_appeared_handler: Handler to invoke when @name is known to exist or %NULL.
+ * @name_vanished_handler: Handler to invoke when @name is known to not exist or %NULL.
* @user_data: User data to pass to handlers.
* @user_data_free_func: Function for freeing @user_data or %NULL.
*
@@ -546,9 +547,7 @@ g_bus_watch_name (GBusType bus_type,
Client *client;
g_return_val_if_fail (bus_type != G_BUS_TYPE_NONE, 0);
- g_return_val_if_fail (name != NULL, 0);
- g_return_val_if_fail (name_appeared_handler != NULL, 0);
- g_return_val_if_fail (name_vanished_handler != NULL, 0);
+ g_return_val_if_fail (g_dbus_is_name (name), 0);
G_LOCK (lock);
@@ -594,6 +593,8 @@ g_bus_unwatch_name (guint watcher_id)
{
Client *client;
+ g_return_if_fail (watcher_id > 0);
+
client = NULL;
G_LOCK (lock);