summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-02-06 22:50:30 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-02-07 15:22:48 (GMT)
commitafcfa9dd33cfb5e36edf7d8148a7f8b24c976741 (patch)
treec16d40dbb089a9bcf70fafc2d50def34a9984e58 /Swiften/Roster/XMPPRoster.h
parent90a511ed523cfaf500dd27316b12e128e0c70ce3 (diff)
downloadswift-afcfa9dd33cfb5e36edf7d8148a7f8b24c976741.zip
swift-afcfa9dd33cfb5e36edf7d8148a7f8b24c976741.tar.bz2
Reworking contact editing.
Collapsed rename, group edit, and remove into one dialog. Moved contact editing logic to controllers.
Diffstat (limited to 'Swiften/Roster/XMPPRoster.h')
-rw-r--r--Swiften/Roster/XMPPRoster.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/Swiften/Roster/XMPPRoster.h b/Swiften/Roster/XMPPRoster.h
index b88148d..676e8f9 100644
--- a/Swiften/Roster/XMPPRoster.h
+++ b/Swiften/Roster/XMPPRoster.h
@@ -6,12 +6,15 @@
#pragma once
+#include <boost/optional.hpp>
+#include <vector>
+#include <set>
+#include "Swiften/Base/boost_bsignals.h"
+
#include "Swiften/Base/String.h"
#include "Swiften/JID/JID.h"
#include "Swiften/Elements/RosterItemPayload.h"
-
-#include <vector>
-#include "Swiften/Base/boost_bsignals.h"
+#include <Swiften/Roster/XMPPRosterItem.h>
namespace Swift {
/**
@@ -43,7 +46,22 @@ namespace Swift {
/**
* Returns the list of groups for the given JID.
*/
- virtual const std::vector<String>& getGroupsForJID(const JID& jid) = 0;
+ virtual std::vector<String> getGroupsForJID(const JID& jid) = 0;
+
+ /**
+ * Retrieve the items in the roster.
+ */
+ virtual std::vector<XMPPRosterItem> getItems() const = 0;
+
+ /**
+ * Retrieve the item with the given JID.
+ */
+ virtual boost::optional<XMPPRosterItem> getItem(const JID&) const = 0;
+
+ /**
+ * Retrieve the list of (existing) groups.
+ */
+ virtual std::set<String> getGroups() const = 0;
public:
/**