diff options
Diffstat (limited to 'Swiften/VCards/VCardManager.h')
| -rw-r--r-- | Swiften/VCards/VCardManager.h | 17 | 
1 files changed, 15 insertions, 2 deletions
diff --git a/Swiften/VCards/VCardManager.h b/Swiften/VCards/VCardManager.h index e1ed44a..5cdf82e 100644 --- a/Swiften/VCards/VCardManager.h +++ b/Swiften/VCards/VCardManager.h @@ -6,35 +6,48 @@  #pragma once -#include <boost/signals.hpp>  #include <set>  #include "Swiften/JID/JID.h"  #include "Swiften/Elements/VCard.h"  #include "Swiften/Elements/ErrorPayload.h" +#include <Swiften/VCards/SetVCardRequest.h> +#include <Swiften/Base/boost_bsignals.h>  namespace Swift {  	class JID;  	class VCardStorage;  	class IQRouter; -	class VCardManager { +	class VCardManager : public boost::bsignals::trackable {  		public:  			VCardManager(const JID& ownJID, IQRouter* iqRouter, VCardStorage* vcardStorage); +			~VCardManager();  			VCard::ref getVCard(const JID& jid) const;  			VCard::ref getVCardAndRequestWhenNeeded(const JID& jid);  			void requestVCard(const JID& jid);  			void requestOwnVCard(); +			SetVCardRequest::ref createSetVCardRequest(VCard::ref); +  		public:  			/**  			 * The JID will always be bare.  			 */  			boost::signal<void (const JID&, VCard::ref)> onVCardChanged; +			/** +			 * Emitted when our own vcard changes. +			 * +			 * onVCardChanged will also be emitted. +			 */ +			boost::signal<void (VCard::ref)> onOwnVCardChanged; +  		private:  			void handleVCardReceived(const JID& from, VCard::ref, ErrorPayload::ref); +			void handleSetVCardResponse(VCard::ref, ErrorPayload::ref); +			void setVCard(const JID& jid, VCard::ref vcard);  		private:  			JID ownJID;  | 
 Swift