Mercurial > hg > orthanc
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 { |