summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-17 13:21:14 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-01-30 15:10:02 (GMT)
commitb897bac235a95f9c4654b31d101779bd0cc8f72f (patch)
tree8d00b3ab58ec200adf670e01671eed91876b485d /Swiften/VCards/VCardManager.h
parent869c52b244c2d03313e9eda83fac05bf0fc3a619 (diff)
downloadswift-b897bac235a95f9c4654b31d101779bd0cc8f72f.zip
swift-b897bac235a95f9c4654b31d101779bd0cc8f72f.tar.bz2
Added profile edit dialog.
Resolves: #141, #587.
Diffstat (limited to 'Swiften/VCards/VCardManager.h')
-rw-r--r--Swiften/VCards/VCardManager.h17
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;