1
#ifndef IRC_CLI_PRESENCE_MANAGER_H
2
#define IRC_CLI_PRESENCE_MANAGER_H
4
#include <irc/visibility.h>
6
#include <messaging/presence_manager.h>
15
class IRC_PUBLIC PresenceManager : public messaging::PresenceManager, public std::enable_shared_from_this<PresenceManager>
19
static std::shared_ptr<PresenceManager> create(const std::shared_ptr<messaging::PresenceManager::Observer>& observer,
20
Connector *connector);
22
StatusMap get_valid_statuses() override;
23
void set_self_presence(const std::string& status, const std::string& status_message = "") override;
24
void request_presence(const std::shared_ptr<messaging::Recipient>& recipient) override;
27
/// @brief Messenger constructs a new instance, installing the given observer instance.
28
PresenceManager(const std::shared_ptr<Observer>& observer,
29
Connector* connector);
31
messaging::Presence create_presence(const std::string& status, const std::string& status_message = "");
33
Connector *connector_;
40
#endif // IRC_CLI_PRESENCE_MANAGER_H