summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-08-21 18:29:33 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-08-21 18:30:47 (GMT)
commit734cdf96ee07357382914c1e38e19a5bf1f5078d (patch)
tree1fb7faf16f5cd4d49cb859a6c8304b9af7fde61f /Swift/Controllers/MainController.h
parente019b91aa2326795fa51a876e365573355576842 (diff)
downloadswift-734cdf96ee07357382914c1e38e19a5bf1f5078d.zip
swift-734cdf96ee07357382914c1e38e19a5bf1f5078d.tar.bz2
Store avatars per profile.
Diffstat (limited to 'Swift/Controllers/MainController.h')
-rw-r--r--Swift/Controllers/MainController.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/Swift/Controllers/MainController.h b/Swift/Controllers/MainController.h
index e220211..e68e6d5 100644
--- a/Swift/Controllers/MainController.h
+++ b/Swift/Controllers/MainController.h
@@ -9,6 +9,7 @@
#include "Swiften/Base/boost_bsignals.h"
#include <boost/shared_ptr.hpp>
#include <vector>
+#include <map>
#include "Swiften/Network/BoostIOServiceThread.h"
#include "Swiften/Network/BoostTimerFactory.h"
@@ -28,6 +29,7 @@
#include "Swiften/Roster/XMPPRoster.h"
namespace Swift {
+ class AvatarStorageFactory;
class AvatarStorage;
class Application;
class Client;
@@ -66,11 +68,12 @@ namespace Swift {
class MainController {
public:
- MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, EventWindowFactory* eventWindowFactory, SettingsProvider *settings, SystemTray* systemTray, SoundPlayer* soundPlayer, XMLConsoleWidgetFactory* xmlConsoleWidgetFactory, ChatListWindowFactory* chatListWindowFactory_, MUCSearchWindowFactory* mucSearchWindowFactory, AvatarStorage* avatarStorage, ApplicationMessageDisplay* applicationMessageDisplay, bool useDelayForLatency);
+ MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, EventWindowFactory* eventWindowFactory, SettingsProvider *settings, SystemTray* systemTray, SoundPlayer* soundPlayer, XMLConsoleWidgetFactory* xmlConsoleWidgetFactory, ChatListWindowFactory* chatListWindowFactory_, MUCSearchWindowFactory* mucSearchWindowFactory, AvatarStorageFactory* avatarStorageFactory, ApplicationMessageDisplay* applicationMessageDisplay, bool useDelayForLatency);
~MainController();
private:
+ AvatarStorage* getAvatarStorageForProfile(const JID&);
void resetClient();
void handleConnected();
void handleLoginRequest(const String& username, const String& password, const String& certificateFile, bool remember, bool loginAutomatically);
@@ -104,7 +107,7 @@ namespace Swift {
EventWindowFactory* eventWindowFactory_;
SettingsProvider *settings_;
ProfileSettingsProvider* profileSettings_;
- AvatarStorage* avatarStorage_;
+ AvatarStorageFactory* avatarStorageFactory_;
ApplicationMessageDisplay* applicationMessageDisplay_;
ChatController* chatController_;
XMPPRosterController* xmppRosterController_;
@@ -137,5 +140,6 @@ namespace Swift {
int timeBeforeNextReconnect_;
Timer::ref reconnectTimer_;
StatusTracker* statusTracker_;
+ std::map<JID, AvatarStorage*> avatarStorages_;
};
}