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