diff --git a/include/transport/rostermanager.h b/include/transport/rostermanager.h index fbd652ff94353a88443f980555bc5185960022a7..6a36d8a8604a6813f2f277bb3a1e8af370532e7d 100644 --- a/include/transport/rostermanager.h +++ b/include/transport/rostermanager.h @@ -40,16 +40,6 @@ class Component; class StorageBackend; class RosterStorage; -// TODO: Once Swiften GetRosterRequest will support setting to="", this can be removed -class AddressedRosterRequest : public Swift::GenericRequest { - public: - typedef boost::shared_ptr ref; - - AddressedRosterRequest(Swift::IQRouter* router, Swift::JID to) : - Swift::GenericRequest(Swift::IQ::Get, to, boost::shared_ptr(new Swift::RosterPayload()), router) { - } -}; - /// Manages roster of one XMPP user. class RosterManager { public: @@ -62,6 +52,10 @@ class RosterManager { /// Destructor. virtual ~RosterManager(); + virtual void doRemoveBuddy(Buddy *buddy) = 0; + virtual void doAddBuddy(Buddy *buddy) = 0; + virtual void doUpdateBuddy(Buddy *buddy) = 0; + /// Associates the buddy with this roster, /// and if the buddy is not already in XMPP user's server-side roster, the proper requests /// are sent to XMPP user (subscribe presences, Roster Item Exchange stanza or @@ -113,8 +107,6 @@ class RosterManager { void handleSubscription(Swift::Presence::ref presence); - void sendBuddyRosterPush(Buddy *buddy); - void sendBuddyRosterRemove(Buddy *buddy); void sendBuddySubscribePresence(Buddy *buddy); @@ -127,14 +119,10 @@ class RosterManager { void sendUnavailablePresences(const Swift::JID &to); - private: - void setBuddyCallback(Buddy *buddy); - - void sendRIE(); - void handleBuddyRosterPushResponse(Swift::ErrorPayload::ref error, Swift::SetRosterRequest::ref request, const std::string &key); - void handleRemoteRosterResponse(boost::shared_ptr roster, Swift::ErrorPayload::ref error); - + protected: std::map, boost::pool_allocator< std::pair > > m_buddies; + + private: Component *m_component; RosterStorage *m_rosterStorage; User *m_user; @@ -142,7 +130,6 @@ class RosterManager { Swift::Timer::ref m_RIETimer; std::list m_requests; bool m_supportRemoteRoster; - AddressedRosterRequest::ref m_remoteRosterRequest; }; }