From 7f72be8fd30283f2a57a24767472d349c0ae177b Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Tue, 14 Jun 2011 15:45:32 +0200 Subject: [PATCH] handleVCardUpdatedRequest --- include/transport/networkplugin.h | 1 + src/networkplugin.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/transport/networkplugin.h b/include/transport/networkplugin.h index f94509e1..f31a556a 100644 --- a/include/transport/networkplugin.h +++ b/include/transport/networkplugin.h @@ -68,6 +68,7 @@ class NetworkPlugin { virtual void handleLogoutRequest(const std::string &user, const std::string &legacyName) = 0; virtual void handleMessageSendRequest(const std::string &user, const std::string &legacyName, const std::string &message) = 0; virtual void handleVCardRequest(const std::string &/*user*/, const std::string &/*legacyName*/, unsigned int /*id*/) {} + virtual void handleVCardUpdatedRequest(const std::string &/*user*/, const std::string &/*photo*/) {} virtual void handleJoinRoomRequest(const std::string &/*user*/, const std::string &/*room*/, const std::string &/*nickname*/, const std::string &/*pasword*/) {} virtual void handleLeaveRoomRequest(const std::string &/*user*/, const std::string &/*room*/) {} virtual void handleStatusChangeRequest(const std::string &/*user*/, int status, const std::string &statusMessage) {} diff --git a/src/networkplugin.cpp b/src/networkplugin.cpp index 11733cd1..a3d9ed16 100644 --- a/src/networkplugin.cpp +++ b/src/networkplugin.cpp @@ -311,7 +311,12 @@ void NetworkPlugin::handleVCardPayload(const std::string &data) { return; } - handleVCardRequest(payload.username(), payload.buddyname(), payload.id()); + if (payload.has_photo()) { + handleVCardUpdatedRequest(payload.username(), payload.photo()); + } + else if (!payload.buddyname().empty()) { + handleVCardRequest(payload.username(), payload.buddyname(), payload.id()); + } } void NetworkPlugin::handleBuddyChangedPayload(const std::string &data) {