summaryrefslogtreecommitdiff
path: root/library/VersionInfoFactory.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2011-02-24 11:43:33 +0100
committerPetr Mrázek2011-02-24 11:43:33 +0100
commit97bfa32a82d02eba4db792ecc59af0f400348b05 (patch)
treeef25252164f9fbde7cedf289582685ee72aa7819 /library/VersionInfoFactory.cpp
parent79b78673e569051574403d335e41c467a4d2d7a2 (diff)
downloaddfhack-97bfa32a82d02eba4db792ecc59af0f400348b05.tar.gz
dfhack-97bfa32a82d02eba4db792ecc59af0f400348b05.tar.bz2
dfhack-97bfa32a82d02eba4db792ecc59af0f400348b05.tar.xz
More cleanup in the Process lands.
Diffstat (limited to 'library/VersionInfoFactory.cpp')
-rw-r--r--library/VersionInfoFactory.cpp41
1 files changed, 35 insertions, 6 deletions
diff --git a/library/VersionInfoFactory.cpp b/library/VersionInfoFactory.cpp
index e41923f4..72aa982b 100644
--- a/library/VersionInfoFactory.cpp
+++ b/library/VersionInfoFactory.cpp
@@ -90,6 +90,12 @@ inline bool operator>=(const triple<_T1, _T2, _T3>& __x, const triple<_T1, _T2,
return !(__x < __y);
}
+VersionInfoFactory::VersionInfoFactory(string path_to_xml)
+{
+ error = false;
+ loadFile(path_to_xml);
+}
+
VersionInfoFactory::~VersionInfoFactory()
{
// for each stored version, delete
@@ -100,6 +106,35 @@ VersionInfoFactory::~VersionInfoFactory()
versions.clear();
}
+VersionInfo * VersionInfoFactory::getVersionInfoByMD5(string hash)
+{
+ VersionInfo * vinfo;
+ for(uint32_t i = 0; i < versions.size();i++)
+ {
+ vinfo = versions[i];
+ if(vinfo->getMD5() == hash)
+ {
+ return vinfo;
+ }
+ }
+ return NULL;
+}
+
+VersionInfo * VersionInfoFactory::getVersionInfoByPETimestamp(uint32_t timestamp)
+{
+ VersionInfo * vinfo;
+ for(uint32_t i = 0; i < versions.size();i++)
+ {
+ vinfo = versions[i];
+ if(vinfo->getPE() == timestamp)
+ {
+ return vinfo;
+ }
+ }
+ return NULL;
+}
+
+
void VersionInfoFactory::ParseVTable(TiXmlElement* vtable, VersionInfo* mem)
{
TiXmlElement* pClassEntry;
@@ -628,12 +663,6 @@ void VersionInfoFactory::ParseVersion (TiXmlElement* entry, VersionInfo* mem)
} // for
} // method
-VersionInfoFactory::VersionInfoFactory(string path_to_xml)
-{
- error = false;
- loadFile(path_to_xml);
-}
-
// load the XML file with offsets
bool VersionInfoFactory::loadFile(string path_to_xml)
{