gloox
1.0
|
00001 /* 00002 Copyright (c) 2005-2009 by Jakob Schroeter <js@camaya.net> 00003 This file is part of the gloox library. http://camaya.net/gloox 00004 00005 This software is distributed under a license. The full license 00006 agreement can be found in the file LICENSE in this distribution. 00007 This software may not be copied, modified, sold or distributed 00008 other than expressed in the named license agreement. 00009 00010 This software is distributed without any warranty. 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 { m_bookmarkHandler = bmh; } 00131 00135 void removeBookmarkHandler() 00136 { m_bookmarkHandler = 0; } 00137 00138 // reimplemented from PrivateXMLHandler 00139 virtual void handlePrivateXML( const Tag* xml ); 00140 00141 // reimplemented from PrivateXMLHandler 00142 virtual void handlePrivateXMLResult( const std::string& uid, PrivateXMLResult pxResult ); 00143 00144 private: 00145 BookmarkHandler* m_bookmarkHandler; 00146 }; 00147 00148 } 00149 00150 #endif // BOOKMARKSTORAGE_H__