summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Roster')
-rw-r--r--Swiften/Roster/XMPPRoster.cpp5
-rw-r--r--Swiften/Roster/XMPPRoster.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/Swiften/Roster/XMPPRoster.cpp b/Swiften/Roster/XMPPRoster.cpp
index 4478f86..28b04c6 100644
--- a/Swiften/Roster/XMPPRoster.cpp
+++ b/Swiften/Roster/XMPPRoster.cpp
@@ -34,6 +34,11 @@ void XMPPRoster::removeContact(const JID& jid) {
onJIDRemoved(jid);
}
+void XMPPRoster::clear() {
+ entries_.clear();
+ onRosterCleared();
+}
+
bool XMPPRoster::containsJID(const JID& jid) {
return entries_.find(JID(jid.toBare())) != entries_.end();
}
diff --git a/Swiften/Roster/XMPPRoster.h b/Swiften/Roster/XMPPRoster.h
index 97477bc..e449d28 100644
--- a/Swiften/Roster/XMPPRoster.h
+++ b/Swiften/Roster/XMPPRoster.h
@@ -32,6 +32,7 @@ class XMPPRoster {
void addContact(const JID& jid, const String& name, const std::vector<String>& groups, const RosterItemPayload::Subscription subscription);
bool containsJID(const JID& jid);
void removeContact(const JID& jid);
+ void clear();
RosterItemPayload::Subscription getSubscriptionStateForJID(const JID& jid);
const String& getNameForJID(const JID& jid);
const std::vector<String>& getGroupsForJID(const JID& jid);
@@ -39,6 +40,7 @@ class XMPPRoster {
boost::signal<void (const JID&)> onJIDAdded;
boost::signal<void (const JID&)> onJIDRemoved;
boost::signal<void (const JID&, const String&, const std::vector<String>&)> onJIDUpdated;
+ boost::signal<void ()> onRosterCleared;
private:
//std::map<JID, std::pair<String, std::vector<String> > > entries_;