diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2010-07-30 13:12:03 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2010-07-30 13:12:03 +0200 |
commit | a6339282371856e3f0df7712644dbd53c6c13cf8 (patch) | |
tree | dd4c87919cc395141c1ef91ab2c5936225478724 /src/utils | |
parent | 151f6acdee17556d249e1b61f264ed2e95b84354 (diff) | |
parent | b176a462662c719cca6d9d444ff1c5892c7c77d3 (diff) | |
download | manaserv-a6339282371856e3f0df7712644dbd53c6c13cf8.tar.gz manaserv-a6339282371856e3f0df7712644dbd53c6c13cf8.tar.bz2 manaserv-a6339282371856e3f0df7712644dbd53c6c13cf8.tar.xz manaserv-a6339282371856e3f0df7712644dbd53c6c13cf8.zip |
Merge branch 'master' of gitorious.org:mana/manaserv
Conflicts:
src/game-server/itemmanager.cpp
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/xml.cpp | 29 | ||||
-rw-r--r-- | src/utils/xml.hpp | 10 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/utils/xml.cpp b/src/utils/xml.cpp index 659f928b..8bc9ebef 100644 --- a/src/utils/xml.cpp +++ b/src/utils/xml.cpp @@ -96,6 +96,35 @@ namespace XML return mDoc ? xmlDocGetRootElement(mDoc) : 0; } + bool hasProperty(xmlNodePtr node, const char *name) + { + xmlChar *prop = xmlGetProp(node, BAD_CAST name); + if (prop) + { + xmlFree(prop); + return true; + } + + return false; + } + + bool getBoolProperty(xmlNodePtr node, const char *name, bool def) + { + bool ret = def; + xmlChar *prop = xmlGetProp(node, BAD_CAST name); + if (prop) + { + if (xmlStrEqual(prop, BAD_CAST "true") + ||xmlStrEqual(prop, BAD_CAST "yes")) + ret = true; + if (xmlStrEqual(prop, BAD_CAST "false") + ||xmlStrEqual(prop, BAD_CAST "no")) + ret = false; + xmlFree(prop); + } + return ret; + } + int getProperty(xmlNodePtr node, const char *name, int def) { int &ret = def; diff --git a/src/utils/xml.hpp b/src/utils/xml.hpp index ee37b481..eba88e56 100644 --- a/src/utils/xml.hpp +++ b/src/utils/xml.hpp @@ -70,6 +70,16 @@ namespace XML }; /** + * Tells if a property from an xmlNodePtr exists. + */ + bool hasProperty(xmlNodePtr node, const char *name); + + /** + * Gets a boolean property from an xmlNodePtr. + */ + bool getBoolProperty(xmlNodePtr node, const char *name, bool def); + + /** * Gets an integer property from an xmlNodePtr. */ int getProperty(xmlNodePtr node, const char *name, int def); |