00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef BOOKMARKSTORAGE_H__
00016 #define BOOKMARKSTORAGE_H__
00017
00018 #include "macros.h"
00019
00020 #include "bookmarkhandler.h"
00021 #include "privatexml.h"
00022 #include "privatexmlhandler.h"
00023
00024 #include <string>
00025 #include <list>
00026
00027 namespace gloox
00028 {
00029
00030 class Tag;
00031
00038 class GLOOX_EXPORT BookmarkStorage : public PrivateXML, PrivateXMLHandler
00039 {
00040 public:
00045 BookmarkStorage( ClientBase *parent );
00046
00050 virtual ~BookmarkStorage();
00051
00058 void storeBookmarks( const BookmarkHandler::BookmarkList& bList,
00059 const BookmarkHandler::ConferenceList& cList );
00060
00065 void requestBookmarks();
00066
00071 void registerBookmarkHandler( BookmarkHandler *bmh );
00072
00076 void removeBookmarkHandler();
00077
00078
00079 virtual void handlePrivateXML( const std::string& tag, Tag *xml );
00080
00081
00082 virtual void handlePrivateXMLResult( const std::string , PrivateXMLResult ) {};
00083
00084 private:
00085 BookmarkHandler *m_bookmarkHandler;
00086 };
00087
00088 }
00089
00090 #endif // BOOKMARKSTORAGE_H__