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();
       }