diff Core/FileStorage/CompressedFileStorageAccessor.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 790ff7a5b3bf
children ba9fd42284d0
line wrap: on
line diff
--- a/Core/FileStorage/CompressedFileStorageAccessor.cpp	Fri Sep 05 16:28:47 2014 +0200
+++ b/Core/FileStorage/CompressedFileStorageAccessor.cpp	Fri Sep 05 17:01:42 2014 +0200
@@ -56,7 +56,7 @@
     {
     case CompressionType_None:
     {
-      std::string uuid = storage_.Create(data, size);
+      std::string uuid = storage_.Create(data, size, type);
       return FileInfo(uuid, type, size, md5);
     }
 
@@ -75,11 +75,11 @@
       std::string uuid;
       if (compressed.size() > 0)
       {
-        uuid = storage_.Create(&compressed[0], compressed.size());
+        uuid = storage_.Create(&compressed[0], compressed.size(), type);
       }
       else
       {
-        uuid = storage_.Create(NULL, 0);
+        uuid = storage_.Create(NULL, 0, type);
       }
 
       return FileInfo(uuid, type, size, md5,
@@ -98,18 +98,19 @@
   }
 
   void CompressedFileStorageAccessor::Read(std::string& content,
-                                           const std::string& uuid)
+                                           const std::string& uuid,
+                                           FileContentType type)
   {
     switch (compressionType_)
     {
     case CompressionType_None:
-      storage_.Read(content, uuid);
+      storage_.Read(content, uuid, type);
       break;
 
     case CompressionType_Zlib:
     {
       std::string compressed;
-      storage_.Read(compressed, uuid);
+      storage_.Read(compressed, uuid, type);
       zlib_.Uncompress(content, compressed);
       break;
     }
@@ -119,20 +120,21 @@
     }
   }
 
-  HttpFileSender* CompressedFileStorageAccessor::ConstructHttpFileSender(const std::string& uuid)
+  HttpFileSender* CompressedFileStorageAccessor::ConstructHttpFileSender(const std::string& uuid,
+                                                                         FileContentType type)
   {
     switch (compressionType_)
     {
     case CompressionType_None:
     {
       FileStorageAccessor uncompressedAccessor(storage_);
-      return uncompressedAccessor.ConstructHttpFileSender(uuid);
+      return uncompressedAccessor.ConstructHttpFileSender(uuid, type);
     }
 
     case CompressionType_Zlib:
     {
       std::string compressed;
-      storage_.Read(compressed, uuid);
+      storage_.Read(compressed, uuid, type);
 
       std::auto_ptr<BufferHttpSender> sender(new BufferHttpSender);
       zlib_.Uncompress(sender->GetBuffer(), compressed);