summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-25 19:19:45 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-27 10:32:15 +0000
commit457629b5591dfc00a4e244a83d69f6259af98202 (patch)
tree2344ed06a01272af5d200b9391dc0d03986d7536
parentfd79df67e14f00a79e338f8e0d33801de1c7eb89 (diff)
goa-mc-plugin: unconditionally use the new API
MC 6 doesn't have anything else.
-rw-r--r--goa-mc-plugin/mcp-account-manager-goa.c221
1 files changed, 12 insertions, 209 deletions
diff --git a/goa-mc-plugin/mcp-account-manager-goa.c b/goa-mc-plugin/mcp-account-manager-goa.c
index 870f525d..e6b663ca 100644
--- a/goa-mc-plugin/mcp-account-manager-goa.c
+++ b/goa-mc-plugin/mcp-account-manager-goa.c
@@ -40,30 +40,10 @@
#define INITIAL_COMMENT "Parameters of GOA Telepathy accounts"
-#ifdef MCP_API_VERSION_5_18
-
-# define RESTRICTIONS TpStorageRestrictionFlags
-# define WAS_CONST /* nothing */
- /* Its historical value was based on the KEYRING priority which no longer
- * exists. Using a large number is OK, because it uses unusual account names
- * which are unlikely to collide. */
-# define PLUGIN_PRIORITY (10010)
- /* McpAccountStorageSetResult enum is defined by MC */
-
-#else /* MC 5.16 or older */
-
-# define RESTRICTIONS guint
-# define WAS_CONST const
-# define PLUGIN_PRIORITY (MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING + 10)
-
- /* we use this in helper functions */
- typedef enum {
- MCP_ACCOUNT_STORAGE_SET_RESULT_FAILED,
- MCP_ACCOUNT_STORAGE_SET_RESULT_UNCHANGED,
- MCP_ACCOUNT_STORAGE_SET_RESULT_CHANGED
- } McpAccountStorageSetResult;
-
-#endif /* MC 5.16 or older */
+/* Its historical value was based on the KEYRING priority which no longer
+ * exists. Using a large number is OK, because it uses unusual account names
+ * which are unlikely to collide. */
+#define PLUGIN_PRIORITY (10010)
static void account_storage_iface_init (McpAccountStorageIface *iface);
@@ -287,10 +267,8 @@ mcp_account_manager_goa_init (McpAccountManagerGoa *self)
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
MCP_TYPE_ACCOUNT_MANAGER_GOA, McpAccountManagerGoaPrivate);
-#ifdef MCP_API_VERSION_5_18
/* the ready callback no longer exists, we may emit signals at any time */
self->priv->ready = TRUE;
-#endif
self->priv->accounts = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_object_unref);
@@ -368,8 +346,8 @@ _goa_client_new_cb (GObject *obj,
static GList *
-mcp_account_manager_goa_list (WAS_CONST McpAccountStorage *self,
- WAS_CONST McpAccountManager *am)
+mcp_account_manager_goa_list (McpAccountStorage *self,
+ McpAccountManager *am)
{
McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
GList *accounts = NULL;
@@ -386,8 +364,6 @@ mcp_account_manager_goa_list (WAS_CONST McpAccountStorage *self,
}
-#ifdef MCP_API_VERSION_5_18
-
static GVariant *
get_item (McpAccountManagerGoa *self,
McpAccountManager *am,
@@ -467,107 +443,8 @@ mcp_account_manager_goa_get_parameter (McpAccountStorage *storage,
return ret;
}
-#else /* MC 5.16 or older */
-
-static void
-get_enabled (WAS_CONST McpAccountStorage *self,
- WAS_CONST McpAccountManager *am,
- const gchar *acc,
- GoaAccount *account)
-{
- mcp_account_manager_set_value (am, acc, "Enabled",
- goa_account_get_chat_disabled (account) == FALSE ? "true" : "false");
-}
-
static gboolean
-mcp_account_manager_goa_get (WAS_CONST McpAccountStorage *self,
- WAS_CONST McpAccountManager *am,
- const gchar *acc,
- const gchar *key)
-{
- McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
- GoaObject *object;
- GoaAccount *account;
-
- DEBUG ("%s: %s, %s", G_STRFUNC, acc, key);
-
- object = g_hash_table_lookup (priv->accounts, acc);
-
- if (object == NULL)
- return FALSE;
-
- account = goa_object_peek_account (object);
-
- if (account == NULL)
- return FALSE;
-
- if (key == NULL)
- {
- /* load all keys */
- GHashTable *params = get_tp_parameters (account);
- GHashTableIter iter;
- gpointer k, value;
- GStrv keys;
- guint i;
- gsize nkeys = 0;
-
- /* Properties from GOA */
- g_hash_table_iter_init (&iter, params);
- while (g_hash_table_iter_next (&iter, &k, &value))
- mcp_account_manager_set_value (am, acc, k, value);
-
- g_hash_table_unref (params);
-
- /* Stored properties */
- keys = g_key_file_get_keys (priv->store, acc, &nkeys, NULL);
-
- for (i = 0; i < nkeys; i++)
- {
- gchar *v = g_key_file_get_value (priv->store, acc, keys[i], NULL);
-
- if (v != NULL)
- {
- mcp_account_manager_set_value (am, acc, keys[i], v);
- g_free (v);
- }
- }
-
- g_strfreev (keys);
-
- /* Enabled */
- get_enabled (self, am, acc, account);
- }
- else if (!tp_strdiff (key, "Enabled"))
- {
- get_enabled (self, am, acc, account);
- }
- else
- {
- /* get a specific key */
- GHashTable *params = get_tp_parameters (account);
- gchar *value;
-
- value = g_hash_table_lookup (params, key);
-
- if (value == NULL)
- value = g_key_file_get_value (priv->store, acc, key, NULL);
- else
- value = g_strdup (value);
-
- mcp_account_manager_set_value (am, acc, key, value);
-
- g_hash_table_unref (params);
- g_free (value);
- }
-
- return TRUE;
-}
-
-#endif /* MC 5.16 or older */
-
-
-static gboolean
-account_is_in_goa (WAS_CONST McpAccountStorage *self,
+account_is_in_goa (McpAccountStorage *self,
const gchar *account)
{
McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
@@ -601,8 +478,6 @@ mcp_account_manager_goa_set_enabled (McpAccountStorage *self,
return MCP_ACCOUNT_STORAGE_SET_RESULT_CHANGED;
}
-#ifdef MCP_API_VERSION_5_18
-
static McpAccountStorageSetResult
mcp_account_manager_goa_set_attribute (McpAccountStorage *storage,
McpAccountManager *am,
@@ -728,47 +603,9 @@ out:
return ret;
}
-#else /* MC 5.16 or older */
-
static gboolean
-mcp_account_manager_goa_set (const McpAccountStorage *self,
- const McpAccountManager *am,
- const gchar *account,
- const gchar *key,
- const gchar *val)
-{
- McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
-
- if (!account_is_in_goa (self, account))
- return FALSE;
-
- DEBUG ("%s: (%s, %s, %s)", G_STRFUNC, account, key, val);
-
- if (!tp_strdiff (key, "Enabled"))
- {
- if (mcp_account_manager_goa_set_enabled ((McpAccountStorage *) self,
- account,
- !tp_strdiff (val, "true")) != MCP_ACCOUNT_STORAGE_SET_RESULT_FAILED)
- return TRUE;
- else
- return FALSE;
- }
-
- if (val != NULL)
- g_key_file_set_value (priv->store, account, key, val);
- else
- g_key_file_remove_key (priv->store, account, key, NULL);
-
- /* Pretend we save everything so MC won't save this in accounts.cfg */
- return TRUE;
-}
-
-#endif /* MC 5.16 or older */
-
-
-static gboolean
-mcp_account_manager_goa_delete (WAS_CONST McpAccountStorage *self,
- WAS_CONST McpAccountManager *am,
+mcp_account_manager_goa_delete (McpAccountStorage *self,
+ McpAccountManager *am,
const gchar *account,
const gchar *key)
{
@@ -792,8 +629,6 @@ mcp_account_manager_goa_delete (WAS_CONST McpAccountStorage *self,
return TRUE;
}
-
-#ifdef MCP_API_VERSION_5_18
static void
mcp_account_manager_goa_delete_async (McpAccountStorage *self,
McpAccountManager *am,
@@ -824,7 +659,6 @@ mcp_account_manager_goa_delete_finish (McpAccountStorage *self,
{
return g_task_propagate_boolean (G_TASK (res), error);
}
-#endif /* MC >= 5.18 API */
static gboolean
commit (McpAccountManagerGoa *self)
@@ -859,7 +693,6 @@ commit (McpAccountManagerGoa *self)
return TRUE;
}
-#ifdef MCP_API_VERSION_5_18
static gboolean
mcp_account_manager_goa_commit (McpAccountStorage *self,
McpAccountManager *am,
@@ -867,31 +700,9 @@ mcp_account_manager_goa_commit (McpAccountStorage *self,
{
return commit (MCP_ACCOUNT_MANAGER_GOA (self));
}
-#else
-static gboolean
-mcp_account_manager_goa_commit (const McpAccountStorage *self,
- const McpAccountManager *am)
-{
- return commit (MCP_ACCOUNT_MANAGER_GOA (self));
-}
-#endif
-
-
-#ifndef MCP_API_VERSION_5_18
-/* removed in 5.18, MC should now be ready to receive signals at any time */
-static void
-mcp_account_manager_goa_ready (WAS_CONST McpAccountStorage *self,
- WAS_CONST McpAccountManager *am)
-{
- McpAccountManagerGoaPrivate *priv = GET_PRIVATE (self);
-
- priv->ready = TRUE;
-}
-#endif
-
-static RESTRICTIONS
-mcp_account_manager_goa_get_restrictions (WAS_CONST McpAccountStorage *self,
+static TpStorageRestrictionFlags
+mcp_account_manager_goa_get_restrictions (McpAccountStorage *self,
const gchar *account)
{
return TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS |
@@ -900,7 +711,7 @@ mcp_account_manager_goa_get_restrictions (WAS_CONST McpAccountStorage *self,
static void
-mcp_account_manager_goa_get_identifier (WAS_CONST McpAccountStorage *self,
+mcp_account_manager_goa_get_identifier (McpAccountStorage *self,
const gchar *acc,
GValue *identifier)
{
@@ -933,20 +744,12 @@ account_storage_iface_init (McpAccountStorageIface *iface)
IMPLEMENT (commit);
IMPLEMENT (get_restrictions);
IMPLEMENT (get_identifier);
-
-#ifdef MCP_API_VERSION_5_18
IMPLEMENT (delete_async);
IMPLEMENT (delete_finish);
IMPLEMENT (get_attribute);
IMPLEMENT (get_parameter);
IMPLEMENT (set_attribute);
IMPLEMENT (set_parameter);
-#else
- IMPLEMENT (get);
- IMPLEMENT (set);
- IMPLEMENT (delete);
- IMPLEMENT (ready);
-#endif
#undef IMPLEMENT
}