comparison OrthancServer/Plugins/Engine/OrthancPluginDatabaseV3.h @ 5455:176bc05f85f4 pg-transactions

DB: new Capabilities class to manage future new methods from DB plugins + Added IncrementGlobalProperty
author Alain Mazy <am@osimis.io>
date Thu, 07 Dec 2023 12:04:11 +0100
parents df39c7583a49
children b3ebe249ed5b
comparison
equal deleted inserted replaced
5454:099d45f49fe1 5455:176bc05f85f4
23 #pragma once 23 #pragma once
24 24
25 #if ORTHANC_ENABLE_PLUGINS == 1 25 #if ORTHANC_ENABLE_PLUGINS == 1
26 26
27 #include "../../../OrthancFramework/Sources/SharedLibrary.h" 27 #include "../../../OrthancFramework/Sources/SharedLibrary.h"
28 #include "../../Sources/Database/IDatabaseWrapper.h" 28 #include "../../Sources/Database/BaseDatabaseWrapper.h"
29 #include "../Include/orthanc/OrthancCDatabasePlugin.h" 29 #include "../Include/orthanc/OrthancCDatabasePlugin.h"
30 #include "PluginsErrorDictionary.h" 30 #include "PluginsErrorDictionary.h"
31 31
32 namespace Orthanc 32 namespace Orthanc
33 { 33 {
34 class OrthancPluginDatabaseV3 : public IDatabaseWrapper 34 class OrthancPluginDatabaseV3 : public BaseDatabaseWrapper
35 { 35 {
36 private: 36 private:
37 class Transaction; 37 class Transaction;
38 38
39 SharedLibrary& library_; 39 SharedLibrary& library_;
40 PluginsErrorDictionary& errorDictionary_; 40 PluginsErrorDictionary& errorDictionary_;
41 OrthancPluginDatabaseBackendV3 backend_; 41 OrthancPluginDatabaseBackendV3 backend_;
42 void* database_; 42 void* database_;
43 std::string serverIdentifier_; 43 std::string serverIdentifier_;
44 IDatabaseWrapper::Capabilities dbCapabilities_;
44 45
45 void CheckSuccess(OrthancPluginErrorCode code) const; 46 void CheckSuccess(OrthancPluginErrorCode code) const;
46 47
47 public: 48 public:
48 OrthancPluginDatabaseV3(SharedLibrary& library, 49 OrthancPluginDatabaseV3(SharedLibrary& library,
65 66
66 virtual void FlushToDisk() ORTHANC_OVERRIDE 67 virtual void FlushToDisk() ORTHANC_OVERRIDE
67 { 68 {
68 } 69 }
69 70
70 virtual bool HasFlushToDisk() const ORTHANC_OVERRIDE
71 {
72 return false;
73 }
74
75 virtual IDatabaseWrapper::ITransaction* StartTransaction(TransactionType type, 71 virtual IDatabaseWrapper::ITransaction* StartTransaction(TransactionType type,
76 IDatabaseListener& listener) 72 IDatabaseListener& listener)
77 ORTHANC_OVERRIDE; 73 ORTHANC_OVERRIDE;
78 74
79 virtual unsigned int GetDatabaseVersion() ORTHANC_OVERRIDE; 75 virtual unsigned int GetDatabaseVersion() ORTHANC_OVERRIDE;
80 76
81 virtual void Upgrade(unsigned int targetVersion, 77 virtual void Upgrade(unsigned int targetVersion,
82 IStorageArea& storageArea) ORTHANC_OVERRIDE; 78 IStorageArea& storageArea) ORTHANC_OVERRIDE;
83 79
84 virtual bool HasRevisionsSupport() const ORTHANC_OVERRIDE; 80 const IDatabaseWrapper::Capabilities& GetDatabaseCapabilities() const ORTHANC_OVERRIDE
81 {
82 return dbCapabilities_;
83 }
85 84
86 virtual bool HasLabelsSupport() const ORTHANC_OVERRIDE
87 {
88 return false;
89 }
90 }; 85 };
91 } 86 }
92 87
93 #endif 88 #endif