1 #ifndef PERSONALFOLDERCACHE_HPP
2 #define PERSONALFOLDERCACHE_HPP
4 #include "UIComponent.hpp"
6 #include <boost/expected/expected.hpp>
10 class PersonalFolderCacheLoader;
20 static std::weak_ptr<PersonalFolderCache> weakInstance();
23 void cacheFolder(uint64_t code);
24 void cacheFolder(uint64_t code,
const QByteArray & folder);
25 void removeCachedFolder(uint64_t code);
27 boost::expected<MultiWidgets::WidgetPtr, QString> personalFolderWidget(uint64_t code);
31 void createPlaceHolder(uint64_t code,
const QByteArray & folder);
32 void createComponent(uint64_t code);
36 UIComponentPtr uiComponent;
37 ComponentPlaceholderPtr placeholder;
38 MultiWidgets::WidgetPtr widget;
42 std::map<uint64_t, FolderData> m_personalFolders;
44 std::mutex m_folderMutex;
46 std::unique_ptr<PersonalFolderCacheLoader> m_loader;
49 typedef std::shared_ptr<PersonalFolderCache> PersonalFolderCachePtr;
50 typedef std::weak_ptr<PersonalFolderCache> PersonalFolderCacheWeakPtr;
53 #endif // PERSONALFOLDERCACHE_HPP