[next] telepathy-haze: Adapt for simplified presence mixin
Simon McVittie
smcv at kemper.freedesktop.org
Thu Apr 10 06:01:17 PDT 2014
Module: telepathy-haze
Branch: next
Commit: fb22b7039d26bfcb92e6ffa8d924ffde86bef58e
URL: http://cgit.freedesktop.org/telepathy/telepathy-haze/commit/?id=fb22b7039d26bfcb92e6ffa8d924ffde86bef58e
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 9 20:04:46 2014 +0100
Adapt for simplified presence mixin
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77191
---
src/connection-presence.c | 43 ++++++++++++-------------------------------
1 file changed, 12 insertions(+), 31 deletions(-)
diff --git a/src/connection-presence.c b/src/connection-presence.c
index 35b3820..2b1ea2b 100644
--- a/src/connection-presence.c
+++ b/src/connection-presence.c
@@ -27,11 +27,6 @@
#include <telepathy-glib/telepathy-glib.h>
#include <telepathy-glib/telepathy-glib-dbus.h>
-static const TpPresenceStatusOptionalArgumentSpec arg_specs[] = {
- { "message", "s" },
- { NULL, NULL }
-};
-
typedef enum {
HAZE_STATUS_AVAILABLE = 0,
HAZE_STATUS_BUSY,
@@ -46,18 +41,14 @@ typedef enum {
/* Indexed by HazeStatusIndex */
static const TpPresenceStatusSpec statuses[] = {
- { "available", TP_CONNECTION_PRESENCE_TYPE_AVAILABLE, TRUE,
- arg_specs, NULL, NULL },
- { "busy", TP_CONNECTION_PRESENCE_TYPE_BUSY, TRUE,
- arg_specs, NULL, NULL },
- { "away", TP_CONNECTION_PRESENCE_TYPE_AWAY, TRUE,
- arg_specs, NULL, NULL },
- { "xa", TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY, TRUE,
- arg_specs, NULL, NULL },
- { "hidden", TP_CONNECTION_PRESENCE_TYPE_HIDDEN, TRUE, NULL, NULL, NULL },
- { "offline", TP_CONNECTION_PRESENCE_TYPE_OFFLINE, FALSE, NULL, NULL, NULL },
- { "unknown", TP_CONNECTION_PRESENCE_TYPE_UNKNOWN, FALSE, NULL, NULL, NULL },
- { NULL, TP_CONNECTION_PRESENCE_TYPE_UNSET, FALSE, NULL, NULL, NULL }
+ { "available", TP_CONNECTION_PRESENCE_TYPE_AVAILABLE, TRUE, TRUE },
+ { "busy", TP_CONNECTION_PRESENCE_TYPE_BUSY, TRUE, TRUE },
+ { "away", TP_CONNECTION_PRESENCE_TYPE_AWAY, TRUE, TRUE },
+ { "xa", TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY, TRUE, TRUE },
+ { "hidden", TP_CONNECTION_PRESENCE_TYPE_HIDDEN, TRUE, FALSE },
+ { "offline", TP_CONNECTION_PRESENCE_TYPE_OFFLINE, FALSE, FALSE },
+ { "unknown", TP_CONNECTION_PRESENCE_TYPE_UNKNOWN, FALSE, FALSE },
+ { NULL }
};
/* Indexed by HazeStatusIndex */
@@ -86,11 +77,9 @@ _get_tp_status (PurpleStatus *p_status)
{
PurpleStatusType *type;
PurpleStatusPrimitive prim;
- GHashTable *arguments = g_hash_table_new_full (g_str_hash, g_str_equal,
- NULL, (GDestroyNotify) tp_g_value_slice_free);
guint status_ix = -1;
const gchar *xhtml_message;
- gchar *message;
+ gchar *message = NULL;
TpPresenceStatus *tp_status;
if (p_status == NULL)
@@ -115,18 +104,12 @@ _get_tp_status (PurpleStatus *p_status)
xhtml_message = purple_status_get_attr_string (p_status, "message");
if (xhtml_message)
{
- GValue *message_v = g_slice_new0 (GValue);
-
message = purple_markup_strip_html (xhtml_message);
- g_value_init (message_v, G_TYPE_STRING);
- g_value_set_string (message_v, message);
- g_hash_table_insert (arguments, "message", message_v);
- g_free (message);
}
}
- tp_status = tp_presence_status_new (status_ix, arguments);
- g_hash_table_destroy (arguments);
+ tp_status = tp_presence_status_new (status_ix, message);
+ g_free (message);
return tp_status;
}
@@ -281,9 +264,7 @@ _set_own_status (GObject *obj,
if (status != NULL)
{
status_id = _get_purple_status_id (self, status->index);
-
- if (status->optional_arguments != NULL)
- message = tp_asv_get_string (status->optional_arguments, "message");
+ message = status->message;
}
if (status_id == NULL)
More information about the telepathy-commits
mailing list