Mercurial > hg > orthanc-databases
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 } |