summaryrefslogtreecommitdiff
path: root/Runtime/Serialize/PathNamePersistentManager.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Serialize/PathNamePersistentManager.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Serialize/PathNamePersistentManager.h')
-rw-r--r--Runtime/Serialize/PathNamePersistentManager.h31
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