summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--telepathy-glib/connection-manager.c45
-rw-r--r--telepathy-glib/protocol-internal.h9
-rw-r--r--telepathy-glib/protocol.c111
-rw-r--r--telepathy-glib/protocol.h13
-rw-r--r--tests/dbus/cm.c585
-rw-r--r--tests/dbus/protocol-objects.c16
6 files changed, 398 insertions, 381 deletions
diff --git a/telepathy-glib/connection-manager.c b/telepathy-glib/connection-manager.c
index 0474afcff..110a4ab5b 100644
--- a/telepathy-glib/connection-manager.c
+++ b/telepathy-glib/connection-manager.c
@@ -153,17 +153,6 @@ enum
*
* Structure representing a connection manager parameter.
*
- * Since 0.19.1, accessing the fields of this struct is deprecated,
- * and they are no longer documented here.
- * Use the accessors tp_connection_manager_param_get_name(),
- * tp_connection_manager_param_get_dbus_signature(),
- * tp_connection_manager_param_is_required(),
- * tp_connection_manager_param_is_required_for_registration(),
- * tp_connection_manager_param_is_secret(),
- * tp_connection_manager_param_is_dbus_property(),
- * tp_connection_manager_param_get_default(),
- * tp_connection_manager_param_dup_default_variant() instead.
- *
* Since: 0.7.1
*/
@@ -224,23 +213,6 @@ G_DEFINE_TYPE (TpConnectionManager,
TP_TYPE_PROXY)
-static void
-_tp_connection_manager_param_copy_contents (
- const TpConnectionManagerParam *in,
- TpConnectionManagerParam *out)
-{
- out->name = g_strdup (in->name);
- out->dbus_signature = g_strdup (in->dbus_signature);
- out->flags = in->flags;
-
- if (G_IS_VALUE (&in->default_value))
- {
- g_value_init (&out->default_value, G_VALUE_TYPE (&in->default_value));
- g_value_copy (&in->default_value, &out->default_value);
- }
-}
-
-
/**
* tp_connection_manager_param_copy:
* @in: the #TpConnectionManagerParam to copy
@@ -257,12 +229,19 @@ tp_connection_manager_param_copy (const TpConnectionManagerParam *in)
{
TpConnectionManagerParam *out = g_slice_new0 (TpConnectionManagerParam);
- _tp_connection_manager_param_copy_contents (in, out);
+ out->name = g_strdup (in->name);
+ out->dbus_signature = g_strdup (in->dbus_signature);
+ out->flags = in->flags;
+
+ if (G_IS_VALUE (&in->default_value))
+ {
+ g_value_init (&out->default_value, G_VALUE_TYPE (&in->default_value));
+ g_value_copy (&in->default_value, &out->default_value);
+ }
return out;
}
-
/**
* tp_connection_manager_param_free:
* @param: the #TpConnectionManagerParam to free
@@ -274,7 +253,11 @@ tp_connection_manager_param_copy (const TpConnectionManagerParam *in)
void
tp_connection_manager_param_free (TpConnectionManagerParam *param)
{
- _tp_connection_manager_param_free_contents (param);
+ g_free (param->name);
+ g_free (param->dbus_signature);
+
+ if (G_IS_VALUE (&param->default_value))
+ g_value_unset (&param->default_value);
g_slice_free (TpConnectionManagerParam, param);
}
diff --git a/telepathy-glib/protocol-internal.h b/telepathy-glib/protocol-internal.h
index bcebdc678..3653158b6 100644
--- a/telepathy-glib/protocol-internal.h
+++ b/telepathy-glib/protocol-internal.h
@@ -26,8 +26,13 @@
G_BEGIN_DECLS
-void _tp_connection_manager_param_free_contents (
- TpConnectionManagerParam *param);
+struct _TpConnectionManagerParam
+{
+ gchar *name;
+ gchar *dbus_signature;
+ GValue default_value;
+ guint flags;
+};
GHashTable *_tp_protocol_parse_manager_file (GKeyFile *file,
const gchar *cm_name,
diff --git a/telepathy-glib/protocol.c b/telepathy-glib/protocol.c
index adadc8855..97589d6d0 100644
--- a/telepathy-glib/protocol.c
+++ b/telepathy-glib/protocol.c
@@ -137,7 +137,7 @@ tp_protocol_get_feature_quark_core (void)
struct _TpProtocolPrivate
{
gchar *name;
- TpConnectionManagerParam *params;
+ GPtrArray *params;
GHashTable *protocol_properties;
gchar *vcard_field;
gchar *english_name;
@@ -164,58 +164,45 @@ enum
};
/* this is NULL-safe for @parameters, and callers rely on this */
-static TpConnectionManagerParam *
+static GPtrArray *
tp_protocol_params_from_param_specs (const GPtrArray *parameters,
const gchar *cm_debug_name,
const gchar *protocol)
{
- GArray *output;
+ GPtrArray *output;
guint i;
DEBUG ("Protocol name: %s", protocol);
if (parameters == NULL)
{
- return g_new0 (TpConnectionManagerParam, 1);
+ return g_ptr_array_new ();
}
- output = g_array_sized_new (TRUE, TRUE,
- sizeof (TpConnectionManagerParam), parameters->len);
+ output = g_ptr_array_new_full (parameters->len,
+ (GDestroyNotify) tp_connection_manager_param_free);
for (i = 0; i < parameters->len; i++)
{
- GValue structure = { 0 };
- GValue *tmp;
- /* Points to the zeroed entry just after the end of the array
- * - but we're about to extend the array to make it valid */
- TpConnectionManagerParam *param = &g_array_index (output,
- TpConnectionManagerParam, output->len);
-
- g_value_init (&structure, TP_STRUCT_TYPE_PARAM_SPEC);
- g_value_set_static_boxed (&structure, g_ptr_array_index (parameters, i));
-
- g_array_set_size (output, output->len + 1);
-
- if (!dbus_g_type_struct_get (&structure,
- 0, &param->name,
- 1, &param->flags,
- 2, &param->dbus_signature,
- 3, &tmp,
- G_MAXUINT))
- {
- DEBUG ("Unparseable parameter #%d for %s, ignoring", i, protocol);
- /* *shrug* that one didn't work, let's skip it */
- g_array_set_size (output, output->len - 1);
- continue;
- }
+ GValueArray *va = g_ptr_array_index (parameters, i);
+ TpConnectionManagerParam *param;
+ const gchar *name;
+ const gchar *dbus_signature;
+ GValue *default_value;
- g_value_init (&param->default_value,
- G_VALUE_TYPE (tmp));
- g_value_copy (tmp, &param->default_value);
- g_value_unset (tmp);
- g_free (tmp);
+ param = g_slice_new0 (TpConnectionManagerParam);
+ tp_value_array_unpack (va, 4,
+ &name,
+ &param->flags,
+ &dbus_signature,
+ &default_value);
- param->priv = NULL;
+ param->name = g_strdup (name);
+ param->dbus_signature = g_strdup (dbus_signature);
+ g_value_init (&param->default_value, G_VALUE_TYPE (default_value));
+ g_value_copy (default_value, &param->default_value);
+
+ g_ptr_array_add (output, param);
DEBUG ("\tParam name: %s", param->name);
DEBUG ("\tParam flags: 0x%x", param->flags);
@@ -241,7 +228,7 @@ tp_protocol_params_from_param_specs (const GPtrArray *parameters,
#endif
}
- return (TpConnectionManagerParam *) g_array_free (output, FALSE);
+ return output;
}
static void
@@ -331,16 +318,6 @@ tp_protocol_set_property (GObject *object,
}
}
-void
-_tp_connection_manager_param_free_contents (TpConnectionManagerParam *param)
-{
- g_free (param->name);
- g_free (param->dbus_signature);
-
- if (G_IS_VALUE (&param->default_value))
- g_value_unset (&param->default_value);
-}
-
static void
tp_protocol_dispose (GObject *object)
{
@@ -373,15 +350,7 @@ tp_protocol_finalize (GObject *object)
GObjectFinalizeFunc finalize =
((GObjectClass *) tp_protocol_parent_class)->finalize;
- if (self->priv->params != NULL)
- {
- TpConnectionManagerParam *param;
-
- for (param = self->priv->params; param->name != NULL; param++)
- _tp_connection_manager_param_free_contents (param);
- }
- g_free (self->priv->params);
-
+ g_ptr_array_unref (self->priv->params);
g_free (self->priv->name);
g_free (self->priv->vcard_field);
g_free (self->priv->english_name);
@@ -910,21 +879,21 @@ const TpConnectionManagerParam *
tp_protocol_get_param (TpProtocol *self,
const gchar *param)
{
- const TpConnectionManagerParam *ret = NULL;
guint i;
g_return_val_if_fail (TP_IS_PROTOCOL (self), FALSE);
- for (i = 0; self->priv->params[i].name != NULL; i++)
+ for (i = 0; i < self->priv->params->len; i++)
{
- if (!tp_strdiff (param, self->priv->params[i].name))
+ TpConnectionManagerParam *p = g_ptr_array_index (self->priv->params, i);
+
+ if (!tp_strdiff (param, p->name))
{
- ret = &self->priv->params[i];
- break;
+ return p;
}
}
- return ret;
+ return NULL;
}
/* FIXME: in Telepathy 1.0, rename to tp_protocol_get_param */
@@ -990,8 +959,11 @@ tp_protocol_dup_param_names (TpProtocol *self)
ret = g_ptr_array_new ();
- for (i = 0; self->priv->params[i].name != NULL; i++)
- g_ptr_array_add (ret, g_strdup (self->priv->params[i].name));
+ for (i = 0; i < self->priv->params->len; i++)
+ {
+ TpConnectionManagerParam *p = g_ptr_array_index (self->priv->params, i);
+ g_ptr_array_add (ret, g_strdup (p->name));
+ }
g_ptr_array_add (ret, NULL);
return (gchar **) g_ptr_array_free (ret, FALSE);
@@ -1005,12 +977,11 @@ tp_protocol_dup_param_names (TpProtocol *self)
* without additional memory allocations. The returned array is owned by
* @self, and must not be used after @self has been freed.
*
- * Returns: (transfer none): an array of #TpConnectionManagerParam structures,
- * terminated by one whose @name is %NULL
+ * Returns: a #GPtrArray of #TpConnectionManagerParam.
*
* Since: 0.17.6
*/
-const TpConnectionManagerParam *
+GPtrArray *
tp_protocol_borrow_params (TpProtocol *self)
{
g_return_val_if_fail (TP_IS_PROTOCOL (self), NULL);
@@ -1041,10 +1012,10 @@ tp_protocol_dup_params (TpProtocol *self)
g_return_val_if_fail (TP_IS_PROTOCOL (self), NULL);
- for (i = 0; self->priv->params[i].name != NULL; i++)
+ for (i = 0; i < self->priv->params->len; i++)
{
- ret = g_list_prepend (ret,
- tp_connection_manager_param_copy (&(self->priv->params[i])));
+ TpConnectionManagerParam *p = g_ptr_array_index (self->priv->params, i);
+ ret = g_list_prepend (ret, tp_connection_manager_param_copy (p));
}
return g_list_reverse (ret);
diff --git a/telepathy-glib/protocol.h b/telepathy-glib/protocol.h
index f151702ab..2b04288e9 100644
--- a/telepathy-glib/protocol.h
+++ b/telepathy-glib/protocol.h
@@ -35,16 +35,6 @@ G_BEGIN_DECLS
typedef struct _TpConnectionManagerParam TpConnectionManagerParam;
-struct _TpConnectionManagerParam
-{
- /*<private>*/
- gchar *_TP_SEAL (name);
- gchar *_TP_SEAL (dbus_signature);
- GValue _TP_SEAL (default_value);
- guint _TP_SEAL (flags);
- gpointer _TP_SEAL (priv);
-};
-
typedef struct _TpProtocol TpProtocol;
typedef struct _TpProtocolClass TpProtocolClass;
typedef struct _TpProtocolPrivate TpProtocolPrivate;
@@ -102,8 +92,7 @@ GStrv tp_protocol_dup_param_names (TpProtocol *self) G_GNUC_WARN_UNUSED_RESULT;
_TP_AVAILABLE_IN_0_18
GList *tp_protocol_dup_params (TpProtocol *self) G_GNUC_WARN_UNUSED_RESULT;
_TP_AVAILABLE_IN_0_18
-const TpConnectionManagerParam *tp_protocol_borrow_params (TpProtocol *self)
- G_GNUC_WARN_UNUSED_RESULT;
+GPtrArray *tp_protocol_borrow_params (TpProtocol *self);
const gchar * const *
/* gtk-doc sucks */
diff --git a/tests/dbus/cm.c b/tests/dbus/cm.c
index ba1ba71d2..ddf0a7008 100644
--- a/tests/dbus/cm.c
+++ b/tests/dbus/cm.c
@@ -71,6 +71,27 @@ teardown (Test *test,
}
static void
+assert_param_flags (const TpConnectionManagerParam *param,
+ TpConnMgrParamFlags flags)
+{
+ GValue value = {0, };
+
+ g_assert (tp_connection_manager_param_is_required (param) ==
+ ((flags & TP_CONN_MGR_PARAM_FLAG_REQUIRED) != 0));
+ g_assert (tp_connection_manager_param_is_required_for_registration (param) ==
+ ((flags & TP_CONN_MGR_PARAM_FLAG_REGISTER) != 0));
+ g_assert (tp_connection_manager_param_get_default (param, &value) ==
+ ((flags & TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT) != 0));
+ g_assert (tp_connection_manager_param_is_secret (param) ==
+ ((flags & TP_CONN_MGR_PARAM_FLAG_SECRET) != 0));
+ g_assert (tp_connection_manager_param_is_dbus_property (param) ==
+ ((flags & TP_CONN_MGR_PARAM_FLAG_DBUS_PROPERTY) != 0));
+
+ if (G_IS_VALUE (&value))
+ g_value_unset (&value);
+}
+
+static void
test_valid_name (void)
{
GError *error = NULL;
@@ -195,10 +216,10 @@ test_file_got_info (Test *test,
/* FIXME: it's not technically an API guarantee that params
* come out in this order... */
- param = &tp_protocol_borrow_params (protocol)[0];
- g_assert_cmpstr (param->name, ==, "account");
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 0);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "account");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_REGISTER);
g_assert (param == tp_protocol_get_param (protocol, "account"));
g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==,
@@ -215,18 +236,18 @@ test_file_got_info (Test *test,
g_assert (!G_IS_VALUE (&value));
g_assert (tp_connection_manager_param_dup_default_variant (param) == NULL);
- param = &tp_protocol_borrow_params (protocol)[1];
- g_assert_cmpstr (param->name, ==, "password");
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 1);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "password");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_REGISTER |
TP_CONN_MGR_PARAM_FLAG_SECRET);
g_assert (param == tp_protocol_get_param (protocol, "password"));
- param = &tp_protocol_borrow_params (protocol)[2];
- g_assert_cmpstr (param->name, ==, "register");
- g_assert_cmpstr (param->dbus_signature, ==, "b");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 2);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "register");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "b");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
g_assert (param == tp_protocol_get_param (protocol, "register"));
ok = tp_connection_manager_param_get_default (param, &value);
g_assert (ok);
@@ -237,8 +258,7 @@ test_file_got_info (Test *test,
g_assert_cmpstr (g_variant_get_type_string (variant), ==, "b");
g_assert_cmpint (g_variant_get_boolean (variant), ==, TRUE);
- param = &tp_protocol_borrow_params (protocol)[3];
- g_assert (param->name == NULL);
+ g_assert_cmpuint (tp_protocol_borrow_params (protocol)->len, ==, 3);
strv = tp_protocol_dup_param_names (protocol);
g_assert_cmpstr (strv[0], ==, "account");
@@ -254,15 +274,14 @@ test_file_got_info (Test *test,
"weird"));
g_assert (!tp_protocol_can_register (protocol));
- param = &tp_protocol_borrow_params (protocol)[0];
- g_assert_cmpstr (param->name, ==, "com.example.Bork.Bork.Bork");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 0);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "com.example.Bork.Bork.Bork");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_DBUS_PROPERTY |
TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "u");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "u");
- param = &tp_protocol_borrow_params (protocol)[1];
- g_assert (param->name == NULL);
+ g_assert_cmpuint (tp_protocol_borrow_params (protocol)->len, ==, 1);
}
static void
@@ -276,6 +295,7 @@ test_complex_file_got_info (Test *test,
gchar **strv;
GPtrArray *arr;
GList *protocols;
+ GValue value = {0, };
test->cm = tp_connection_manager_new (test->dbus, "test_manager_file",
NULL, &error);
@@ -305,310 +325,357 @@ test_complex_file_got_info (Test *test,
g_assert_cmpstr (tp_protocol_get_name (protocol), ==, "foo");
- param = &tp_protocol_borrow_params (protocol)[0];
- g_assert_cmpstr (param->name, ==, "account");
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 0);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "account");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
- g_assert_cmpstr (g_value_get_string (&param->default_value), ==,
- "foo@default");
-
- param = &tp_protocol_borrow_params (protocol)[1];
- g_assert_cmpstr (param->name, ==, "password");
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert_cmpuint (param->flags, ==,
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_STRING (&value));
+ g_assert_cmpstr (g_value_get_string (&value), ==, "foo@default");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 1);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "password");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_SECRET);
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
-
- param = &tp_protocol_borrow_params (protocol)[2];
- g_assert_cmpstr (param->name, ==, "encryption-key");
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_SECRET);
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
-
- param = &tp_protocol_borrow_params (protocol)[3];
- g_assert_cmpstr (param->name, ==, "port");
- g_assert_cmpstr (param->dbus_signature, ==, "q");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert (G_VALUE_HOLDS_UINT (&param->default_value));
- g_assert_cmpuint (g_value_get_uint (&param->default_value), ==, 1234);
-
- param = &tp_protocol_borrow_params (protocol)[4];
- g_assert_cmpstr (param->name, ==, "register");
- g_assert_cmpstr (param->dbus_signature, ==, "b");
- g_assert_cmpuint (param->flags, ==, 0);
- g_assert (G_VALUE_HOLDS_BOOLEAN (&param->default_value));
-
- param = &tp_protocol_borrow_params (protocol)[5];
- g_assert_cmpstr (param->name, ==, "server-list");
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 2);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "encryption-key");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_SECRET);
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 3);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "port");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "q");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UINT (&value));
+ g_assert_cmpuint (g_value_get_uint (&value), ==, 1234);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 4);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "register");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "b");
+ assert_param_flags (param, 0);
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 5);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "server-list");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "foo");
g_assert_cmpstr (strv[1], ==, "bar");
g_assert (strv[2] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[6];
- g_assert (param->name == NULL);
+ g_assert_cmpuint (tp_protocol_borrow_params (protocol)->len, ==, 6);
protocol = tp_connection_manager_get_protocol (test->cm, "bar");
g_assert_cmpstr (tp_protocol_get_name (protocol), ==, "bar");
- param = &tp_protocol_borrow_params (protocol)[0];
- g_assert_cmpstr (param->name, ==, "account");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 0);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "account");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
- g_assert_cmpstr (g_value_get_string (&param->default_value), ==,
- "bar@default");
-
- param = &tp_protocol_borrow_params (protocol)[1];
- g_assert_cmpstr (param->name, ==, "encryption-key");
- g_assert_cmpuint (param->flags, ==,
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_STRING (&value));
+ g_assert_cmpstr (g_value_get_string (&value), ==, "bar@default");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 1);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "encryption-key");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_SECRET);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
- param = &tp_protocol_borrow_params (protocol)[2];
- g_assert_cmpstr (param->name, ==, "password");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 2);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "password");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_SECRET);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 3);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "port");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "q");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UINT (&value));
+ g_assert_cmpuint (g_value_get_uint (&value), ==, 4321);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[3];
- g_assert_cmpstr (param->name, ==, "port");
- g_assert_cmpstr (param->dbus_signature, ==, "q");
- g_assert_cmpuint (param->flags, ==,
- TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert (G_VALUE_HOLDS_UINT (&param->default_value));
- g_assert_cmpuint (g_value_get_uint (&param->default_value), ==, 4321);
-
- param = &tp_protocol_borrow_params (protocol)[4];
- g_assert_cmpstr (param->name, ==, "register");
- g_assert_cmpstr (param->dbus_signature, ==, "b");
- g_assert_cmpuint (param->flags, ==, 0);
- g_assert (G_VALUE_HOLDS_BOOLEAN (&param->default_value));
-
- param = &tp_protocol_borrow_params (protocol)[5];
- g_assert_cmpstr (param->name, ==, "server-list");
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert_cmpuint (param->flags, ==,
- TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 4);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "register");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "b");
+ assert_param_flags (param, 0);
+ g_assert (!tp_connection_manager_param_get_default (param, &value));
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 5);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "server-list");
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "bar");
g_assert_cmpstr (strv[1], ==, "foo");
g_assert (strv[2] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[6];
- g_assert (param->name == NULL);
+ g_assert_cmpuint (tp_protocol_borrow_params (protocol)->len, ==, 6);
protocol = tp_connection_manager_get_protocol (test->cm,
"somewhat-pathological");
g_assert_cmpstr (tp_protocol_get_name (protocol), ==,
"somewhat-pathological");
- param = &tp_protocol_borrow_params (protocol)[0];
- g_assert_cmpstr (param->name, ==, "foo");
- g_assert_cmpuint (param->flags, ==,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 0);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "foo");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_REQUIRED | TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
- g_assert_cmpstr (g_value_get_string (&param->default_value), ==,
- "hello world");
-
- param = &tp_protocol_borrow_params (protocol)[1];
- g_assert_cmpstr (param->name, ==, "semicolons");
- g_assert_cmpuint (param->flags, ==,
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_STRING (&value));
+ g_assert_cmpstr (g_value_get_string (&value), ==, "hello world");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 1);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "semicolons");
+ assert_param_flags (param,
TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT | TP_CONN_MGR_PARAM_FLAG_SECRET);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
- g_assert_cmpstr (g_value_get_string (&param->default_value), ==,
- "list;of;misc;");
-
- param = &tp_protocol_borrow_params (protocol)[2];
- g_assert_cmpstr (param->name, ==, "list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_STRING (&value));
+ g_assert_cmpstr (g_value_get_string (&value), ==, "list;of;misc;");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 2);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list");
g_assert_cmpstr (strv[1], ==, "of");
g_assert_cmpstr (strv[2], ==, "misc");
g_assert (strv[3] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[3];
- g_assert_cmpstr (param->name, ==, "unterminated-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 3);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "unterminated-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list");
g_assert_cmpstr (strv[1], ==, "of");
g_assert_cmpstr (strv[2], ==, "misc");
g_assert (strv[3] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[4];
- g_assert_cmpstr (param->name, ==, "spaces-in-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 4);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "spaces-in-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list");
g_assert_cmpstr (strv[1], ==, " of");
g_assert_cmpstr (strv[2], ==, " misc ");
g_assert (strv[3] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[5];
- g_assert_cmpstr (param->name, ==, "escaped-semicolon-in-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 5);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "escaped-semicolon-in-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list;of");
g_assert_cmpstr (strv[1], ==, "misc");
g_assert (strv[2] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[6];
- g_assert_cmpstr (param->name, ==, "doubly-escaped-semicolon-in-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 6);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "doubly-escaped-semicolon-in-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list\\");
g_assert_cmpstr (strv[1], ==, "of");
g_assert_cmpstr (strv[2], ==, "misc");
g_assert (strv[3] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[7];
- g_assert_cmpstr (param->name, ==, "triply-escaped-semicolon-in-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 7);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "triply-escaped-semicolon-in-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "list\\;of");
g_assert_cmpstr (strv[1], ==, "misc");
g_assert (strv[2] == NULL);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[8];
- g_assert_cmpstr (param->name, ==, "empty-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 8);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "empty-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert (strv == NULL || strv[0] == NULL);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 9);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "escaped-semicolon");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "s");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_STRING (&value));
+ g_assert_cmpstr (g_value_get_string (&value), ==, "foo\\;bar");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 10);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "object");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "o");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, DBUS_TYPE_G_OBJECT_PATH));
+ g_assert_cmpstr (g_value_get_boxed (&value), ==, "/misc");
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 11);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "q");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "q");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UINT (&value));
+ g_assert_cmpint (g_value_get_uint (&value), ==, 42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 12);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "u");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "u");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UINT (&value));
+ g_assert_cmpint (g_value_get_uint (&value), ==, 42);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[9];
- g_assert_cmpstr (param->name, ==, "escaped-semicolon");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "s");
- g_assert (G_VALUE_HOLDS_STRING (&param->default_value));
- g_assert_cmpstr (g_value_get_string (&param->default_value), ==,
- "foo\\;bar");
-
- param = &tp_protocol_borrow_params (protocol)[10];
- g_assert_cmpstr (param->name, ==, "object");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "o");
- g_assert (G_VALUE_HOLDS (&param->default_value, DBUS_TYPE_G_OBJECT_PATH));
- g_assert_cmpstr (g_value_get_boxed (&param->default_value), ==, "/misc");
-
- param = &tp_protocol_borrow_params (protocol)[11];
- g_assert_cmpstr (param->name, ==, "q");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "q");
- g_assert (G_VALUE_HOLDS_UINT (&param->default_value));
- g_assert_cmpint (g_value_get_uint (&param->default_value), ==, 42);
-
- param = &tp_protocol_borrow_params (protocol)[12];
- g_assert_cmpstr (param->name, ==, "u");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "u");
- g_assert (G_VALUE_HOLDS_UINT (&param->default_value));
- g_assert_cmpint (g_value_get_uint (&param->default_value), ==, 42);
-
- param = &tp_protocol_borrow_params (protocol)[13];
- g_assert_cmpstr (param->name, ==, "t");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "t");
- g_assert (G_VALUE_HOLDS_UINT64 (&param->default_value));
- g_assert_cmpuint ((guint) g_value_get_uint64 (&param->default_value), ==,
- 42);
-
- param = &tp_protocol_borrow_params (protocol)[14];
- g_assert_cmpstr (param->name, ==, "n");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "n");
- g_assert (G_VALUE_HOLDS_INT (&param->default_value));
- g_assert_cmpint (g_value_get_int (&param->default_value), ==, -42);
-
- param = &tp_protocol_borrow_params (protocol)[15];
- g_assert_cmpstr (param->name, ==, "i");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "i");
- g_assert (G_VALUE_HOLDS_INT (&param->default_value));
- g_assert_cmpint (g_value_get_int (&param->default_value), ==, -42);
-
- param = &tp_protocol_borrow_params (protocol)[16];
- g_assert_cmpstr (param->name, ==, "x");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "x");
- g_assert (G_VALUE_HOLDS_INT64 (&param->default_value));
- g_assert_cmpint ((int) g_value_get_int64 (&param->default_value), ==, -42);
-
- param = &tp_protocol_borrow_params (protocol)[17];
- g_assert_cmpstr (param->name, ==, "d");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "d");
- g_assert (G_VALUE_HOLDS_DOUBLE (&param->default_value));
-
- param = &tp_protocol_borrow_params (protocol)[18];
- g_assert_cmpstr (param->name, ==, "empty-string-in-list");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "as");
- g_assert (G_VALUE_HOLDS (&param->default_value, G_TYPE_STRV));
- strv = g_value_get_boxed (&param->default_value);
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 13);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "t");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "t");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UINT64 (&value));
+ g_assert_cmpuint ((guint) g_value_get_uint64 (&value), ==, 42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 14);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "n");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "n");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_INT (&value));
+ g_assert_cmpint (g_value_get_int (&value), ==, -42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 15);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "i");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "i");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_INT (&value));
+ g_assert_cmpint (g_value_get_int (&value), ==, -42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 16);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "x");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "x");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_INT64 (&value));
+ g_assert_cmpint ((int) g_value_get_int64 (&value), ==, -42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 17);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "d");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "d");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_DOUBLE (&value));
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 18);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "empty-string-in-list");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "as");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value, G_TYPE_STRV));
+ strv = g_value_get_boxed (&value);
g_assert_cmpstr (strv[0], ==, "");
g_assert (strv[1] == NULL);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 19);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "true");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "b");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_BOOLEAN (&value));
+ g_assert_cmpint (g_value_get_boolean (&value), ==, TRUE);
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[19];
- g_assert_cmpstr (param->name, ==, "true");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "b");
- g_assert (G_VALUE_HOLDS_BOOLEAN (&param->default_value));
- g_assert_cmpint (g_value_get_boolean (&param->default_value), ==, TRUE);
-
- param = &tp_protocol_borrow_params (protocol)[20];
- g_assert_cmpstr (param->name, ==, "false");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "b");
- g_assert (G_VALUE_HOLDS_BOOLEAN (&param->default_value));
- g_assert_cmpint (g_value_get_boolean (&param->default_value), ==, FALSE);
-
- param = &tp_protocol_borrow_params (protocol)[21];
- g_assert_cmpstr (param->name, ==, "y");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "y");
- g_assert (G_VALUE_HOLDS_UCHAR (&param->default_value));
- g_assert_cmpint (g_value_get_uchar (&param->default_value), ==, 42);
-
- param = &tp_protocol_borrow_params (protocol)[22];
- g_assert_cmpstr (param->name, ==, "ao");
- g_assert_cmpuint (param->flags, ==, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
- g_assert_cmpstr (param->dbus_signature, ==, "ao");
- g_assert (G_VALUE_HOLDS (&param->default_value,
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 20);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "false");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "b");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_BOOLEAN (&value));
+ g_assert_cmpint (g_value_get_boolean (&value), ==, FALSE);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 21);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "y");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "y");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS_UCHAR (&value));
+ g_assert_cmpint (g_value_get_uchar (&value), ==, 42);
+ g_value_unset (&value);
+
+ param = g_ptr_array_index (tp_protocol_borrow_params (protocol), 22);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "ao");
+ assert_param_flags (param, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT);
+ g_assert_cmpstr (tp_connection_manager_param_get_dbus_signature (param), ==, "ao");
+ tp_connection_manager_param_get_default (param, &value);
+ g_assert (G_VALUE_HOLDS (&value,
TP_ARRAY_TYPE_OBJECT_PATH_LIST));
- arr = g_value_get_boxed (&param->default_value);
+ arr = g_value_get_boxed (&value);
g_assert_cmpuint (arr->len, ==, 2);
g_assert_cmpstr ((gchar *) g_ptr_array_index (arr, 0), ==, "/misc");
g_assert_cmpstr ((gchar *) g_ptr_array_index (arr, 1), ==, "/other");
+ g_value_unset (&value);
- param = &tp_protocol_borrow_params (protocol)[23];
- g_assert (param->name == NULL);
+ g_assert_cmpuint (tp_protocol_borrow_params (protocol)->len, ==, 23);
}
static void
diff --git a/tests/dbus/protocol-objects.c b/tests/dbus/protocol-objects.c
index 8a4264a35..3aa472736 100644
--- a/tests/dbus/protocol-objects.c
+++ b/tests/dbus/protocol-objects.c
@@ -329,6 +329,7 @@ test_protocol_object (Test *test,
TpAvatarRequirements *req;
GList *l;
TpConnectionManagerParam *param;
+ GList *params;
g_assert_cmpstr (tp_connection_manager_get_name (test->cm), ==,
"example_echo_2");
@@ -372,22 +373,23 @@ test_protocol_object (Test *test,
l = tp_protocol_dup_params (test->protocol);
g_assert_cmpuint (g_list_length (l), ==, 1);
param = l->data;
- g_assert_cmpstr (param->name, ==, "account");
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "account");
g_list_free_full (l, (GDestroyNotify) tp_connection_manager_param_free);
- g_assert_cmpstr (tp_protocol_get_param (test->protocol, "account")->name, ==,
- "account");
+ g_assert_cmpstr (tp_connection_manager_param_get_name (
+ tp_protocol_get_param (test->protocol, "account")), ==, "account");
param = tp_protocol_dup_param (test->protocol, "account");
/* it's a copy */
g_assert (param != tp_protocol_get_param (test->protocol, "account"));
- g_assert_cmpstr (param->name, ==, "account");
+ g_assert_cmpstr (tp_connection_manager_param_get_name (param), ==, "account");
tp_connection_manager_param_free (param);
- g_assert_cmpstr (tp_protocol_borrow_params (test->protocol)[0].name, ==,
+ params = tp_protocol_dup_params (test->protocol);
+ g_assert_cmpuint (g_list_length (params), ==, 1);
+ g_assert_cmpstr (tp_connection_manager_param_get_name (params->data), ==,
"account");
- g_assert_cmpstr (tp_protocol_borrow_params (test->protocol)[1].name, ==,
- NULL);
+ g_list_free_full (params, (GDestroyNotify) tp_connection_manager_param_free);
}
static void