comparison Framework/Plugins/StorageBackend.h @ 219:dd6cfc250747

removed useless class StorageAreaBuffer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 29 Mar 2021 14:52:55 +0200
parents a51ce147dbe0
children a4918d57435c
comparison
equal deleted inserted replaced
218:90eb271f85b2 219:dd6cfc250747
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "StorageAreaBuffer.h"
25 #include "../Common/DatabaseManager.h" 24 #include "../Common/DatabaseManager.h"
26 25
27 #include <orthanc/OrthancCDatabasePlugin.h> 26 #include <orthanc/OrthancCDatabasePlugin.h>
28 27
29 28
33 { 32 {
34 private: 33 private:
35 DatabaseManager manager_; 34 DatabaseManager manager_;
36 35
37 public: 36 public:
37 class IFileContentVisitor : public boost::noncopyable
38 {
39 public:
40 virtual ~IFileContentVisitor()
41 {
42 }
43
44 virtual void Assign(const std::string& content) = 0;
45 };
46
38 explicit StorageBackend(IDatabaseFactory* factory); 47 explicit StorageBackend(IDatabaseFactory* factory);
39 48
40 virtual ~StorageBackend() 49 virtual ~StorageBackend()
41 { 50 {
42 } 51 }
51 // that the parent "DatabaseManager" is locked 60 // that the parent "DatabaseManager" is locked
52 virtual void Create(DatabaseManager::Transaction& transaction, 61 virtual void Create(DatabaseManager::Transaction& transaction,
53 const std::string& uuid, 62 const std::string& uuid,
54 const void* content, 63 const void* content,
55 size_t size, 64 size_t size,
56 OrthancPluginContentType type); 65 OrthancPluginContentType type) ORTHANC_FINAL;
57 66
58 virtual void Read(StorageAreaBuffer& target, 67 virtual void Read(IFileContentVisitor& target,
59 DatabaseManager::Transaction& transaction, 68 DatabaseManager::Transaction& transaction,
60 const std::string& uuid, 69 const std::string& uuid,
61 OrthancPluginContentType type); 70 OrthancPluginContentType type) ORTHANC_FINAL;
62 71
63 virtual void Remove(DatabaseManager::Transaction& transaction, 72 virtual void Remove(DatabaseManager::Transaction& transaction,
64 const std::string& uuid, 73 const std::string& uuid,
65 OrthancPluginContentType type); 74 OrthancPluginContentType type) ORTHANC_FINAL;
66 75
67 static void Register(OrthancPluginContext* context, 76 static void Register(OrthancPluginContext* context,
68 StorageBackend* backend); // Takes ownership 77 StorageBackend* backend); // Takes ownership
69 78
70 static void Finalize(); 79 static void Finalize();
80
81 // For unit tests
82 void ReadToString(std::string& target,
83 DatabaseManager::Transaction& transaction,
84 const std::string& uuid,
85 OrthancPluginContentType type);
71 }; 86 };
72 } 87 }