Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/EionRobb/skype4pidgin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEion Robb <eion@robbmob.com>2015-06-01 08:48:38 +0300
committerEion Robb <eion@robbmob.com>2015-06-01 08:48:38 +0300
commit7c83e4ebe9e627fc8c48ac56c46a46a98f8161ab (patch)
tree89631e858f7f4088acd0f1316023f61d67ee52d0
parentc1b7c2bc88f3b41b1439963a442d5188544615a8 (diff)
SkypeWeb: Subscribe to buddy status/message updates after adding them or authorizing their add request
-rw-r--r--skypeweb/skypeweb_contacts.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/skypeweb/skypeweb_contacts.c b/skypeweb/skypeweb_contacts.c
index 573fced..a6637d2 100644
--- a/skypeweb/skypeweb_contacts.c
+++ b/skypeweb/skypeweb_contacts.c
@@ -646,6 +646,7 @@ skypeweb_auth_accept_cb(gpointer sender)
PurpleBuddy *buddy = sender;
SkypeWebAccount *sa;
gchar *url = NULL;
+ GSList *users_to_fetch;
sa = buddy->account->gc->proto_data;
@@ -654,6 +655,11 @@ skypeweb_auth_accept_cb(gpointer sender)
skypeweb_post_or_get(sa, SKYPEWEB_METHOD_PUT | SKYPEWEB_METHOD_SSL, SKYPEWEB_CONTACTS_HOST, url, NULL, NULL, NULL, TRUE);
g_free(url);
+
+ // Subscribe to status/message updates
+ users_to_fetch = g_slist_prepend(NULL, buddy->name);
+ skypeweb_subscribe_to_contact_status(sa, users_to_fetch);
+ g_slist_free(users_to_fetch);
}
void
@@ -716,6 +722,7 @@ skypeweb_add_buddy_with_invite(PurpleConnection *pc, PurpleBuddy *buddy, PurpleG
{
SkypeWebAccount *sa = pc->proto_data;
gchar *url, *postdata;
+ GSList *users_to_fetch;
url = g_strdup_printf("/users/self/contacts/auth-request/%s", purple_url_encode(buddy->name));
postdata = g_strdup_printf("greeting=%s", message ? purple_url_encode(message) : "");
@@ -724,6 +731,11 @@ skypeweb_add_buddy_with_invite(PurpleConnection *pc, PurpleBuddy *buddy, PurpleG
g_free(postdata);
g_free(url);
+
+ // Subscribe to status/message updates
+ users_to_fetch = g_slist_prepend(NULL, buddy->name);
+ skypeweb_subscribe_to_contact_status(sa, users_to_fetch);
+ g_slist_free(users_to_fetch);
}
void