comparison Framework/Plugins/IDatabaseBackend.h @ 532:25cfcb752af6 large-queries

merged find-refactoring -> large-queries
author Alain Mazy <am@orthanc.team>
date Fri, 06 Sep 2024 15:31:33 +0200
parents 2ab3d45c0b3c 451125122692
children 4ecf50a4521c
comparison
equal deleted inserted replaced
524:48aba35fe64e 532:25cfcb752af6
30 #include "IDatabaseBackendOutput.h" 30 #include "IDatabaseBackendOutput.h"
31 #include "IdentifierTag.h" 31 #include "IdentifierTag.h"
32 32
33 #include <list> 33 #include <list>
34 34
35 #include <orthanc/OrthancCPlugin.h>
36
37 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1
38 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
39 # include <OrthancDatabasePlugin.pb.h> // Include protobuf messages for "Find()"
40 # endif
41 #endif
42
35 namespace OrthancDatabases 43 namespace OrthancDatabases
36 { 44 {
37 class IDatabaseBackend : public boost::noncopyable 45 class IDatabaseBackend : public boost::noncopyable
38 { 46 {
39 public: 47 public:
108 bool& done /*out*/, 116 bool& done /*out*/,
109 DatabaseManager& manager, 117 DatabaseManager& manager,
110 int64_t since, 118 int64_t since,
111 uint32_t limit) = 0; 119 uint32_t limit) = 0;
112 120
113 virtual void GetChanges2(IDatabaseBackendOutput& output, 121 virtual void GetChangesExtended(IDatabaseBackendOutput& output,
114 bool& done /*out*/, 122 bool& done /*out*/,
115 DatabaseManager& manager, 123 DatabaseManager& manager,
116 int64_t since, 124 int64_t since,
117 int64_t to, 125 int64_t to,
118 int32_t changeType, 126 int32_t changeType,
119 uint32_t limit) = 0; 127 uint32_t limit) = 0;
120 128
121 virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/, 129 virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/,
122 DatabaseManager& manager, 130 DatabaseManager& manager,
123 int64_t id) = 0; 131 int64_t id) = 0;
124 132
383 virtual bool HasMeasureLatency() = 0; 391 virtual bool HasMeasureLatency() = 0;
384 392
385 // New in Orthanc 1.12.3 393 // New in Orthanc 1.12.3
386 virtual uint64_t MeasureLatency(DatabaseManager& manager) = 0; 394 virtual uint64_t MeasureLatency(DatabaseManager& manager) = 0;
387 395
388 // New in Orthanc 1.13.0 396 #if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
389 virtual bool HasExtendedApiV1() = 0; 397 virtual bool HasFindSupport() const = 0;
390 398 virtual bool HasExtendedChanges() const = 0;
399 #endif
400
401 #if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
402 // New in Orthanc 1.12.5
403 virtual void ExecuteFind(Orthanc::DatabasePluginMessages::TransactionResponse& response,
404 DatabaseManager& manager,
405 const Orthanc::DatabasePluginMessages::Find_Request& request) = 0;
406 #endif
391 }; 407 };
392 } 408 }