comparison Framework/Plugins/IndexBackend.h @ 232:4e15eace9b90

reorganization in DatabaseBackendAdapterV3
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Apr 2021 12:50:06 +0200
parents a4918d57435c
children d1b124d116c1
comparison
equal deleted inserted replaced
231:0a9b48d19643 232:4e15eace9b90
23 23
24 #include "IDatabaseBackend.h" 24 #include "IDatabaseBackend.h"
25 25
26 #include <OrthancException.h> 26 #include <OrthancException.h>
27 27
28 #include <boost/thread/shared_mutex.hpp>
29
28 30
29 namespace OrthancDatabases 31 namespace OrthancDatabases
30 { 32 {
33 /**
34 * WARNING: This class can be invoked concurrently by several
35 * threads if it is used from "DatabaseBackendAdapterV3".
36 **/
31 class IndexBackend : public IDatabaseBackend 37 class IndexBackend : public IDatabaseBackend
32 { 38 {
33 private: 39 private:
34 class LookupFormatter; 40 class LookupFormatter;
35 41
36 OrthancPluginContext* context_; 42 OrthancPluginContext* context_;
37 43
44 boost::shared_mutex outputFactoryMutex_;
38 std::unique_ptr<IDatabaseBackendOutput::IFactory> outputFactory_; 45 std::unique_ptr<IDatabaseBackendOutput::IFactory> outputFactory_;
39 46
40 protected: 47 protected:
41 static int64_t ReadInteger64(const DatabaseManager::StatementBase& statement, 48 static int64_t ReadInteger64(const DatabaseManager::StatementBase& statement,
42 size_t field); 49 size_t field);