summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-03-21 22:33:09 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-03-22 14:54:54 (GMT)
commitf5c2750f56c78d115bb9e8a7c5d50316da98b6d5 (patch)
tree661c761e7ebb526e1d71848c127046605e036729 /Swift/Controllers/RosterController.h
parent37a3ff6afe96c39bbf075d05da72e5f2c684dfa4 (diff)
downloadswift-f5c2750f56c78d115bb9e8a7c5d50316da98b6d5.zip
swift-f5c2750f56c78d115bb9e8a7c5d50316da98b6d5.tar.bz2
Lots of plumbing for event view.
This isn't ready yet, but clicking on a message in the event view will now cause the chat to pop up, and the plumbing is there for doing something with subscription requests - I just don't, yet.
Diffstat (limited to 'Swift/Controllers/RosterController.h')
-rw-r--r--Swift/Controllers/RosterController.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/Swift/Controllers/RosterController.h b/Swift/Controllers/RosterController.h
index f3d96e1..cef0e48 100644
--- a/Swift/Controllers/RosterController.h
+++ b/Swift/Controllers/RosterController.h
@@ -19,10 +19,14 @@ namespace Swift {
class TreeWidgetFactory;
class OfflineRosterFilter;
class NickResolver;
+ class PresenceOracle;
+ class EventController;
+ class SubscriptionRequestEvent;
+ class UIEventStream;
class RosterController {
public:
- RosterController(const JID& jid, boost::shared_ptr<XMPPRoster> xmppRoster, AvatarManager* avatarManager, MainWindowFactory* mainWindowFactory, TreeWidgetFactory* treeWidgetFactory, NickResolver* nickResolver);
+ RosterController(const JID& jid, boost::shared_ptr<XMPPRoster> xmppRoster, AvatarManager* avatarManager, MainWindowFactory* mainWindowFactory, TreeWidgetFactory* treeWidgetFactory, NickResolver* nickResolver, PresenceOracle* presenceOracle, EventController* eventController, UIEventStream* uiEventStream);
~RosterController();
void showRosterWindow();
MainWindow* getWindow() {return mainWindow_;};
@@ -32,7 +36,6 @@ namespace Swift {
boost::signal<void (const JID&, const String&)> onJoinMUCRequest;
boost::signal<void (StatusShow::Type, const String&)> onChangeStatusRequest;
boost::signal<void ()> onSignOutRequest;
- void handleIncomingPresence(boost::shared_ptr<Presence> presence);
void handleAvatarChanged(const JID& jid, const String& hash);
void setEnabled(bool enabled);
private:
@@ -44,6 +47,10 @@ namespace Swift {
void handleUserAction(boost::shared_ptr<UserRosterAction> action);
void handleChangeStatusRequest(StatusShow::Type show, const String &statusText);
void handleShowOfflineToggled(bool state);
+ void handleIncomingPresence(boost::shared_ptr<Presence> newPresence, boost::shared_ptr<Presence> oldPresence);
+ void handleSubscriptionRequest(const JID& jid, const String& message);
+ void handleSubscriptionRequestAccepted(SubscriptionRequestEvent* event);
+ void handleSubscriptionRequestDeclined(SubscriptionRequestEvent* event);
JID myJID_;
boost::shared_ptr<XMPPRoster> xmppRoster_;
MainWindowFactory* mainWindowFactory_;
@@ -53,6 +60,8 @@ namespace Swift {
OfflineRosterFilter* offlineFilter_;
AvatarManager* avatarManager_;
NickResolver* nickResolver_;
+ PresenceOracle* presenceOracle_;
+ EventController* eventController_;
};
}
#endif