14 #ifndef ROSTERMANAGER_H__ 15 #define ROSTERMANAGER_H__ 17 #include "subscriptionhandler.h" 18 #include "privatexmlhandler.h" 19 #include "iqhandler.h" 20 #include "presencehandler.h" 21 #include "rosterlistener.h" 82 void subscribe(
const JID& jid,
const std::string& name =
EmptyString,
98 void add(
const JID& jid,
const std::string& name,
const StringList& groups );
108 void unsubscribe(
const JID& jid,
const std::string& msg =
EmptyString );
118 void cancel(
const JID& jid,
const std::string& msg =
EmptyString );
126 void remove(
const JID& jid );
134 void ackSubscriptionRequest(
const JID& to,
bool ack );
141 const std::string&
delimiter()
const {
return m_delimiter; }
148 void setDelimiter(
const std::string& delimiter );
165 void registerRosterListener(
RosterListener* rl,
bool syncSubscribeReq =
true );
171 void removeRosterListener();
174 virtual bool handleIq(
const IQ& iq );
177 virtual void handleIqID(
const IQ& iq,
int context );
180 virtual void handlePresence(
const Presence& presence );
183 virtual void handleSubscription(
const Subscription& subscription );
186 virtual void handlePrivateXML(
const Tag* xml );
189 virtual void handlePrivateXMLResult(
const std::string& uid,
PrivateXMLResult pxResult );
192 #ifdef ROSTERMANAGER_TEST 195 typedef std::list<RosterItemData*> RosterData;
212 Query(
const JID& jid,
const std::string& name,
const StringList& groups );
218 Query(
const JID& jid );
224 Query(
const Tag* tag = 0 );
237 const RosterData& roster()
const {
return m_roster; }
240 virtual const std::string& filterString()
const;
245 return new Query( tag );
249 virtual Tag* tag()
const;
259 void mergePush(
const RosterData& data );
260 void mergeRoster(
const RosterData& data );
268 std::string m_delimiter;
269 bool m_syncSubscribeReq;
An abstraction of a roster item.
A virtual interface which can be reimplemented to receive incoming subscription stanzas.
std::list< std::string > StringList
An abstraction of an IQ stanza.
std::map< const std::string, RosterItem * > Roster
An abstraction of a presence stanza.
const std::string & delimiter() const
The namespace for the gloox library.
This class abstracts a stanza extension, which is usually an XML child element in a specific namespac...
This class implements Jabber/XMPP roster handling in the jabber:iq:roster namespace.
A virtual interface which can be reimplemented to receive presence stanzas.
This class implements XEP-0049 (Private XML Storage).
A virtual interface which can be reimplemented to receive IQ stanzas.
An abstraction of a subscription stanza.
A virtual interface which can be reimplemented to receive roster updates.
A virtual interface which can be reimplemented to store and receive private XML data.
const std::string EmptyString
This is the common base class for a Jabber/XMPP Client and a Jabber Component.
This is an abstraction of an XML element.