diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Serialize/PathNamePersistentManager.h |
Diffstat (limited to 'Runtime/Serialize/PathNamePersistentManager.h')
-rw-r--r-- | Runtime/Serialize/PathNamePersistentManager.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Runtime/Serialize/PathNamePersistentManager.h b/Runtime/Serialize/PathNamePersistentManager.h new file mode 100644 index 0000000..11c3767 --- /dev/null +++ b/Runtime/Serialize/PathNamePersistentManager.h @@ -0,0 +1,31 @@ +#ifndef PATHNAMEPERSISTENTMANAGER_H +#define PATHNAMEPERSISTENTMANAGER_H + +#include "PersistentManager.h" +#include "SerializedFile.h" + +class PathNamePersistentManager : public PersistentManager +{ + typedef map<string, SInt32> PathToStreamID; + PathToStreamID m_PathToStreamID; // Contains lower case pathnames + vector<string> m_PathNames;// Contains pathnames as they were given + + public: + + PathNamePersistentManager (int options, int cacheCount = 2) + : PersistentManager (options, cacheCount) {} + + protected: + + virtual int InsertPathNameInternal (const std::string& pathname, bool create); + virtual int InsertFileIdentifierInternal (FileIdentifier file, bool create); + + virtual string PathIDToPathNameInternal (int pathID); + + virtual FileIdentifier PathIDToFileIdentifierInternal (int pathID); +}; + +void InitPathNamePersistentManager(); + + +#endif |