Mercurial > hg > orthanc-databases
diff 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 |
line wrap: on
line diff
--- a/Framework/Plugins/StorageBackend.h Fri Mar 26 18:06:46 2021 +0100 +++ b/Framework/Plugins/StorageBackend.h Mon Mar 29 14:52:55 2021 +0200 @@ -21,7 +21,6 @@ #pragma once -#include "StorageAreaBuffer.h" #include "../Common/DatabaseManager.h" #include <orthanc/OrthancCDatabasePlugin.h> @@ -35,6 +34,16 @@ DatabaseManager manager_; public: + class IFileContentVisitor : public boost::noncopyable + { + public: + virtual ~IFileContentVisitor() + { + } + + virtual void Assign(const std::string& content) = 0; + }; + explicit StorageBackend(IDatabaseFactory* factory); virtual ~StorageBackend() @@ -53,20 +62,26 @@ const std::string& uuid, const void* content, size_t size, - OrthancPluginContentType type); + OrthancPluginContentType type) ORTHANC_FINAL; - virtual void Read(StorageAreaBuffer& target, + virtual void Read(IFileContentVisitor& target, DatabaseManager::Transaction& transaction, const std::string& uuid, - OrthancPluginContentType type); + OrthancPluginContentType type) ORTHANC_FINAL; virtual void Remove(DatabaseManager::Transaction& transaction, const std::string& uuid, - OrthancPluginContentType type); + OrthancPluginContentType type) ORTHANC_FINAL; static void Register(OrthancPluginContext* context, StorageBackend* backend); // Takes ownership static void Finalize(); + + // For unit tests + void ReadToString(std::string& target, + DatabaseManager::Transaction& transaction, + const std::string& uuid, + OrthancPluginContentType type); }; }