view Common/BaseStoragePlugin.h @ 35:8a7a5defd5d0

upgrade orthanc framework to 1.8.2 in AWS S3 plugin
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 Jan 2021 17:13:47 +0100
parents 968eb1c78aed
children b922ae86bbe1
line wrap: on
line source

#pragma once

#include "IStoragePlugin.h"

class BaseStoragePlugin : public IStoragePlugin
{
  bool        enableLegacyStorageStructure_;
  std::string rootPath_;

protected:

  BaseStoragePlugin(bool enableLegacyStorageStructure):
    enableLegacyStorageStructure_(enableLegacyStorageStructure)
  {}

  std::string GetPath(const char* uuid, OrthancPluginContentType type, bool encryptionEnabled);

public:
  virtual void SetRootPath(const std::string& rootPath)
  {
    rootPath_ = rootPath;
  }

  static std::string GetPath(const char* uuid, OrthancPluginContentType type, bool encryptionEnabled, bool legacyFileStructure, const std::string& rootFolder);
  static std::string GetOrthancFileSystemPath(const std::string& uuid, const std::string& fileSystemRootPath);

  static bool ReadCommonConfiguration(bool& enableLegacyStorageStructure, const OrthancPlugins::OrthancConfiguration& pluginSection);
};