Changeset - 35e56d515d97
[Not reviewed]
0 4 0
Jan Kaluza - 14 years ago 2011-04-11 14:03:15
hanzz.k@gmail.com
handleVCardReceived - not connected to libpurple yet...
4 files changed with 14 insertions and 0 deletions:
0 comments (0 inline, 0 general)
include/transport/buddy.h
Show inline comments
 
@@ -96,24 +96,28 @@ class Buddy {
 
		BuddyFlag getFlags();
 

	
 
		/// Returns RosterManager associated with this buddy
 
		/// \return rosterManager
 
		RosterManager *getRosterManager() { return m_rosterManager; }
 

	
 
		/// Returns legacy network username which does not contain unsafe characters,
 
		/// so it can be used in JIDs.
 
		std::string getSafeName();
 

	
 
		void buddyChanged();
 

	
 
		void handleVCardReceived(const std::string &id, const Swift::JID &to, Swift::VCard::ref vcard);
 

	
 
		virtual void getVCard(const std::string &id, const Swift::JID &to) = 0;
 

	
 
		/// Returns legacy network username of this buddy. (for example UIN for ICQ,
 
		/// JID for Jabber, ...).
 
		/// \return legacy network username
 
		virtual std::string getName() = 0;
 

	
 
		/// Returns alias (nickname) of this buddy.
 
		/// \return alias (nickname)
 
		virtual std::string getAlias() = 0;
 

	
 
		/// Returns list of groups this buddy is in.
 
		/// \return groups
 
		virtual std::vector<std::string> getGroups() = 0;
spectrum/src/spectrumbuddy.cpp
Show inline comments
 
@@ -123,12 +123,16 @@ std::string SpectrumBuddy::getIconHash() {
 
		}
 
	}
 

	
 
	return "";
 
}
 

	
 
std::vector<std::string> SpectrumBuddy::getGroups() {
 
	std::vector<std::string> groups;
 
	groups.push_back(purple_group_get_name(purple_buddy_get_group(m_buddy)) ? std::string(purple_group_get_name(purple_buddy_get_group(m_buddy))) : std::string("Buddies"));
 
	return groups;
 
}
 

	
 
void SpectrumBuddy::getVCard(const std::string &id, const Swift::JID &to) {
 
	
 
}
 

	
spectrum/src/spectrumbuddy.h
Show inline comments
 
@@ -37,21 +37,22 @@ class SpectrumBuddy : public Buddy {
 
		SpectrumBuddy(RosterManager *rosterManager, long id, PurpleBuddy *buddy);
 
		virtual ~SpectrumBuddy();
 

	
 
		std::string getAlias();
 
		std::string getName();
 
		bool getStatus(Swift::StatusShow &status, std::string &statusMessage);
 
		std::string getIconHash();
 
		std::vector<std::string> getGroups();
 

	
 
		void addBuddy(PurpleBuddy *buddy) { m_buddies.push_back(buddy); }
 
		void removeBuddy(PurpleBuddy *buddy) { m_buddies.remove(buddy); }
 
		int getBuddiesCount() { return m_buddies.size(); }
 
		void getVCard(const std::string &id, const Swift::JID &to);
 
		
 
		PurpleBuddy *getBuddy() { return m_buddy; }
 

	
 
	private:
 
		PurpleBuddy *m_buddy;
 
		std::list<PurpleBuddy *> m_buddies;
 
};
 

	
 
#endif
src/buddy.cpp
Show inline comments
 
@@ -144,24 +144,29 @@ std::string Buddy::getSafeName() {
 
// 		Log("SpectrumBuddy::getSafeName", "Name is EMPTY! Previous was " << getName() << ".");
 
// 	}
 
	return name;
 
}
 

	
 
void Buddy::buddyChanged() {
 
	Swift::Presence::ref presence = generatePresenceStanza(255);
 
	if (presence) {
 
		m_rosterManager->getUser()->getComponent()->getStanzaChannel()->sendPresence(presence);
 
	}
 
}
 

	
 
void Buddy::handleVCardReceived(const std::string &id, const Swift::JID &to, Swift::VCard::ref vcard) {
 
	boost::shared_ptr<Swift::GenericRequest<Swift::VCard> > request(new Swift::GenericRequest<Swift::VCard>(Swift::IQ::Result, m_rosterManager->getUser()->getJID(), vcard, m_rosterManager->getUser()->getComponent()->getIQRouter()));
 
	request->send();
 
}
 

	
 
std::string Buddy::JIDToLegacyName(const Swift::JID &jid) {
 
	std::string name;
 
	if (jid.getUnescapedNode() == jid.getNode()) {
 
		name = jid.getNode();
 
		if (name.find_last_of("%") != std::string::npos) {
 
			name.replace(name.find_last_of("%"), 1, "@");
 
		}
 
	}
 
	else {
 
		name = jid.getUnescapedNode();
 
	}
 
	return name;
0 comments (0 inline, 0 general)