summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-10-24 13:46:12 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-10-24 15:56:44 (GMT)
commit9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8 (patch)
tree4d054c17e759f5f206c67fbbef1ca3e77647ba07 /Swiften/Client/Client.h
parentefc2bed8610f6e1b7fc29b3dd6f13137fc19bdf6 (diff)
downloadswift-9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8.zip
swift-9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8.tar.bz2
Created Storages interface.
Diffstat (limited to 'Swiften/Client/Client.h')
-rw-r--r--Swiften/Client/Client.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h
index 2b4aa45..22fc636 100644
--- a/Swiften/Client/Client.h
+++ b/Swiften/Client/Client.h
@@ -16,16 +16,22 @@ namespace Swift {
class PresenceOracle;
class PresenceSender;
class MUCRegistry;
+ class Storages;
+ class MemoryStorages;
+ class VCardManager;
/**
* Provides the core functionality for writing XMPP client software.
*
* Besides connecting to an XMPP server, this class also provides interfaces for
* performing most tasks on the XMPP network.
+ *
+ * \param storages The interfaces for storing cache information etc. If this is NULL,
+ * all data will be stored in memory (and be lost on shutdown)
*/
class Client : public CoreClient {
public:
- Client(const JID& jid, const String& password);
+ Client(const JID& jid, const String& password, Storages* storages = NULL);
~Client();
@@ -80,6 +86,10 @@ namespace Swift {
return mucRegistry;
}
+ VCardManager* getVCardManager() const {
+ return vcardManager;
+ }
+
public:
/**
* This signal is emitted when a JID changes presence.
@@ -92,11 +102,17 @@ namespace Swift {
boost::signal<void (const JID&, const String&)> onPresenceSubscriptionRequest;
private:
+ Storages* getStorages() const;
+
+ private:
+ Storages* storages;
+ MemoryStorages* memoryStorages;
SoftwareVersionResponder* softwareVersionResponder;
XMPPRosterImpl* roster;
XMPPRosterController* rosterController;
PresenceOracle* presenceOracle;
PresenceSender* presenceSender;
MUCRegistry* mucRegistry;
+ VCardManager* vcardManager;
};
}