Mercurial > hg > orthanc
comparison Core/FileStorage/CompressedFileStorageAccessor.h @ 1134:ba9fd42284d0
preparing storage plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 09 Sep 2014 12:53:49 +0200 |
parents | bf67431a7383 |
children | 6e7e5ed91c2d |
comparison
equal
deleted
inserted
replaced
1133:382e162c074c | 1134:ba9fd42284d0 |
---|---|
39 namespace Orthanc | 39 namespace Orthanc |
40 { | 40 { |
41 class CompressedFileStorageAccessor : public StorageAccessor | 41 class CompressedFileStorageAccessor : public StorageAccessor |
42 { | 42 { |
43 private: | 43 private: |
44 IStorageArea& storage_; | 44 IStorageArea* storage_; |
45 ZlibCompressor zlib_; | 45 ZlibCompressor zlib_; |
46 CompressionType compressionType_; | 46 CompressionType compressionType_; |
47 | 47 |
48 protected: | 48 protected: |
49 virtual FileInfo WriteInternal(const void* data, | 49 virtual FileInfo WriteInternal(const void* data, |
50 size_t size, | 50 size_t size, |
51 FileContentType type); | 51 FileContentType type); |
52 | 52 |
53 public: | 53 public: |
54 CompressedFileStorageAccessor(); | |
55 | |
54 CompressedFileStorageAccessor(IStorageArea& storage); | 56 CompressedFileStorageAccessor(IStorageArea& storage); |
57 | |
58 void SetStorageArea(IStorageArea& storage) | |
59 { | |
60 storage_ = &storage; | |
61 } | |
62 | |
63 bool HasStorageArea() const | |
64 { | |
65 return storage_ != NULL; | |
66 } | |
67 | |
68 IStorageArea& GetStorageArea(); | |
55 | 69 |
56 void SetCompressionForNextOperations(CompressionType compression) | 70 void SetCompressionForNextOperations(CompressionType compression) |
57 { | 71 { |
58 compressionType_ = compression; | 72 compressionType_ = compression; |
59 } | 73 } |
69 | 83 |
70 virtual HttpFileSender* ConstructHttpFileSender(const std::string& uuid, | 84 virtual HttpFileSender* ConstructHttpFileSender(const std::string& uuid, |
71 FileContentType type); | 85 FileContentType type); |
72 | 86 |
73 virtual void Remove(const std::string& uuid, | 87 virtual void Remove(const std::string& uuid, |
74 FileContentType type) | 88 FileContentType type); |
75 { | |
76 storage_.Remove(uuid, type); | |
77 } | |
78 }; | 89 }; |
79 } | 90 } |