/soc/2015/jgeboski/facebook: 6e3ee8e18697: facebook: fixed missi...

James Geboski <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 6e3ee8e186979fc8771cca86b416b58736a5474f
Author:	 James Geboski <[email protected]>
Date:	 2015-07-05 18:05 -0400
Branch:	 facebook
URL: https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/6e3ee8e18697

Description:

facebook: fixed missing chat component

diffstat:

 libpurple/protocols/facebook/facebook.c |  48 ++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 4 deletions(-)

diffs (72 lines):

diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c
--- a/libpurple/protocols/facebook/facebook.c
+++ b/libpurple/protocols/facebook/facebook.c
@@ -584,6 +584,32 @@ fb_im_send_typing(PurpleConnection *gc, 
 	return 0;
 }
 
+static GList *
+fb_chat_info()
+{
+	GList *pces = NULL;
+	PurpleProtocolChatEntry *pce;
+
+	pce = g_new0(PurpleProtocolChatEntry, 1);
+	pce->label = _("Chat _Name:");
+	pce->identifier = "name";
+	pce->required = TRUE;
+	pces = g_list_prepend(pces, pce);
+
+	return g_list_reverse(pces);
+}
+
+static GHashTable *
+fb_chat_info_defaults(PurpleConnection *gc, const gchar *name)
+{
+	GHashTable *data;
+
+	data = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free);
+	g_hash_table_insert(data, "name", g_strdup(name));
+
+	return data;
+}
+
 static void
 fb_chat_join(PurpleConnection *gc, GHashTable *data)
 {
@@ -602,6 +628,17 @@ fb_chat_join(PurpleConnection *gc, GHash
 	fb_api_thread_info(api, tid);
 }
 
+static gchar *
+fb_chat_get_name(GHashTable *data)
+{
+	const gchar *name;
+
+	name = g_hash_table_lookup(data, "name");
+	g_return_val_if_fail(name != NULL, NULL);
+
+	return g_strdup(name);
+}
+
 static void
 fb_chat_invite(PurpleConnection *gc, gint id, const gchar *msg,
                const gchar *who)
@@ -853,10 +890,13 @@ facebook_protocol_im_iface_init(PurplePr
 static void
 facebook_protocol_chat_iface_init(PurpleProtocolChatIface *iface)
 {
-	iface->join      = fb_chat_join;
-	iface->invite    = fb_chat_invite;
-	iface->send      = fb_chat_send;
-	iface->set_topic = fb_chat_set_topic;
+	iface->info          = fb_chat_info;
+	iface->info_defaults = fb_chat_info_defaults;
+	iface->join          = fb_chat_join;
+	iface->get_name      = fb_chat_get_name;
+	iface->invite        = fb_chat_invite;
+	iface->send          = fb_chat_send;
+	iface->set_topic     = fb_chat_set_topic;
 }
 
 static void

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.