From 85c28989bdb8ae224a6b170d81f3201482b1a20f Mon Sep 17 00:00:00 2001 From: Sarang Bharadwaj Date: Mon, 23 Jul 2012 19:22:51 +0530 Subject: [PATCH] Fetching avatars, SHA1 hash --- backends/twitter/TwitterPlugin.cpp | 16 ++++++++++------ backends/twitter/TwitterPlugin.h | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backends/twitter/TwitterPlugin.cpp b/backends/twitter/TwitterPlugin.cpp index 53e6891b..a503eb3b 100644 --- a/backends/twitter/TwitterPlugin.cpp +++ b/backends/twitter/TwitterPlugin.cpp @@ -17,6 +17,8 @@ TwitterPlugin *np = NULL; Swift::SimpleEventLoop *loop_; // Event Loop #define abs(x) ((x)<0?-(x):(x)) +#define SHA(x) (Swift::byteArrayToString(Swift::SHA1::getHash(Swift::createByteArray((x))))) + static int cmp(std::string a, std::string b) { int diff = abs((int)a.size() - (int)b.size()); @@ -556,14 +558,16 @@ void TwitterPlugin::populateRoster(std::string &user, std::vector &friends if(errMsg.length() == 0) { for(int i=0 ; i(), pbnetwork::STATUS_ONLINE, "", "DUMMY"); - else if(userdb[user].twitterMode == CHATROOM) - handleParticipantChanged(user, friends[i].getScreenName(), adminChatRoom, 0, pbnetwork::STATUS_ONLINE); - userdb[user].buddies.insert(friends[i].getScreenName()); userdb[user].buddiesInfo[friends[i].getScreenName()] = friends[i]; userdb[user].buddiesImgs[friends[i].getScreenName()] = friendAvatars[i]; + + if(userdb[user].twitterMode == MULTIPLECONTACT) + handleBuddyChanged(user, friends[i].getScreenName(), friends[i].getScreenName(), std::vector(), + pbnetwork::STATUS_ONLINE, "", SHA(friendAvatars[i])); + else if(userdb[user].twitterMode == CHATROOM) + handleParticipantChanged(user, friends[i].getScreenName(), adminChatRoom, 0, pbnetwork::STATUS_ONLINE); + //imgURL[friends[i].getScreenName()] = friends[i].getProfileImgURL(); } @@ -687,7 +691,7 @@ void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::str //handleBuddyChanged(user, frnd, frnd, std::vector(), pbnetwork::STATUS_NONE); if(userdb[user].twitterMode == MULTIPLECONTACT) { - handleBuddyChanged(user, frnd.getScreenName(), frnd.getScreenName(), std::vector(), pbnetwork::STATUS_ONLINE, "", "DUMMY"); + handleBuddyChanged(user, frnd.getScreenName(), frnd.getScreenName(), std::vector(), pbnetwork::STATUS_ONLINE, "", SHA(img)); } else if(userdb[user].twitterMode == CHATROOM) { //userdb[user].buddies.insert(frnd); handleParticipantChanged(user, frnd.getScreenName(), adminChatRoom, 0, pbnetwork::STATUS_ONLINE); diff --git a/backends/twitter/TwitterPlugin.h b/backends/twitter/TwitterPlugin.h index 0e121d5a..7a997984 100644 --- a/backends/twitter/TwitterPlugin.h +++ b/backends/twitter/TwitterPlugin.h @@ -32,6 +32,7 @@ #include #include "ThreadPool.h" +#include "Swiften/StringCodecs/SHA1.h" using namespace boost::filesystem; using namespace boost::program_options;