diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-03-26 11:22:06 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-03-26 11:22:06 (GMT) |
commit | fd6e929a54514d5c3f77956429d5ab5fb4271ff2 (patch) | |
tree | 59157c256de56e24f0aaf50efa50f2290afe4fee /Swiften/MUC/MUCBookmarkManager.h | |
parent | 1e1e1f083b63769b019763c420ef8d556090459f (diff) | |
download | swift-contrib-fd6e929a54514d5c3f77956429d5ab5fb4271ff2.zip swift-contrib-fd6e929a54514d5c3f77956429d5ab5fb4271ff2.tar.bz2 |
Starting plumbing for MUC bookmarks
Diffstat (limited to 'Swiften/MUC/MUCBookmarkManager.h')
-rw-r--r-- | Swiften/MUC/MUCBookmarkManager.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Swiften/MUC/MUCBookmarkManager.h b/Swiften/MUC/MUCBookmarkManager.h new file mode 100644 index 0000000..e1f8708 --- /dev/null +++ b/Swiften/MUC/MUCBookmarkManager.h @@ -0,0 +1,27 @@ +#pragma once + +#include <vector> + +#include <boost/shared_ptr.hpp> +#include <boost/signals.hpp> + +#include "Swiften/MUC/MUCBookmark.h" + +namespace Swift { + class IQRouter; + class MUCBookmarkManager { + public: + MUCBookmarkManager(IQRouter* iqRouter); + void addBookmark(boost::shared_ptr<MUCBookmark> bookmark); + void removeBookmark(boost::shared_ptr<MUCBookmark> bookmark); + /** Call flush after editing an existing bookmark. */ + void flush(); + /** Returns pointers to the bookmarks. These can be edited, and then flush()ed.*/ + const std::vector<boost::shared_ptr<MUCBookmark> >& getBookmarks(); + boost::signal<void ()> onBookmarksChanged; + private: + + std::vector<boost::shared_ptr<MUCBookmark> > bookmarks_; + IQRouter* iqRouter_; + }; +} |