Mercurial > hg > orthanc
diff OrthancServer/ServerIndex.cpp @ 1126:bf67431a7383
handling of file content type in IStorageArea
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 05 Sep 2014 17:01:42 +0200 |
parents | ba5c0908600c |
children | 514492f61ead |
line wrap: on
line diff
--- a/OrthancServer/ServerIndex.cpp Fri Sep 05 16:28:47 2014 +0200 +++ b/OrthancServer/ServerIndex.cpp Fri Sep 05 17:01:42 2014 +0200 @@ -59,11 +59,22 @@ class ServerIndexListener : public IServerIndexListener { private: + struct FileToRemove + { + std::string uuid_; + FileContentType type_; + + FileToRemove(const FileInfo& info) : uuid_(info.GetUuid()), + type_(info.GetContentType()) + { + } + }; + ServerContext& context_; bool hasRemainingLevel_; ResourceType remainingType_; std::string remainingPublicId_; - std::list<std::string> pendingFilesToRemove_; + std::list<FileToRemove> pendingFilesToRemove_; uint64_t sizeOfFilesToRemove_; public: @@ -90,11 +101,11 @@ void CommitFilesToRemove() { - for (std::list<std::string>::iterator + for (std::list<FileToRemove>::iterator it = pendingFilesToRemove_.begin(); it != pendingFilesToRemove_.end(); ++it) { - context_.RemoveFile(*it); + context_.RemoveFile(it->uuid_, it->type_); } } @@ -122,7 +133,7 @@ virtual void SignalFileDeleted(const FileInfo& info) { assert(Toolbox::IsUuid(info.GetUuid())); - pendingFilesToRemove_.push_back(info.GetUuid()); + pendingFilesToRemove_.push_back(FileToRemove(info)); sizeOfFilesToRemove_ += info.GetCompressedSize(); }