empathy r1733 - trunk/libempathy
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r1733 - trunk/libempathy
- Date: Fri, 21 Nov 2008 16:13:20 +0000 (UTC)
Author: xclaesse
Date: Fri Nov 21 16:13:20 2008
New Revision: 1733
URL: http://svn.gnome.org/viewvc/empathy?rev=1733&view=rev
Log:
Added ft-related functions to EmpathyContact. (Jonny Lamb)
Signed-off-by: Jonny Lamb <jonny lamb collabora co uk>
Modified:
trunk/libempathy/empathy-contact.c
trunk/libempathy/empathy-contact.h
Modified: trunk/libempathy/empathy-contact.c
==============================================================================
--- trunk/libempathy/empathy-contact.c (original)
+++ trunk/libempathy/empathy-contact.c Fri Nov 21 16:13:20 2008
@@ -560,6 +560,20 @@
return priv->handle;
}
+static gboolean
+is_salut (EmpathyContact *contact)
+{
+ McAccount *account;
+ McProfile *profile;
+ const gchar *name;
+
+ account = empathy_contact_get_account (contact);
+ profile = mc_account_get_profile (account);
+ name = mc_profile_get_protocol_name (profile);
+
+ return (strcmp (name, "local-xmpp") == 0);
+}
+
void
empathy_contact_set_handle (EmpathyContact *contact,
guint handle)
@@ -575,6 +589,19 @@
{
priv->handle = handle;
g_object_notify (G_OBJECT (contact), "handle");
+
+ /* FIXME salut does not yet support the Capabilities interface, so for
+ * now we use this hack.
+ */
+ if (is_salut (contact))
+ {
+ EmpathyCapabilities caps;
+
+ caps = empathy_contact_get_capabilities (contact);
+ caps |= EMPATHY_CAPABILITIES_FT;
+
+ empathy_contact_set_capabilities (contact, caps);
+ }
}
contact_set_ready_flag (contact, EMPATHY_CONTACT_READY_HANDLE);
g_object_unref (contact);
@@ -680,6 +707,18 @@
EMPATHY_CAPABILITIES_VIDEO);
}
+gboolean
+empathy_contact_can_send_files (EmpathyContact *contact)
+{
+ EmpathyContactPriv *priv;
+
+ g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), FALSE);
+
+ priv = GET_PRIV (contact);
+
+ return priv->capabilities & EMPATHY_CAPABILITIES_FT;
+}
+
EmpathyContactReady
empathy_contact_get_ready (EmpathyContact *contact)
{
Modified: trunk/libempathy/empathy-contact.h
==============================================================================
--- trunk/libempathy/empathy-contact.h (original)
+++ trunk/libempathy/empathy-contact.h Fri Nov 21 16:13:20 2008
@@ -66,6 +66,7 @@
EMPATHY_CAPABILITIES_NONE = 0,
EMPATHY_CAPABILITIES_AUDIO = 1 << 0,
EMPATHY_CAPABILITIES_VIDEO = 1 << 1,
+ EMPATHY_CAPABILITIES_FT = 1 << 2,
EMPATHY_CAPABILITIES_UNKNOWN = 1 << 7
} EmpathyCapabilities;
@@ -108,6 +109,7 @@
gboolean empathy_contact_is_online (EmpathyContact *contact);
const gchar * empathy_contact_get_status (EmpathyContact *contact);
gboolean empathy_contact_can_voip (EmpathyContact *contact);
+gboolean empathy_contact_can_send_files (EmpathyContact *contact);
gboolean empathy_contact_equal (gconstpointer v1, gconstpointer v2);
guint empathy_contact_hash (gconstpointer key);
void empathy_contact_run_until_ready (EmpathyContact *contact,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]