diff --git a/src/networkplugin.cpp b/src/networkplugin.cpp index 9f35885f7a14da5453655bd474562625e174df78..3b4fa4f1b79b286bc51b177cc02738fde1de2991 100644 --- a/src/networkplugin.cpp +++ b/src/networkplugin.cpp @@ -265,6 +265,16 @@ void NetworkPlugin::handleVCardPayload(const std::string &data) { handleVCardRequest(payload.username(), payload.buddyname(), payload.id()); } +void NetworkPlugin::handleBuddyChangedPayload(const std::string &data) { + pbnetwork::Buddy payload; + if (payload.ParseFromString(data) == false) { + // TODO: ERROR + return; + } + + handleBuddyUpdatedRequest(payload.username(), payload.buddyname(), payload.alias(), payload.groups()); +} + void NetworkPlugin::handleDataRead(const Swift::SafeByteArray &data) { m_data.insert(m_data.end(), data.begin(), data.end()); @@ -310,6 +320,9 @@ void NetworkPlugin::handleDataRead(const Swift::SafeByteArray &data) { case pbnetwork::WrapperMessage_Type_TYPE_VCARD: handleVCardPayload(wrapper.payload()); break; + case pbnetwork::WrapperMessage_Type_TYPE_BUDDY_CHANGED: + handleBuddyChangedPayload(wrapper.payload()); + break; default: return; }