Merge remote-tracking branch 'sarang/twitter-backend'
This commit is contained in:
commit
ff23ea7847
21 changed files with 154 additions and 103 deletions
|
@ -32,16 +32,17 @@ void CreateFriendRequest::run()
|
|||
|
||||
void CreateFriendRequest::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
std::string error;
|
||||
twitObj->getLastCurlError(error);
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << error)
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << curlerror)
|
||||
callBack(user, friendInfo, profileImg, error);
|
||||
} else {
|
||||
std::string error;
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.length()) {
|
||||
LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
if(error.getMessage().length()) {
|
||||
LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
}
|
||||
else LOG4CXX_INFO(logger, user << ": Now following " << frnd)
|
||||
callBack(user, friendInfo, profileImg, error);
|
||||
|
|
|
@ -18,14 +18,14 @@ class CreateFriendRequest : public Thread
|
|||
std::string user;
|
||||
std::string frnd;
|
||||
std::string replyMsg;
|
||||
boost::function< void (std::string&, User&, std::string &, std::string&) > callBack;
|
||||
boost::function< void (std::string&, User&, std::string &, Error&) > callBack;
|
||||
User friendInfo;
|
||||
std::string profileImg;
|
||||
bool success;
|
||||
|
||||
public:
|
||||
CreateFriendRequest(twitCurl *obj, const std::string &_user, const std::string & _frnd,
|
||||
boost::function< void (std::string&, User&, std::string &, std::string&) > cb) {
|
||||
boost::function< void (std::string&, User&, std::string &, Error&) > cb) {
|
||||
twitObj = obj->clone();
|
||||
user = _user;
|
||||
frnd = _frnd;
|
||||
|
|
|
@ -18,15 +18,16 @@ void DestroyFriendRequest::run()
|
|||
|
||||
void DestroyFriendRequest::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
std::string error;
|
||||
twitObj->getLastCurlError(error);
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << error)
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << curlerror)
|
||||
callBack(user, friendInfo, error);
|
||||
} else {
|
||||
std::string error;
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
callBack(user, friendInfo, error);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,13 +18,13 @@ class DestroyFriendRequest : public Thread
|
|||
std::string user;
|
||||
std::string frnd;
|
||||
std::string replyMsg;
|
||||
boost::function< void (std::string&, User&, std::string&) > callBack;
|
||||
boost::function< void (std::string&, User&, Error&) > callBack;
|
||||
User friendInfo;
|
||||
bool success;
|
||||
|
||||
public:
|
||||
DestroyFriendRequest(twitCurl *obj, const std::string &_user, const std::string & _frnd,
|
||||
boost::function< void (std::string&, User&, std::string&) > cb) {
|
||||
boost::function< void (std::string&, User&, Error&) > cb) {
|
||||
twitObj = obj->clone();
|
||||
user = _user;
|
||||
frnd = _frnd;
|
||||
|
|
|
@ -16,13 +16,16 @@ void DirectMessageRequest::run()
|
|||
|
||||
void DirectMessageRequest::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
twitObj->getLastCurlError( replyMsg );
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << replyMsg);
|
||||
callBack(user, username, messages, replyMsg);
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << curlerror);
|
||||
callBack(user, username, messages, error);
|
||||
} else {
|
||||
std::string error = getErrorMessage(replyMsg);
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
else LOG4CXX_INFO(logger, user << " - " << replyMsg)
|
||||
callBack(user, username, messages, error);
|
||||
}
|
||||
|
|
|
@ -18,13 +18,13 @@ class DirectMessageRequest : public Thread
|
|||
std::string user;
|
||||
std::string username;
|
||||
std::string replyMsg;
|
||||
boost::function< void (std::string&, std::string &, std::vector<DirectMessage>&, std::string&) > callBack;
|
||||
boost::function< void (std::string&, std::string &, std::vector<DirectMessage>&, Error&) > callBack;
|
||||
std::vector<DirectMessage> messages;
|
||||
bool success;
|
||||
|
||||
public:
|
||||
DirectMessageRequest(twitCurl *obj, const std::string &_user, const std::string & _username, const std::string &_data,
|
||||
boost::function< void (std::string&, std::string &, std::vector<DirectMessage>&, std::string&) > cb) {
|
||||
boost::function< void (std::string&, std::string &, std::vector<DirectMessage>&, Error&) > cb) {
|
||||
twitObj = obj->clone();
|
||||
data = _data;
|
||||
user = _user;
|
||||
|
|
|
@ -35,13 +35,16 @@ void FetchFriends::run()
|
|||
|
||||
void FetchFriends::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
twitObj->getLastCurlError( replyMsg );
|
||||
LOG4CXX_ERROR(logger, user << " - " << replyMsg)
|
||||
callBack(user, friends, friendAvatars, replyMsg);
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " - " << curlerror)
|
||||
callBack(user, friends, friendAvatars, error);
|
||||
} else {
|
||||
std::string error = getErrorMessage(replyMsg);
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
callBack(user, friends, friendAvatars, error);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,11 +21,11 @@ class FetchFriends : public Thread
|
|||
std::vector<User> friends;
|
||||
std::vector<std::string> friendAvatars;
|
||||
bool success;
|
||||
boost::function< void (std::string, std::vector<User> &, std::vector<std::string> &, std::string) > callBack;
|
||||
boost::function< void (std::string, std::vector<User> &, std::vector<std::string> &, Error) > callBack;
|
||||
|
||||
public:
|
||||
FetchFriends(twitCurl *obj, const std::string &_user,
|
||||
boost::function< void (std::string, std::vector<User> &, std::vector<std::string> &, std::string) > cb) {
|
||||
boost::function< void (std::string, std::vector<User> &, std::vector<std::string> &, Error) > cb) {
|
||||
twitObj = obj->clone();
|
||||
user = _user;
|
||||
callBack = cb;
|
||||
|
|
|
@ -20,10 +20,10 @@ void PINExchangeProcess::finalize()
|
|||
twitObj->getLastWebResponse(replyMsg);
|
||||
}
|
||||
|
||||
std::string error = getErrorMessage(replyMsg);
|
||||
if(error.length()) {
|
||||
LOG4CXX_ERROR(logger, user << ": Error while exchanging PIN for Access Token! " << error)
|
||||
np->handleMessage(user, "twitter-account", error);
|
||||
Error error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) {
|
||||
LOG4CXX_ERROR(logger, user << ": Error while exchanging PIN for Access Token! " << error.getMessage())
|
||||
np->handleMessage(user, "twitter-account", error.getMessage());
|
||||
np->handleLogoutRequest(user, "");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -12,13 +12,15 @@ void ProfileImageRequest::run()
|
|||
|
||||
void ProfileImageRequest::finalize()
|
||||
{
|
||||
Error errResponse;
|
||||
if(!success) {
|
||||
LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
img = "";
|
||||
callBack(user, buddy, img, reqID, error);
|
||||
errResponse.setMessage(error);
|
||||
callBack(user, buddy, img, reqID, errResponse);
|
||||
} else {
|
||||
LOG4CXX_INFO(logger, user << " - " << callbackdata);
|
||||
img = callbackdata;
|
||||
callBack(user, buddy, img, reqID, error);
|
||||
callBack(user, buddy, img, reqID, errResponse);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ class ProfileImageRequest : public Thread
|
|||
std::string url;
|
||||
std::string img;
|
||||
unsigned int reqID;
|
||||
boost::function< void (std::string&, std::string&, std::string&, int, std::string&) > callBack;
|
||||
boost::function< void (std::string&, std::string&, std::string&, int, Error&) > callBack;
|
||||
|
||||
std::string ip, port, puser, ppasswd;
|
||||
|
||||
|
@ -33,7 +33,7 @@ class ProfileImageRequest : public Thread
|
|||
|
||||
public:
|
||||
ProfileImageRequest(Config *config, const std::string &_user, const std::string &_buddy, const std::string &_url, unsigned int _reqID,
|
||||
boost::function< void (std::string&, std::string&, std::string&, int, std::string&) > cb) {
|
||||
boost::function< void (std::string&, std::string&, std::string&, int, Error&) > cb) {
|
||||
|
||||
if(CONFIG_HAS_KEY(config,"proxy.server")) {
|
||||
ip = CONFIG_STRING(config,"proxy.server");
|
||||
|
|
|
@ -8,15 +8,17 @@ void RetweetRequest::run()
|
|||
|
||||
void RetweetRequest::finalize()
|
||||
{
|
||||
replyMsg = "";
|
||||
Error error;
|
||||
if(!success) {
|
||||
twitObj->getLastCurlError( replyMsg );
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << replyMsg)
|
||||
callBack(user, replyMsg);
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " Curl error: " << curlerror)
|
||||
callBack(user, error);
|
||||
} else {
|
||||
twitObj->getLastWebResponse( replyMsg );
|
||||
std::string error = getErrorMessage( replyMsg );
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
twitObj->getLastWebResponse(replyMsg);
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
else LOG4CXX_INFO(logger, user << " " << replyMsg);
|
||||
callBack(user, error);
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ class RetweetRequest : public Thread
|
|||
std::string user;
|
||||
std::string replyMsg;
|
||||
bool success;
|
||||
boost::function < void (std::string&, std::string &) > callBack;
|
||||
boost::function < void (std::string&, Error&) > callBack;
|
||||
|
||||
public:
|
||||
RetweetRequest(twitCurl *obj, const std::string &_user, const std::string &_data,
|
||||
boost::function < void (std::string &, std::string &) > _cb) {
|
||||
boost::function < void (std::string &, Error&) > _cb) {
|
||||
twitObj = obj->clone();
|
||||
data = _data;
|
||||
user = _user;
|
||||
|
|
|
@ -14,13 +14,16 @@ void StatusUpdateRequest::run()
|
|||
|
||||
void StatusUpdateRequest::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
twitObj->getLastCurlError( replyMsg );
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << replyMsg );
|
||||
callBack(user, replyMsg);
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << curlerror);
|
||||
callBack(user, error);
|
||||
} else {
|
||||
std::string error = getErrorMessage(replyMsg);
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
else LOG4CXX_INFO(logger, "Updated status for " << user << ": " << data);
|
||||
callBack(user, error);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "transport/threadpool.h"
|
||||
#include "../libtwitcurl/twitcurl.h"
|
||||
#include "../TwitterResponseParser.h"
|
||||
#include "transport/networkplugin.h"
|
||||
#include "transport/logging.h"
|
||||
#include <boost/function.hpp>
|
||||
|
@ -16,12 +17,12 @@ class StatusUpdateRequest : public Thread
|
|||
std::string data;
|
||||
std::string user;
|
||||
std::string replyMsg;
|
||||
boost::function<void (std::string& user, std::string& errMsg)> callBack;
|
||||
boost::function<void (std::string& user, Error& errMsg)> callBack;
|
||||
bool success;
|
||||
|
||||
public:
|
||||
StatusUpdateRequest(twitCurl *obj, const std::string &_user, const std::string &_data,
|
||||
boost::function<void (std::string& user, std::string& errMsg)> cb) {
|
||||
boost::function<void (std::string& user, Error& errMsg)> cb) {
|
||||
twitObj = obj->clone();
|
||||
data = _data;
|
||||
user = _user;
|
||||
|
|
|
@ -17,13 +17,16 @@ void TimelineRequest::run()
|
|||
|
||||
void TimelineRequest::finalize()
|
||||
{
|
||||
Error error;
|
||||
if(!success) {
|
||||
twitObj->getLastCurlError( replyMsg );
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << replyMsg)
|
||||
callBack(user, userRequested, tweets, replyMsg);
|
||||
std::string curlerror;
|
||||
twitObj->getLastCurlError(curlerror);
|
||||
error.setMessage(curlerror);
|
||||
LOG4CXX_ERROR(logger, user << " - Curl error: " << curlerror)
|
||||
callBack(user, userRequested, tweets, error);
|
||||
} else {
|
||||
std::string error = getErrorMessage(replyMsg);
|
||||
if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error)
|
||||
error = getErrorMessage(replyMsg);
|
||||
if(error.getMessage().length()) LOG4CXX_ERROR(logger, user << " - " << error.getMessage())
|
||||
callBack(user, userRequested, tweets, error);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@ class TimelineRequest : public Thread
|
|||
std::string replyMsg;
|
||||
std::string since_id;
|
||||
bool success;
|
||||
boost::function< void (std::string&, std::string&, std::vector<Status> &, std::string&) > callBack;
|
||||
boost::function< void (std::string&, std::string&, std::vector<Status> &, Error&) > callBack;
|
||||
std::vector<Status> tweets;
|
||||
|
||||
public:
|
||||
TimelineRequest(twitCurl *obj, const std::string &_user, const std::string &_user2, const std::string &_since_id,
|
||||
boost::function< void (std::string&, std::string&, std::vector<Status> &, std::string&) > cb) {
|
||||
boost::function< void (std::string&, std::string&, std::vector<Status> &, Error&) > cb) {
|
||||
twitObj = obj->clone();
|
||||
user = _user;
|
||||
userRequested = _user2;
|
||||
|
|
|
@ -533,11 +533,11 @@ std::string TwitterPlugin::getMostRecentDMID(const std::string user)
|
|||
}
|
||||
|
||||
/************************************** Twitter response functions **********************************/
|
||||
void TwitterPlugin::statusUpdateResponse(std::string &user, std::string &errMsg)
|
||||
void TwitterPlugin::statusUpdateResponse(std::string &user, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
if(errMsg.getMessage().length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
} else {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
"Status Update successful", userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
|
@ -561,9 +561,9 @@ void TwitterPlugin::clearRoster(const std::string user)
|
|||
userdb[user].buddies.clear();
|
||||
}
|
||||
|
||||
void TwitterPlugin::populateRoster(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, std::string &errMsg)
|
||||
void TwitterPlugin::populateRoster(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length() == 0)
|
||||
if(errMsg.getMessage().length() == 0)
|
||||
{
|
||||
for(int i=0 ; i<friends.size() ; i++) {
|
||||
userdb[user].buddies.insert(friends[i].getScreenName());
|
||||
|
@ -584,14 +584,14 @@ void TwitterPlugin::populateRoster(std::string &user, std::vector<User> &friends
|
|||
userdb[user].twitterMode == CHATROOM ? adminNickName : "");*/
|
||||
}
|
||||
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
std::string("Error populating roster - ") + errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
std::string("Error populating roster - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
|
||||
if(userdb[user].twitterMode == CHATROOM) handleParticipantChanged(user, userdb[user].nickName, adminChatRoom, 0, pbnetwork::STATUS_ONLINE);
|
||||
}
|
||||
|
||||
void TwitterPlugin::displayFriendlist(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, std::string &errMsg)
|
||||
void TwitterPlugin::displayFriendlist(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length() == 0)
|
||||
if(errMsg.getMessage().length() == 0)
|
||||
{
|
||||
std::string userlist = "\n***************USER LIST****************\n";
|
||||
for(int i=0 ; i < friends.size() ; i++) {
|
||||
|
@ -601,13 +601,13 @@ void TwitterPlugin::displayFriendlist(std::string &user, std::vector<User> &frie
|
|||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
userlist, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
|
||||
}
|
||||
|
||||
void TwitterPlugin::displayTweets(std::string &user, std::string &userRequested, std::vector<Status> &tweets , std::string &errMsg)
|
||||
void TwitterPlugin::displayTweets(std::string &user, std::string &userRequested, std::vector<Status> &tweets , Error &errMsg)
|
||||
{
|
||||
if(errMsg.length() == 0) {
|
||||
if(errMsg.getMessage().length() == 0) {
|
||||
|
||||
std::string timeline = "";
|
||||
std::map<std::string, int> lastTweet;
|
||||
|
@ -643,14 +643,21 @@ void TwitterPlugin::displayTweets(std::string &user, std::string &userRequested,
|
|||
if(timeline.length()) handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
timeline, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
}
|
||||
|
||||
void TwitterPlugin::directMessageResponse(std::string &user, std::string &username, std::vector<DirectMessage> &messages, std::string &errMsg)
|
||||
void TwitterPlugin::directMessageResponse(std::string &user, std::string &username, std::vector<DirectMessage> &messages, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
std::string("Error while sending direct message! - ") + errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
if(errMsg.getCode() == "93") //Permission Denied
|
||||
return;
|
||||
|
||||
if(errMsg.getMessage().length()) {
|
||||
if(username != "")
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
std::string("Error while sending direct message! - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
else
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
std::string("Error while fetching direct messages! - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -698,11 +705,11 @@ void TwitterPlugin::directMessageResponse(std::string &user, std::string &userna
|
|||
}
|
||||
}
|
||||
|
||||
void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::string &img, std::string &errMsg)
|
||||
void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::string &img, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
if(errMsg.getMessage().length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -721,11 +728,11 @@ void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::str
|
|||
}
|
||||
}
|
||||
|
||||
void TwitterPlugin::deleteFriendResponse(std::string &user, User &frnd, std::string &errMsg)
|
||||
void TwitterPlugin::deleteFriendResponse(std::string &user, User &frnd, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
if(errMsg.getMessage().length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -745,22 +752,22 @@ void TwitterPlugin::deleteFriendResponse(std::string &user, User &frnd, std::str
|
|||
}
|
||||
|
||||
|
||||
void TwitterPlugin::RetweetResponse(std::string &user, std::string &errMsg)
|
||||
void TwitterPlugin::RetweetResponse(std::string &user, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
if(errMsg.getMessage().length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
} else {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
"Retweet successful", userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
}
|
||||
}
|
||||
|
||||
void TwitterPlugin::profileImageResponse(std::string &user, std::string &buddy, std::string &img, unsigned int reqID, std::string &errMsg)
|
||||
void TwitterPlugin::profileImageResponse(std::string &user, std::string &buddy, std::string &img, unsigned int reqID, Error &errMsg)
|
||||
{
|
||||
if(errMsg.length()) {
|
||||
if(errMsg.getMessage().length()) {
|
||||
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
|
||||
errMsg, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
|
||||
} else {
|
||||
LOG4CXX_INFO(logger, user << " - Sending VCard for " << buddy)
|
||||
handleVCard(user, reqID, buddy, buddy, "", img);
|
||||
|
|
|
@ -44,6 +44,7 @@ class TwitterPlugin;
|
|||
extern TwitterPlugin *np;
|
||||
extern Swift::SimpleEventLoop *loop_; // Event Loop
|
||||
|
||||
|
||||
class TwitterPlugin : public NetworkPlugin {
|
||||
public:
|
||||
Swift::BoostNetworkFactories *m_factories;
|
||||
|
@ -111,25 +112,25 @@ class TwitterPlugin : public NetworkPlugin {
|
|||
bool setTwitterMode(const std::string user, int m);
|
||||
|
||||
/****************** Twitter response handlers **************************************/
|
||||
void statusUpdateResponse(std::string &user, std::string &errMsg);
|
||||
void statusUpdateResponse(std::string &user, Error &errMsg);
|
||||
|
||||
void helpMessageResponse(std::string &user, std::string &msg);
|
||||
|
||||
void populateRoster(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, std::string &errMsg);
|
||||
void populateRoster(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, Error &errMsg);
|
||||
|
||||
void displayFriendlist(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, std::string &errMsg);
|
||||
void displayFriendlist(std::string &user, std::vector<User> &friends, std::vector<std::string> &friendAvatars, Error &errMsg);
|
||||
|
||||
void displayTweets(std::string &user, std::string &userRequested, std::vector<Status> &tweets , std::string &errMsg);
|
||||
void displayTweets(std::string &user, std::string &userRequested, std::vector<Status> &tweets , Error &errMsg);
|
||||
|
||||
void directMessageResponse(std::string &user, std::string &username, std::vector<DirectMessage> &messages, std::string &errMsg);
|
||||
void directMessageResponse(std::string &user, std::string &username, std::vector<DirectMessage> &messages, Error &errMsg);
|
||||
|
||||
void createFriendResponse(std::string &user, User &frnd, std::string &img, std::string &errMsg);
|
||||
void createFriendResponse(std::string &user, User &frnd, std::string &img, Error &errMsg);
|
||||
|
||||
void deleteFriendResponse(std::string &user, User &frnd, std::string &errMsg);
|
||||
void deleteFriendResponse(std::string &user, User &frnd, Error &errMsg);
|
||||
|
||||
void RetweetResponse(std::string &user, std::string &errMsg);
|
||||
void RetweetResponse(std::string &user, Error &errMsg);
|
||||
|
||||
void profileImageResponse(std::string &user, std::string &buddy, std::string &img, unsigned int reqID, std::string &errMsg);
|
||||
void profileImageResponse(std::string &user, std::string &buddy, std::string &img, unsigned int reqID, Error &errMsg);
|
||||
/***********************************************************************************/
|
||||
|
||||
private:
|
||||
|
|
|
@ -212,19 +212,30 @@ std::vector<std::string> getIDs(std::string &xml)
|
|||
return IDs;
|
||||
}
|
||||
|
||||
std::string getErrorMessage(std::string &xml)
|
||||
Error getErrorMessage(std::string &xml)
|
||||
{
|
||||
std::string error;
|
||||
std::string error = "";
|
||||
std::string code = "";
|
||||
Error resp;
|
||||
|
||||
Swift::ParserElement::ref rootElement = Swift::StringTreeParser::parse(xml);
|
||||
|
||||
if(rootElement == NULL) {
|
||||
LOG4CXX_ERROR(logger, "Error while parsing XML");
|
||||
return "";
|
||||
return resp;
|
||||
}
|
||||
|
||||
const std::string xmlns = rootElement->getNamespace();
|
||||
const Swift::ParserElement::ref errorElement = rootElement->getChild(TwitterReponseTypes::error, xmlns);
|
||||
Swift::AttributeMap attributes = errorElement->getAttributes();
|
||||
|
||||
if(errorElement != NULL) error = errorElement->getText();
|
||||
return error;
|
||||
if(errorElement != NULL) {
|
||||
error = errorElement->getText();
|
||||
code = (errorElement->getAttributes()).getAttribute("code");
|
||||
}
|
||||
|
||||
resp.setCode(code);
|
||||
resp.setMessage(error);
|
||||
|
||||
return resp;
|
||||
}
|
||||
|
|
|
@ -192,12 +192,25 @@ class DirectMessage
|
|||
void setRecipientData(User u) {recipient = u;}
|
||||
};
|
||||
|
||||
class Error
|
||||
{
|
||||
std::string code;
|
||||
std::string message;
|
||||
public:
|
||||
Error():code(""),message(""){}
|
||||
std::string getCode() {return code;}
|
||||
std::string getMessage() {return message;}
|
||||
|
||||
void setCode(std::string &_code) {code = _code;}
|
||||
void setMessage(std::string &_message) {message = _message;}
|
||||
};
|
||||
|
||||
std::vector<Status> getTimeline(std::string &xml);
|
||||
std::vector<DirectMessage> getDirectMessages(std::string &xml);
|
||||
std::vector<std::string> getIDs(std::string &xml);
|
||||
std::vector<User> getUsers(std::string &xml);
|
||||
User getUser(std::string &xml);
|
||||
std::string getErrorMessage(std::string &xml);
|
||||
Error getErrorMessage(std::string &xml);
|
||||
|
||||
Status getStatus(const Swift::ParserElement::ref &element, const std::string xmlns);
|
||||
DirectMessage getDirectMessage(const Swift::ParserElement::ref &element, const std::string xmlns);
|
||||
|
|
Loading…
Add table
Reference in a new issue