3 #define POCO_NO_UNWINDOWS 1
4 #include <Poco/Mutex.h>
7 // defines IPluginInfos
8 #include "DiffContext.h"
9 // defines PackingInfo and PrediffingInfo
10 #include "FileTransform.h"
13 * @brief Cached plugin info for one particular file info
17 PackingInfo m_infoUnpacker;
18 PrediffingInfo m_infoPrediffer;
21 typedef std::shared_ptr<PluginFileInfo> PluginFileInfoPtr;
24 * @brief Cache of known plugin infos
26 class PluginManager : public IPluginInfos
29 typedef std::map<String, PluginFileInfoPtr> PluginFileInfoMap;
32 void SetPrediffSetting(const String& filteredFilenames, PLUGIN_MODE newsetting);
33 void SetPrediffSettingAll(PLUGIN_MODE newsetting);
34 void SetPrediffer(const String& filteredFilenames, const String& prediffer);
35 // Implement IPluginInfos
36 virtual void FetchPluginInfos(const String& filteredFilenames,
37 PackingInfo ** infoUnpacker,
38 PrediffingInfo ** infoPrediffer) override;
41 PluginFileInfoMap m_pluginSettings;
42 Poco::FastMutex m_mutex;