summaryrefslogtreecommitdiff
path: root/src/shared/directoryentry.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/directoryentry.h')
-rw-r--r--src/shared/directoryentry.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h
index 15af5e9e..f691603f 100644
--- a/src/shared/directoryentry.h
+++ b/src/shared/directoryentry.h
@@ -213,6 +213,8 @@ public:
void addFromOrigin(const std::wstring &originName, const std::wstring &directory, int priority);
void addFromBSA(const std::wstring &originName, std::wstring &directory, const std::wstring &fileName, int priority);
+ void propagateOrigin(int origin);
+
const std::wstring &getName() const;
boost::shared_ptr<FileRegister> getFileRegister() { return m_FileRegister; }
@@ -269,6 +271,8 @@ public:
}
}
+ bool hasContentsFromOrigin(int originID) const;
+
private:
DirectoryEntry(const DirectoryEntry &reference);
@@ -281,6 +285,7 @@ private:
file = m_FileRegister->getFile(iter->second);
} else {
file = m_FileRegister->createFile(fileName, this);
+ // TODO this has been observed to cause a crash, no clue why
m_Files[fileName] = file->getIndex();
}
file->addOrigin(origin.getID(), fileTime, archive);
@@ -318,7 +323,7 @@ private:
std::vector<DirectoryEntry*> m_SubDirectories;
DirectoryEntry *m_Parent;
- int m_Origin;
+ std::set<int> m_Origins;
bool m_Populated;