diff options
Diffstat (limited to 'Swift/Controllers/PresenceNotifier.h')
-rw-r--r-- | Swift/Controllers/PresenceNotifier.h | 96 |
1 files changed, 49 insertions, 47 deletions
diff --git a/Swift/Controllers/PresenceNotifier.h b/Swift/Controllers/PresenceNotifier.h index a1e1461..82678be 100644 --- a/Swift/Controllers/PresenceNotifier.h +++ b/Swift/Controllers/PresenceNotifier.h @@ -1,60 +1,62 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> +#include <memory> #include <set> -#include "Swiften/Base/boost_bsignals.h" -#include "Swiften/Elements/Presence.h" -#include "Swiften/JID/JID.h" -#include "SwifTools/Notifier/Notifier.h" -#include "Swiften/Avatars/AvatarManager.h" -#include "Swiften/Network/Timer.h" +#include <boost/signals2.hpp> + +#include <Swiften/Avatars/AvatarManager.h> +#include <Swiften/Elements/Presence.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Network/Timer.h> + +#include <SwifTools/Notifier/Notifier.h> namespace Swift { - class TimerFactory; - class StanzaChannel; - class MUCRegistry; - class NickResolver; - class PresenceOracle; - - class PresenceNotifier { - public: - PresenceNotifier(StanzaChannel* stanzaChannel, Notifier* notifier, const MUCRegistry* mucRegistry, AvatarManager* avatarManager, NickResolver* nickResolver, const PresenceOracle* presenceOracle, TimerFactory* timerFactory); - ~PresenceNotifier(); - - void setInitialQuietPeriodMS(int ms); - - boost::signal<void (const JID&)> onNotificationActivated; - - private: - void handlePresenceReceived(boost::shared_ptr<Presence>); - void handleStanzaChannelAvailableChanged(bool); - void handleNotificationActivated(JID jid); - void handleTimerTick(); - std::string getStatusType(const JID&) const; - std::string getStatusMessage(const JID&) const; - - private: - void showNotification(const JID& jid, Notifier::Type type); - - private: - StanzaChannel* stanzaChannel; - Notifier* notifier; - const MUCRegistry* mucRegistry; - AvatarManager* avatarManager; - NickResolver* nickResolver; - const PresenceOracle* presenceOracle; - TimerFactory* timerFactory; - boost::shared_ptr<Timer> timer; - bool justInitialized; - bool inQuietPeriod; - std::set<JID> availableUsers; - }; + class TimerFactory; + class StanzaChannel; + class MUCRegistry; + class NickResolver; + class PresenceOracle; + + class PresenceNotifier { + public: + PresenceNotifier(StanzaChannel* stanzaChannel, Notifier* notifier, const MUCRegistry* mucRegistry, AvatarManager* avatarManager, NickResolver* nickResolver, const PresenceOracle* presenceOracle, TimerFactory* timerFactory); + ~PresenceNotifier(); + + void setInitialQuietPeriodMS(int ms); + + boost::signals2::signal<void (const JID&)> onNotificationActivated; + + private: + void handlePresenceReceived(std::shared_ptr<Presence>); + void handleStanzaChannelAvailableChanged(bool); + void handleNotificationActivated(JID jid); + void handleTimerTick(); + std::string getStatusType(const JID&) const; + std::string getStatusMessage(const JID&) const; + + private: + void showNotification(const JID& jid, Notifier::Type type); + + private: + StanzaChannel* stanzaChannel; + Notifier* notifier; + const MUCRegistry* mucRegistry; + AvatarManager* avatarManager; + NickResolver* nickResolver; + const PresenceOracle* presenceOracle; + TimerFactory* timerFactory; + std::shared_ptr<Timer> timer; + bool justInitialized; + bool inQuietPeriod; + std::set<JID> availableUsers; + }; } |