summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2010-04-29 16:36:59 -0400
committerDavid Zeuthen <davidz@redhat.com>2010-04-29 16:36:59 -0400
commit9350b756326a99d230a6a7824958862a6eaf1416 (patch)
tree73b5e4b0898f9a5e6f16b0a1ced381a0bafcafc2
parentc14e7c006fb09560c65635d6990e50c01e5dc582 (diff)
Ensure return_if_fail guards for GDBusProxy
-rw-r--r--gdbus/gdbusproxy.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/gdbus/gdbusproxy.c b/gdbus/gdbusproxy.c
index 2f1ddb4..ccac405 100644
--- a/gdbus/gdbusproxy.c
+++ b/gdbus/gdbusproxy.c
@@ -26,6 +26,7 @@
#include <glib/gi18n.h>
#include <gobject/gvaluecollector.h>
+#include "gdbusutils.h"
#include "gdbusproxy.h"
#include "gdbusenumtypes.h"
#include "gdbusconnection.h"
@@ -438,6 +439,7 @@ g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy,
const gchar *key;
g_return_val_if_fail (G_IS_DBUS_PROXY (proxy), NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
names = NULL;
@@ -911,11 +913,10 @@ g_dbus_proxy_new (GDBusConnection *connection,
{
g_return_if_fail (G_IS_DBUS_CONNECTION (connection));
g_return_if_fail (g_type_is_a (object_type, G_TYPE_DBUS_PROXY));
- /* TODO: check that unique_bus_name is unique */
- //g_return_if_fail ((g_dbus_connection_get_bus_type (connection) == G_BUS_TYPE_NONE && unique_bus_name == NULL) ||
- // (g_dbus_connection_get_bus_type (connection) != G_BUS_TYPE_NONE || unique_bus_name != NULL));
- g_return_if_fail (object_path != NULL);
- g_return_if_fail (interface_name);
+ g_return_if_fail ((unique_bus_name == NULL && g_dbus_connection_get_unique_name (connection) == NULL) ||
+ g_dbus_is_unique_name (unique_bus_name));
+ g_return_if_fail (g_variant_is_object_path (object_path));
+ g_return_if_fail (g_dbus_is_interface_name (interface_name));
g_async_initable_new_async (object_type,
G_PRIORITY_DEFAULT,
@@ -1004,11 +1005,10 @@ g_dbus_proxy_new_sync (GDBusConnection *connection,
g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL);
g_return_val_if_fail (g_type_is_a (object_type, G_TYPE_DBUS_PROXY), NULL);
- //g_return_val_if_fail ((g_dbus_connection_get_bus_type (connection) == G_BUS_TYPE_NONE && unique_bus_name == NULL) ||
- // (g_dbus_connection_get_bus_type (connection) != G_BUS_TYPE_NONE || unique_bus_name != NULL),
- // NULL);
- g_return_val_if_fail (object_path != NULL, NULL);
- g_return_val_if_fail (interface_name, NULL);
+ g_return_val_if_fail ((unique_bus_name == NULL && g_dbus_connection_get_unique_name (connection) == NULL) ||
+ g_dbus_is_unique_name (unique_bus_name), NULL);
+ g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
+ g_return_val_if_fail (g_dbus_is_interface_name (interface_name), NULL);
initable = g_initable_new (object_type,
cancellable,
@@ -1138,7 +1138,7 @@ g_dbus_proxy_set_default_timeout (GDBusProxy *proxy,
gint timeout_msec)
{
g_return_if_fail (G_IS_DBUS_PROXY (proxy));
- g_return_if_fail (timeout_msec >= -1);
+ g_return_if_fail (timeout_msec == -1 || timeout_msec >= 0);
/* TODO: locking? */
if (proxy->priv->timeout_msec != timeout_msec)
@@ -1353,7 +1353,9 @@ g_dbus_proxy_invoke_method (GDBusProxy *proxy,
const gchar *target_interface_name;
g_return_if_fail (G_IS_DBUS_PROXY (proxy));
- g_return_if_fail (method_name != NULL);
+ g_return_if_fail (g_dbus_is_member_name (method_name) || g_dbus_is_interface_name (method_name));
+ g_return_if_fail (parameters == NULL || g_variant_is_of_type (parameters, G_VARIANT_TYPE_TUPLE));
+ g_return_if_fail (timeout_msec == -1 || timeout_msec >= 0);
simple = g_simple_async_result_new (G_OBJECT (proxy),
callback,
@@ -1406,7 +1408,8 @@ g_dbus_proxy_invoke_method_finish (GDBusProxy *proxy,
const GDBusMethodInfo *expected_method_info;
g_return_val_if_fail (G_IS_DBUS_PROXY (proxy), NULL);
- g_return_val_if_fail (res != NULL, NULL);
+ g_return_val_if_fail (G_IS_ASYNC_RESULT (res), NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_dbus_proxy_invoke_method);
@@ -1481,7 +1484,10 @@ g_dbus_proxy_invoke_method_sync (GDBusProxy *proxy,
const char *target_interface_name;
g_return_val_if_fail (G_IS_DBUS_PROXY (proxy), NULL);
- g_return_val_if_fail (method_name != NULL, NULL);
+ g_return_val_if_fail (g_dbus_is_member_name (method_name) || g_dbus_is_interface_name (method_name), NULL);
+ g_return_val_if_fail (parameters == NULL || g_variant_is_of_type (parameters, G_VARIANT_TYPE_TUPLE), NULL);
+ g_return_val_if_fail (timeout_msec == -1 || timeout_msec >= 0, NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
was_split = maybe_split_method_name (method_name, &split_interface_name, &split_method_name);
target_method_name = was_split ? split_method_name : method_name;