diff options
author | David Zeuthen <davidz@redhat.com> | 2010-04-29 16:36:59 -0400 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2010-04-29 16:36:59 -0400 |
commit | 9350b756326a99d230a6a7824958862a6eaf1416 (patch) | |
tree | 73b5e4b0898f9a5e6f16b0a1ced381a0bafcafc2 | |
parent | c14e7c006fb09560c65635d6990e50c01e5dc582 (diff) |
Ensure return_if_fail guards for GDBusProxy
-rw-r--r-- | gdbus/gdbusproxy.c | 34 |
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; |