summaryrefslogtreecommitdiff
path: root/src/resources/db/badgesdb.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-30 20:37:30 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-30 20:37:48 +0300
commit69704874b67c3cae63ee7d27634bbffa4cc4f6e2 (patch)
treef6a1d56199a3d0e5f2fcfb4e6670cb833c890ab3 /src/resources/db/badgesdb.cpp
parent003ce4b2567b85b5a129c78fcf75cd73c455d557 (diff)
downloadmv-69704874b67c3cae63ee7d27634bbffa4cc4f6e2.tar.gz
mv-69704874b67c3cae63ee7d27634bbffa4cc4f6e2.tar.bz2
mv-69704874b67c3cae63ee7d27634bbffa4cc4f6e2.tar.xz
mv-69704874b67c3cae63ee7d27634bbffa4cc4f6e2.zip
Add support for include tag in badges.xml.
Also add patches and parts support for badges.xml
Diffstat (limited to 'src/resources/db/badgesdb.cpp')
-rw-r--r--src/resources/db/badgesdb.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/resources/db/badgesdb.cpp b/src/resources/db/badgesdb.cpp
index d7476c7f0..9efd57d82 100644
--- a/src/resources/db/badgesdb.cpp
+++ b/src/resources/db/badgesdb.cpp
@@ -20,6 +20,10 @@
#include "resources/db/badgesdb.h"
+#include "configuration.h"
+
+#include "resources/beingcommon.h"
+
#include "utils/xmlutils.h"
#include "debug.h"
@@ -32,9 +36,11 @@ namespace
bool mLoaded = false;
}
-static void loadDB(const std::string &name, BadgesInfos &arr)
+static void loadXmlFile(const std::string &file,
+ const std::string &name,
+ BadgesInfos &arr)
{
- readXmlStringMap("badges.xml",
+ readXmlStringMap(file,
"badges",
name,
"badge",
@@ -43,6 +49,20 @@ static void loadDB(const std::string &name, BadgesInfos &arr)
arr);
}
+static void loadDB(const std::string &name, BadgesInfos &arr)
+{
+ loadXmlFile(paths.getStringValue("badgesFile"),
+ name, arr);
+ loadXmlFile(paths.getStringValue("badgesPatchFile"),
+ name, arr);
+
+ StringVect listVect;
+ BeingCommon::getIncludeFiles(paths.getStringValue(
+ "badgesPatchDir"), listVect, ".xml");
+ FOR_EACH (StringVectCIter, itVect, listVect)
+ loadXmlFile(*itVect, name, arr);
+}
+
void BadgesDB::load()
{
if (mLoaded)