summaryrefslogtreecommitdiff
path: root/tests/lib/simple-account.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/simple-account.c')
-rw-r--r--tests/lib/simple-account.c641
1 files changed, 0 insertions, 641 deletions
diff --git a/tests/lib/simple-account.c b/tests/lib/simple-account.c
deleted file mode 100644
index 2c6131b..0000000
--- a/tests/lib/simple-account.c
+++ /dev/null
@@ -1,641 +0,0 @@
-/*
- * simple-account.c - a simple account service.
- *
- * Copyright (C) 2010-2012 Collabora Ltd. <http://www.collabora.co.uk/>
- *
- * Copying and distribution of this file, with or without modification,
- * are permitted in any medium without royalty provided the copyright
- * notice and this notice are preserved.
- */
-
-#include "config.h"
-
-#include "simple-account.h"
-
-#include <telepathy-glib/telepathy-glib.h>
-#include <telepathy-glib/telepathy-glib-dbus.h>
-
-static void account_iface_init (gpointer, gpointer);
-
-G_DEFINE_TYPE_WITH_CODE (TpTestsSimpleAccount,
- tp_tests_simple_account,
- G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_ACCOUNT,
- account_iface_init);
- G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_ACCOUNT_INTERFACE_AVATAR1,
- NULL);
- G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_ACCOUNT_INTERFACE_ADDRESSING1,
- NULL);
- G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_ACCOUNT_INTERFACE_STORAGE1,
- NULL);
- G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_DBUS_PROPERTIES,
- tp_dbus_properties_mixin_iface_init)
- )
-
-/* TP_IFACE_ACCOUNT is implied */
-static const char *ACCOUNT_INTERFACES[] = {
- TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING1,
- TP_IFACE_ACCOUNT_INTERFACE_STORAGE1,
- NULL };
-
-enum
-{
- PROP_0,
- PROP_INTERFACES,
- PROP_DISPLAY_NAME,
- PROP_ICON,
- PROP_USABLE,
- PROP_ENABLED,
- PROP_NICKNAME,
- PROP_PARAMETERS,
- PROP_AUTOMATIC_PRESENCE,
- PROP_CONNECT_AUTO,
- PROP_CONNECTION,
- PROP_CONNECTION_STATUS,
- PROP_CONNECTION_STATUS_REASON,
- PROP_CURRENT_PRESENCE,
- PROP_REQUESTED_PRESENCE,
- PROP_NORMALIZED_NAME,
- PROP_HAS_BEEN_ONLINE,
- PROP_URI_SCHEMES,
- PROP_STORAGE_PROVIDER,
- PROP_STORAGE_IDENTIFIER,
- PROP_STORAGE_SPECIFIC_INFORMATION,
- PROP_STORAGE_RESTRICTIONS,
- PROP_AVATAR,
- PROP_SUPERSEDES,
- N_PROPS
-};
-
-struct _TpTestsSimpleAccountPrivate
-{
- TpConnectionPresenceType presence;
- gchar *presence_status;
- gchar *presence_msg;
- gchar *connection_path;
- gboolean enabled;
- GPtrArray *uri_schemes;
- GHashTable *parameters;
-};
-
-static void
-tp_tests_simple_account_update_parameters (TpSvcAccount *svc,
- GHashTable *parameters,
- const gchar **unset_parameters,
- DBusGMethodInvocation *context)
-{
- GPtrArray *reconnect_required = g_ptr_array_new ();
- GHashTableIter iter;
- gpointer k;
- guint i;
-
- /* We don't actually store any parameters, but for the purposes
- * of this method we pretend that every parameter provided is
- * valid and requires reconnection. */
-
- g_hash_table_iter_init (&iter, parameters);
-
- while (g_hash_table_iter_next (&iter, &k, NULL))
- g_ptr_array_add (reconnect_required, k);
-
- for (i = 0; unset_parameters != NULL && unset_parameters[i] != NULL; i++)
- g_ptr_array_add (reconnect_required, (gchar *) unset_parameters[i]);
-
- g_ptr_array_add (reconnect_required, NULL);
-
- tp_svc_account_return_from_update_parameters (context,
- (const gchar **) reconnect_required->pdata);
- g_ptr_array_unref (reconnect_required);
-}
-
-static void
-account_iface_init (gpointer klass,
- gpointer unused G_GNUC_UNUSED)
-{
-#define IMPLEMENT(x) tp_svc_account_implement_##x (\
- klass, tp_tests_simple_account_##x)
- IMPLEMENT (update_parameters);
-#undef IMPLEMENT
-}
-
-/* you may have noticed this is not entirely realistic */
-static const gchar * const uri_schemes[] = { "about", "telnet", NULL };
-
-static void
-tp_tests_simple_account_init (TpTestsSimpleAccount *self)
-{
- guint i;
-
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TP_TESTS_TYPE_SIMPLE_ACCOUNT,
- TpTestsSimpleAccountPrivate);
-
- self->priv->presence = TP_CONNECTION_PRESENCE_TYPE_AWAY;
- self->priv->presence_status = g_strdup ("currently-away");
- self->priv->presence_msg = g_strdup ("this is my CurrentPresence");
- self->priv->connection_path = g_strdup ("/");
- self->priv->enabled = TRUE;
-
- self->priv->uri_schemes = g_ptr_array_new_with_free_func (g_free);
- for (i = 0; uri_schemes[i] != NULL; i++)
- g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_schemes[i]));
-
- self->priv->parameters = g_hash_table_new (NULL, NULL);
-}
-
-static void
-tp_tests_simple_account_get_property (GObject *object,
- guint property_id,
- GValue *value,
- GParamSpec *spec)
-{
- TpTestsSimpleAccount *self = TP_TESTS_SIMPLE_ACCOUNT (object);
- GValue identifier = { 0, };
-
- g_value_init (&identifier, G_TYPE_STRING);
- g_value_set_string (&identifier, "unique-identifier");
-
- switch (property_id) {
- case PROP_INTERFACES:
- g_value_set_boxed (value, ACCOUNT_INTERFACES);
- break;
- case PROP_DISPLAY_NAME:
- g_value_set_string (value, "Fake Account");
- break;
- case PROP_ICON:
- g_value_set_string (value, "");
- break;
- case PROP_USABLE:
- g_value_set_boolean (value, TRUE);
- break;
- case PROP_ENABLED:
- g_value_set_boolean (value, self->priv->enabled);
- break;
- case PROP_NICKNAME:
- g_value_set_string (value, "badger");
- break;
- case PROP_PARAMETERS:
- g_value_set_boxed (value, self->priv->parameters);
- break;
- case PROP_AUTOMATIC_PRESENCE:
- g_value_take_boxed (value, tp_value_array_build (3,
- G_TYPE_UINT, TP_CONNECTION_PRESENCE_TYPE_AVAILABLE,
- G_TYPE_STRING, "automatically-available",
- G_TYPE_STRING, "this is my AutomaticPresence",
- G_TYPE_INVALID));
- break;
- case PROP_CONNECT_AUTO:
- g_value_set_boolean (value, FALSE);
- break;
- case PROP_CONNECTION:
- g_value_set_boxed (value, self->priv->connection_path);
- break;
- case PROP_CONNECTION_STATUS:
- g_value_set_uint (value, TP_CONNECTION_STATUS_CONNECTED);
- break;
- case PROP_CONNECTION_STATUS_REASON:
- g_value_set_uint (value, TP_CONNECTION_STATUS_REASON_REQUESTED);
- break;
- case PROP_CURRENT_PRESENCE:
- g_value_take_boxed (value, tp_value_array_build (3,
- G_TYPE_UINT, self->priv->presence,
- G_TYPE_STRING, self->priv->presence_status,
- G_TYPE_STRING, self->priv->presence_msg,
- G_TYPE_INVALID));
- break;
- case PROP_REQUESTED_PRESENCE:
- g_value_take_boxed (value, tp_value_array_build (3,
- G_TYPE_UINT, TP_CONNECTION_PRESENCE_TYPE_BUSY,
- G_TYPE_STRING, "requesting",
- G_TYPE_STRING, "this is my RequestedPresence",
- G_TYPE_INVALID));
- break;
- case PROP_NORMALIZED_NAME:
- g_value_set_string (value, "bob.mcbadgers@example.com");
- break;
- case PROP_HAS_BEEN_ONLINE:
- g_value_set_boolean (value, TRUE);
- break;
- case PROP_STORAGE_PROVIDER:
- g_value_set_string (value, "im.telepathy1.glib.test");
- break;
- case PROP_STORAGE_IDENTIFIER:
- g_value_set_boxed (value, &identifier);
- break;
- case PROP_STORAGE_SPECIFIC_INFORMATION:
- g_value_take_boxed (value, tp_asv_new (
- "one", G_TYPE_INT, 1,
- "two", G_TYPE_UINT, 2,
- "marco", G_TYPE_STRING, "polo",
- NULL));
- break;
- case PROP_STORAGE_RESTRICTIONS:
- g_value_set_uint (value,
- TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED |
- TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS);
- break;
- case PROP_URI_SCHEMES:
- {
- GPtrArray *arr;
- guint i;
-
- arr = g_ptr_array_sized_new (self->priv->uri_schemes->len + 1);
- for (i = 0; i < self->priv->uri_schemes->len; i++)
- g_ptr_array_add (arr,
- g_ptr_array_index (self->priv->uri_schemes, i));
- g_ptr_array_add (arr, NULL);
-
- g_value_set_boxed (value, arr->pdata);
- g_ptr_array_unref (arr);
- }
- break;
- case PROP_AVATAR:
- {
- GArray *arr = g_array_new (FALSE, FALSE, sizeof (char));
-
- /* includes NUL for simplicity */
- g_array_append_vals (arr, ":-)", 4);
-
- g_value_take_boxed (value,
- tp_value_array_build (2,
- TP_TYPE_UCHAR_ARRAY, arr,
- G_TYPE_STRING, "text/plain",
- G_TYPE_INVALID));
- g_array_unref (arr);
- }
- break;
- case PROP_SUPERSEDES:
- {
- GPtrArray *arr = g_ptr_array_new ();
-
- g_ptr_array_add (arr,
- g_strdup (TP_ACCOUNT_OBJECT_PATH_BASE "super/seded/whatever"));
- g_value_take_boxed (value, arr);
- }
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, spec);
- break;
- }
-
- g_value_unset (&identifier);
-}
-
-static void
-tp_tests_simple_account_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *spec)
-{
- TpTestsSimpleAccount *self = TP_TESTS_SIMPLE_ACCOUNT (object);
-
- switch (property_id)
- {
- case PROP_PARAMETERS:
- self->priv->parameters = g_value_dup_boxed (value);
- /* In principle we should be emitting AccountPropertyChanged here */
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, spec);
- break;
- }
-}
-
-static void
-tp_tests_simple_account_finalize (GObject *object)
-{
- TpTestsSimpleAccount *self = TP_TESTS_SIMPLE_ACCOUNT (object);
-
- g_free (self->priv->presence_status);
- g_free (self->priv->presence_msg);
- g_free (self->priv->connection_path);
-
- g_ptr_array_unref (self->priv->uri_schemes);
- g_hash_table_unref (self->priv->parameters);
-
- G_OBJECT_CLASS (tp_tests_simple_account_parent_class)->finalize (object);
-}
-
-/**
- * This class currently only provides the minimum for
- * tp_account_prepare to succeed. This turns out to be only a working
- * Properties.GetAll().
- */
-static void
-tp_tests_simple_account_class_init (TpTestsSimpleAccountClass *klass)
-{
- GObjectClass *object_class = (GObjectClass *) klass;
- GParamSpec *param_spec;
-
- static TpDBusPropertiesMixinPropImpl a_props[] = {
- { "Interfaces", "interfaces", NULL },
- { "DisplayName", "display-name", NULL },
- { "Icon", "icon", NULL },
- { "Usable", "usable", NULL },
- { "Enabled", "enabled", NULL },
- { "Nickname", "nickname", NULL },
- { "Parameters", "parameters", NULL },
- { "AutomaticPresence", "automatic-presence", NULL },
- { "ConnectAutomatically", "connect-automatically", NULL },
- { "Connection", "connection", NULL },
- { "ConnectionStatus", "connection-status", NULL },
- { "ConnectionStatusReason", "connection-status-reason", NULL },
- { "CurrentPresence", "current-presence", NULL },
- { "RequestedPresence", "requested-presence", NULL },
- { "NormalizedName", "normalized-name", NULL },
- { "HasBeenOnline", "has-been-online", NULL },
- { "Supersedes", "supersedes", NULL },
- { NULL }
- };
-
- static TpDBusPropertiesMixinPropImpl ais_props[] = {
- { "StorageProvider", "storage-provider", NULL },
- { "StorageIdentifier", "storage-identifier", NULL },
- { "StorageSpecificInformation", "storage-specific-information", NULL },
- { "StorageRestrictions", "storage-restrictions", NULL },
- { NULL },
- };
-
- static TpDBusPropertiesMixinPropImpl aia_props[] = {
- { "URISchemes", "uri-schemes", NULL },
- { NULL },
- };
-
- static TpDBusPropertiesMixinPropImpl avatar_props[] = {
- { "Avatar", "avatar", NULL },
- { NULL },
- };
-
- static TpDBusPropertiesMixinIfaceImpl prop_interfaces[] = {
- { TP_IFACE_ACCOUNT,
- tp_dbus_properties_mixin_getter_gobject_properties,
- NULL,
- a_props
- },
- {
- TP_IFACE_ACCOUNT_INTERFACE_STORAGE1,
- tp_dbus_properties_mixin_getter_gobject_properties,
- NULL,
- ais_props
- },
- {
- TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING1,
- tp_dbus_properties_mixin_getter_gobject_properties,
- NULL,
- aia_props
- },
- { TP_IFACE_ACCOUNT_INTERFACE_AVATAR1,
- tp_dbus_properties_mixin_getter_gobject_properties,
- NULL,
- avatar_props
- },
- { NULL },
- };
-
- g_type_class_add_private (klass, sizeof (TpTestsSimpleAccountPrivate));
- object_class->get_property = tp_tests_simple_account_get_property;
- object_class->set_property = tp_tests_simple_account_set_property;
- object_class->finalize = tp_tests_simple_account_finalize;
-
- param_spec = g_param_spec_boxed ("interfaces", "Extra D-Bus interfaces",
- "In this case we only implement Account, so none.",
- G_TYPE_STRV,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_INTERFACES, param_spec);
-
- param_spec = g_param_spec_string ("display-name", "display name",
- "DisplayName property",
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_DISPLAY_NAME, param_spec);
-
- param_spec = g_param_spec_string ("icon", "icon",
- "Icon property",
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_ICON, param_spec);
-
- param_spec = g_param_spec_boolean ("usable", "usable",
- "Usable property",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_USABLE, param_spec);
-
- param_spec = g_param_spec_boolean ("enabled", "enabled",
- "Enabled property",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_ENABLED, param_spec);
-
- param_spec = g_param_spec_string ("nickname", "nickname",
- "Nickname property",
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_NICKNAME, param_spec);
-
- param_spec = g_param_spec_boxed ("parameters", "parameters",
- "Parameters property",
- TP_HASH_TYPE_STRING_VARIANT_MAP,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_PARAMETERS, param_spec);
-
- param_spec = g_param_spec_boxed ("automatic-presence", "automatic presence",
- "AutomaticPresence property",
- TP_STRUCT_TYPE_PRESENCE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_AUTOMATIC_PRESENCE,
- param_spec);
-
- param_spec = g_param_spec_boolean ("connect-automatically",
- "connect automatically", "ConnectAutomatically property",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_CONNECT_AUTO, param_spec);
-
- param_spec = g_param_spec_boxed ("connection", "connection",
- "Connection property",
- DBUS_TYPE_G_OBJECT_PATH,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_CONNECTION, param_spec);
-
- param_spec = g_param_spec_uint ("connection-status", "connection status",
- "ConnectionStatus property",
- 0, TP_NUM_CONNECTION_STATUSES, TP_CONNECTION_STATUS_DISCONNECTED,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_CONNECTION_STATUS,
- param_spec);
-
- param_spec = g_param_spec_uint ("connection-status-reason",
- "connection status reason", "ConnectionStatusReason property",
- 0, TP_NUM_CONNECTION_STATUS_REASONS,
- TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_CONNECTION_STATUS_REASON,
- param_spec);
-
- param_spec = g_param_spec_boxed ("current-presence", "current presence",
- "CurrentPresence property",
- TP_STRUCT_TYPE_PRESENCE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_CURRENT_PRESENCE,
- param_spec);
-
- param_spec = g_param_spec_boxed ("requested-presence", "requested presence",
- "RequestedPresence property",
- TP_STRUCT_TYPE_PRESENCE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_REQUESTED_PRESENCE,
- param_spec);
-
- param_spec = g_param_spec_string ("normalized-name", "normalized name",
- "NormalizedName property",
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_NORMALIZED_NAME,
- param_spec);
-
- param_spec = g_param_spec_boolean ("has-been-online", "has been online",
- "HasBeenOnline property",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_HAS_BEEN_ONLINE,
- param_spec);
-
- param_spec = g_param_spec_string ("storage-provider", "storage provider",
- "StorageProvider property",
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_STORAGE_PROVIDER,
- param_spec);
-
- param_spec = g_param_spec_boxed ("storage-identifier", "storage identifier",
- "StorageIdentifier property",
- G_TYPE_VALUE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_STORAGE_IDENTIFIER,
- param_spec);
-
- param_spec = g_param_spec_boxed ("storage-specific-information",
- "storage specific information", "StorageSpecificInformation property",
- TP_HASH_TYPE_STRING_VARIANT_MAP,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class,
- PROP_STORAGE_SPECIFIC_INFORMATION, param_spec);
-
- param_spec = g_param_spec_uint ("storage-restrictions",
- "storage restrictions", "StorageRestrictions property",
- 0, G_MAXUINT, 0,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_STORAGE_RESTRICTIONS,
- param_spec);
-
- param_spec = g_param_spec_boxed ("uri-schemes", "URI schemes",
- "Some URI schemes",
- G_TYPE_STRV,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_URI_SCHEMES, param_spec);
-
- param_spec = g_param_spec_boxed ("avatar",
- "Avatar", "Avatar",
- TP_STRUCT_TYPE_AVATAR,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class,
- PROP_AVATAR, param_spec);
-
- param_spec = g_param_spec_boxed ("supersedes",
- "Supersedes", "List of superseded accounts",
- TP_ARRAY_TYPE_OBJECT_PATH_LIST,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class,
- PROP_SUPERSEDES, param_spec);
-
- klass->dbus_props_class.interfaces = prop_interfaces;
- tp_dbus_properties_mixin_class_init (object_class,
- G_STRUCT_OFFSET (TpTestsSimpleAccountClass, dbus_props_class));
-}
-
-void
-tp_tests_simple_account_set_presence (TpTestsSimpleAccount *self,
- TpConnectionPresenceType presence,
- const gchar *status,
- const gchar *message)
-{
- GHashTable *props;
- GValueArray *v;
-
- g_free (self->priv->presence_status);
- g_free (self->priv->presence_msg);
-
- self->priv->presence = presence;
- self->priv->presence_status = g_strdup (status);
- self->priv->presence_msg = g_strdup (message);
-
- g_object_get (self, "current-presence", &v, NULL);
-
- props = tp_asv_new (
- "CurrentPresence", TP_STRUCT_TYPE_PRESENCE, v,
- NULL);
-
- tp_svc_account_emit_account_property_changed (self, props);
-
- g_boxed_free (TP_STRUCT_TYPE_PRESENCE, v);
-}
-
-void
-tp_tests_simple_account_set_connection (TpTestsSimpleAccount *self,
- const gchar *object_path)
-{
- GHashTable *change;
-
- if (object_path == NULL)
- object_path = "/";
-
- g_free (self->priv->connection_path);
- self->priv->connection_path = g_strdup (object_path);
-
- change = tp_asv_new (NULL, NULL);
- tp_asv_set_string (change, "Connection", object_path);
- tp_svc_account_emit_account_property_changed (self, change);
- g_hash_table_unref (change);
-}
-
-void
-tp_tests_simple_account_removed (TpTestsSimpleAccount *self)
-{
- tp_svc_account_emit_removed (self);
-}
-
-void
-tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self,
- gboolean enabled)
-{
- GHashTable *change;
-
- self->priv->enabled = enabled;
-
- change = tp_asv_new (NULL, NULL);
- tp_asv_set_boolean (change, "Enabled", enabled);
- tp_svc_account_emit_account_property_changed (self, change);
- g_hash_table_unref (change);
-}
-
-void
-tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
- const gchar *uri_scheme)
-{
- GHashTable *changed;
- GStrv schemes;
-
- g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_scheme));
-
- g_object_get (self, "uri-schemes", &schemes, NULL);
-
- changed = tp_asv_new (
- "URISchemes", G_TYPE_STRV, schemes,
- NULL);
-
- tp_svc_dbus_properties_emit_properties_changed (self,
- TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING1, changed, NULL);
-
- g_strfreev (schemes);
- g_hash_table_unref (changed);
-}