comparison Core/FileStorage/CompressedFileStorageAccessor.cpp @ 232:5368bbe813cf

refactoring of attachments
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 30 Nov 2012 14:22:27 +0100
parents e7432706b354
children c11273198cef
comparison
equal deleted inserted replaced
231:8098448bd827 232:5368bbe813cf
36 #include "FileStorageAccessor.h" 36 #include "FileStorageAccessor.h"
37 #include "../HttpServer/BufferHttpSender.h" 37 #include "../HttpServer/BufferHttpSender.h"
38 38
39 namespace Orthanc 39 namespace Orthanc
40 { 40 {
41 std::string CompressedFileStorageAccessor::WriteInternal(const void* data, 41 FileInfo CompressedFileStorageAccessor::WriteInternal(const void* data,
42 size_t size) 42 size_t size,
43 FileType type)
43 { 44 {
44 switch (compressionType_) 45 switch (compressionType_)
45 { 46 {
46 case CompressionType_None: 47 case CompressionType_None:
47 return storage_.Create(data, size); 48 {
49 std::string uuid = storage_.Create(data, size);
50 return FileInfo(uuid, type, size);
51 }
48 52
49 case CompressionType_Zlib: 53 case CompressionType_Zlib:
50 { 54 {
51 std::string compressed; 55 std::string compressed;
52 zlib_.Compress(compressed, data, size); 56 zlib_.Compress(compressed, data, size);
53 return storage_.Create(compressed); 57 std::string uuid = storage_.Create(compressed);
58 return FileInfo(uuid, type, size,
59 CompressionType_Zlib, compressed.size());
54 } 60 }
55 61
56 default: 62 default:
57 throw OrthancException(ErrorCode_NotImplemented); 63 throw OrthancException(ErrorCode_NotImplemented);
58 } 64 }
59 } 65 }
60 66
61 CompressedFileStorageAccessor::CompressedFileStorageAccessor(FileStorage& storage) : 67 CompressedFileStorageAccessor::CompressedFileStorageAccessor(FileStorage& storage) :
62 storage_(storage) 68 storage_(storage)
63 { 69 {
64 compressionType_ = CompressionType_Zlib; 70 compressionType_ = CompressionType_None;
65 } 71 }
66 72
67 void CompressedFileStorageAccessor::Read(std::string& content, 73 void CompressedFileStorageAccessor::Read(std::string& content,
68 const std::string& uuid) 74 const std::string& uuid)
69 { 75 {