From 56c45b9e3dca28febe179a0619f598358dfa8702 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Wed, 1 Jun 2011 16:00:30 +0200 Subject: [PATCH] send VCard request to backend --- src/networkpluginserver.cpp | 14 +++++++++++++- src/pbnetwork.proto | 10 ++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 26c20cc0..e3a825ac 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -487,7 +487,19 @@ void NetworkPluginServer::handleMessageReceived(NetworkConversation *conv, boost } void NetworkPluginServer::handleVCardRequired(User *user, const std::string &name, unsigned int id) { - + std::cout << "VCARD REQUIRED " << name << " " << id << "\n"; + pbnetwork::VCard vcard; + vcard.set_username(user->getJID().toBare()); + vcard.set_buddyname(name); + vcard.set_id(id); + + std::string message; + vcard.SerializeToString(&message); + + WRAP(message, pbnetwork::WrapperMessage_Type_TYPE_VCARD); + + Client *c = (Client *) user->getData(); + send(c->connection, message); } void NetworkPluginServer::sendPing(Client *c) { diff --git a/src/pbnetwork.proto b/src/pbnetwork.proto index 8ca0ecad..fcd9428c 100644 --- a/src/pbnetwork.proto +++ b/src/pbnetwork.proto @@ -57,6 +57,15 @@ message Participant { optional string newname = 7; } +message VCard { + required string userName = 1; + required string buddyName = 2; + required int32 id = 3; + optional string fullname = 4; + optional string nickname = 5; + optional bytes photo = 6; +} + message WrapperMessage { enum Type { TYPE_CONNECTED = 1; @@ -73,6 +82,7 @@ message WrapperMessage { TYPE_PARTICIPANT_CHANGED = 13; TYPE_ROOM_NICKNAME_CHANGED = 14; TYPE_ROOM_SUBJECT_CHANGED = 15; + TYPE_VCARD = 16; } required Type type = 1; optional bytes payload = 2;