Changeset - 3ec7beccdab1
[Not reviewed]
0 2 0
HanzZ - 14 years ago 2011-06-13 23:16:43
hanzz.k@gmail.com
Forward display-name in VCards
2 files changed with 10 insertions and 1 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -528,24 +528,33 @@ static void *notify_user_info(PurpleConnection *gc, const char *who, PurpleNotif
 
				lastName = purple_notify_user_info_entry_get_value(vcardEntry);
 
			}
 
			else if (label=="Nickname"){
 
				nickname = purple_notify_user_info_entry_get_value(vcardEntry);
 
			}
 
			else if (label=="Full Name"){
 
				fullName = purple_notify_user_info_entry_get_value(vcardEntry);
 
			}
 
		}
 
		vcardEntries = vcardEntries->next;
 
	}
 

	
 
	const gchar *displayname = purple_connection_get_display_name(gc);
 
	if (!displayname) {
 
		displayname = purple_account_get_name_for_display(account);
 
	}
 

	
 
	if (displayname) {
 
		nickname = displayname;
 
	}
 

	
 
	if ((!firstName.empty() || !lastName.empty()) && fullName.empty())
 
		fullName = firstName + " " + lastName;
 

	
 
	PurpleBuddy *buddy = purple_find_buddy(purple_connection_get_account(gc), who);
 
	if (buddy) {
 
		gsize len;
 
		PurpleBuddyIcon *icon = NULL;
 
		icon = purple_buddy_icons_find(purple_connection_get_account(gc), name.c_str());
 
		if (icon) {
 
			const gchar * data = (gchar*)purple_buddy_icon_get_data(icon, &len);
 
			// Sometimes libpurple returns really broken pointers here
 
			// They weren't able to do anything with that and I don't know what to do too,
src/networkpluginserver.cpp
Show inline comments
 
@@ -205,25 +205,25 @@ void NetworkPluginServer::handleDisconnectedPayload(const std::string &data) {
 
		return;
 
	}
 
	user->handleDisconnected(payload.message());
 
}
 

	
 
void NetworkPluginServer::handleVCardPayload(const std::string &data) {
 
	pbnetwork::VCard payload;
 
	if (payload.ParseFromString(data) == false) {
 
		std::cout << "PARSING ERROR\n";
 
		// TODO: ERROR
 
		return;
 
	}
 
	std::cout << "OMG?\n";
 

	
 
	boost::shared_ptr<Swift::VCard> vcard(new Swift::VCard());
 
	vcard->setFullName(payload.fullname());
 
	vcard->setPhoto(Swift::createByteArray(payload.photo()));
 
	vcard->setNickname(payload.nickname());
 

	
 
	m_vcardResponder->sendVCard(payload.id(), vcard);
 
}
 

	
 
void NetworkPluginServer::handleChatStatePayload(const std::string &data, Swift::ChatState::ChatStateType type) {
 
	pbnetwork::Buddy payload;
 
	if (payload.ParseFromString(data) == false) {
 
		// TODO: ERROR
0 comments (0 inline, 0 general)