summaryrefslogtreecommitdiff
path: root/src/organizercore.cpp
diff options
context:
space:
mode:
authorTannin <sherb@gmx.net>2015-11-23 21:43:37 +0100
committerTannin <sherb@gmx.net>2015-11-23 21:43:37 +0100
commitdda9e1197670cddb69789cc9a179d09cd8e560a6 (patch)
treed9b1f5460a46df21105ff4a008b729ebaddf62b2 /src/organizercore.cpp
parent9945b5e92629027da1ef17b1ae1460729102b374 (diff)
added interface for file mapping plugins
Diffstat (limited to 'src/organizercore.cpp')
-rw-r--r--src/organizercore.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index a5dc393d..83d468ef 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -1563,10 +1563,18 @@ void OrganizerCore::prepareStart() {
std::vector<Mapping> OrganizerCore::fileMapping()
{
IPluginGame *game = qApp->property("managed_game").value<IPluginGame *>();
- return fileMapping(
+ MappingType result = fileMapping(
QDir::toNativeSeparators(game->dataDirectory().absolutePath()),
"\\",
directoryStructure(), directoryStructure());
+
+ for (MOBase::IPluginFileMapper *mapper : m_PluginContainer->plugins<MOBase::IPluginFileMapper>()) {
+ MappingType pluginMap = mapper->mappings();
+ result.reserve(result.size() + pluginMap.size());
+ result.insert(result.end(), pluginMap.begin(), pluginMap.end());
+ }
+
+ return result;
}
std::vector<Mapping> OrganizerCore::fileMapping(