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
00097 class GLOOX_API BookmarkStorage : public PrivateXML, PrivateXMLHandler
00098 {
00099 public:
00104 BookmarkStorage( ClientBase *parent );
00105
00109 virtual ~BookmarkStorage();
00110
00117 void storeBookmarks( const BookmarkHandler::BookmarkList& bList,
00118 const BookmarkHandler::ConferenceList& cList );
00119
00124 void requestBookmarks();
00125
00130 void registerBookmarkHandler( BookmarkHandler *bmh );
00131
00135 void removeBookmarkHandler();
00136
00137
00138 virtual void handlePrivateXML( const std::string& tag, Tag *xml );
00139
00140
00141 virtual void handlePrivateXMLResult( const std::string& uid, PrivateXMLResult result );
00142
00143 private:
00144 BookmarkHandler *m_bookmarkHandler;
00145 };
00146
00147 }
00148
00149 #endif // BOOKMARKSTORAGE_H__