/* * BookmarkManager.h * Copyright (C) 2019 Adrien Destugues * * Distributed under terms of the MIT license. */ #pragma once #include #include #include #include "jabber/JabberSpeak.h" #include "bookmark2storage.h" #include #include enum { kBookmarks = 'bkmk' }; class BookmarkManager: public BHandler, public gloox::BookmarkHandler { public: static BookmarkManager& Instance(); void Connect(); void Disconnect(); void SetBookmark(BString jid, BString nick, BString name, bool autojoin); const gloox::ConferenceListItem* GetBookmark(BString jid); void RemoveBookmark(BString jid); // gloox::BookmarkHandler void handleBookmarks(const gloox::BookmarkList& bList, const gloox::ConferenceList& cList) final; private: std::unique_ptr fBookmarks; std::unique_ptr fBookmarks2; gloox::BookmarkList fURIBookmarks; gloox::ConferenceList fConferences; };