diff --git a/include/transport/usermanager.h b/include/transport/usermanager.h index 2601be2173c15ae9276cdd093eb5b1dc921e75d7..38a5c7bcb0cdab778de40ea4821111a4af71ec75 100644 --- a/include/transport/usermanager.h +++ b/include/transport/usermanager.h @@ -32,6 +32,7 @@ class Component; class StorageBackend; class StorageResponder; class RosterResponder; +class DiscoItemsResponder; /// Manages online XMPP Users. @@ -55,7 +56,7 @@ class UserManager : public Swift::EntityCapsProvider { /// Creates new UserManager. /// \param component Component which's presence will be handled /// \param storageBackend Storage backend used to fetch UserInfos - UserManager(Component *component, UserRegistry *userRegistry, StorageBackend *storageBackend = NULL); + UserManager(Component *component, UserRegistry *userRegistry, DiscoItemsResponder *discoItemsResponder, StorageBackend *storageBackend = NULL); /// Destroys UserManager. ~UserManager(); @@ -84,6 +85,8 @@ class UserManager : public Swift::EntityCapsProvider { Swift::DiscoInfo::ref getCaps(const Swift::JID&) const; + DiscoItemsResponder *getDiscoResponder() { return m_discoItemsResponder; } + /// Called when new User class is created. /// \param user newly created User class boost::signal onUserCreated; @@ -128,6 +131,7 @@ class UserManager : public Swift::EntityCapsProvider { void handleMessageReceived(Swift::Message::ref message); void handleGeneralPresenceReceived(Swift::Presence::ref presence); void handleProbePresence(Swift::Presence::ref presence); + void handleErrorPresence(Swift::Presence::ref presence); void handleSubscription(Swift::Presence::ref presence); void handleRemoveTimeout(const std::string jid, User *user, bool reconnect); void handleDiscoInfo(const Swift::JID& jid, boost::shared_ptr info); @@ -143,6 +147,7 @@ class UserManager : public Swift::EntityCapsProvider { Swift::Timer::ref m_removeTimer; unsigned long m_sentToXMPP; unsigned long m_sentToBackend; + DiscoItemsResponder *m_discoItemsResponder; friend class RosterResponder; };