comparison Framework/Plugins/IndexBackend.h @ 225:94c9908e6aca

removed DatabaseManager member out of class IndexBackend
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 01 Apr 2021 19:18:19 +0200
parents c8e06b41feec
children a4918d57435c
comparison
equal deleted inserted replaced
224:61c309e06797 225:94c9908e6aca
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "../Common/DatabaseManager.h"
25 #include "IDatabaseBackend.h" 24 #include "IDatabaseBackend.h"
26 25
27 #include <OrthancException.h> 26 #include <OrthancException.h>
28 27
29 28
33 { 32 {
34 private: 33 private:
35 class LookupFormatter; 34 class LookupFormatter;
36 35
37 OrthancPluginContext* context_; 36 OrthancPluginContext* context_;
38 DatabaseManager manager_;
39 37
40 std::unique_ptr<IDatabaseBackendOutput::IFactory> outputFactory_; 38 std::unique_ptr<IDatabaseBackendOutput::IFactory> outputFactory_;
41 39
42 protected: 40 protected:
43 DatabaseManager& GetManager()
44 {
45 return manager_;
46 }
47
48 static int64_t ReadInteger64(const DatabaseManager::StatementBase& statement, 41 static int64_t ReadInteger64(const DatabaseManager::StatementBase& statement,
49 size_t field); 42 size_t field);
50 43
51 static int32_t ReadInteger32(const DatabaseManager::StatementBase& statement, 44 static int32_t ReadInteger32(const DatabaseManager::StatementBase& statement,
52 size_t field); 45 size_t field);
61 54
62 static void ReadListOfStrings(std::list<std::string>& target, 55 static void ReadListOfStrings(std::list<std::string>& target,
63 DatabaseManager::CachedStatement& statement, 56 DatabaseManager::CachedStatement& statement,
64 const Dictionary& args); 57 const Dictionary& args);
65 58
66 void ClearDeletedFiles(); 59 void ClearDeletedFiles(DatabaseManager& manager);
67 60
68 void ClearDeletedResources(); 61 void ClearDeletedResources(DatabaseManager& manager);
69 62
70 void SignalDeletedFiles(IDatabaseBackendOutput& output); 63 void SignalDeletedFiles(IDatabaseBackendOutput& output,
71 64 DatabaseManager& manager);
72 void SignalDeletedResources(IDatabaseBackendOutput& output); 65
66 void SignalDeletedResources(IDatabaseBackendOutput& output,
67 DatabaseManager& manager);
73 68
74 private: 69 private:
75 void ReadChangesInternal(IDatabaseBackendOutput& output, 70 void ReadChangesInternal(IDatabaseBackendOutput& output,
76 bool& done, 71 bool& done,
72 DatabaseManager& manager,
77 DatabaseManager::CachedStatement& statement, 73 DatabaseManager::CachedStatement& statement,
78 const Dictionary& args, 74 const Dictionary& args,
79 uint32_t maxResults); 75 uint32_t maxResults);
80 76
81 void ReadExportedResourcesInternal(IDatabaseBackendOutput& output, 77 void ReadExportedResourcesInternal(IDatabaseBackendOutput& output,
83 DatabaseManager::CachedStatement& statement, 79 DatabaseManager::CachedStatement& statement,
84 const Dictionary& args, 80 const Dictionary& args,
85 uint32_t maxResults); 81 uint32_t maxResults);
86 82
87 public: 83 public:
88 IndexBackend(OrthancPluginContext* context, 84 IndexBackend(OrthancPluginContext* context);
89 IDatabaseFactory* factory);
90 85
91 virtual OrthancPluginContext* GetContext() ORTHANC_OVERRIDE 86 virtual OrthancPluginContext* GetContext() ORTHANC_OVERRIDE
92 { 87 {
93 return context_; 88 return context_;
94 } 89 }
95 90
96 virtual void SetOutputFactory(IDatabaseBackendOutput::IFactory* factory) ORTHANC_OVERRIDE; 91 virtual void SetOutputFactory(IDatabaseBackendOutput::IFactory* factory) ORTHANC_OVERRIDE;
97 92
98 virtual IDatabaseBackendOutput* CreateOutput() ORTHANC_OVERRIDE; 93 virtual IDatabaseBackendOutput* CreateOutput() ORTHANC_OVERRIDE;
99 94
100 virtual void Open() ORTHANC_OVERRIDE 95 virtual void AddAttachment(DatabaseManager& manager,
101 { 96 int64_t id,
102 manager_.Open();
103 }
104
105 virtual void Close() ORTHANC_OVERRIDE
106 {
107 manager_.Close();
108 }
109
110 virtual void AddAttachment(int64_t id,
111 const OrthancPluginAttachment& attachment) ORTHANC_OVERRIDE; 97 const OrthancPluginAttachment& attachment) ORTHANC_OVERRIDE;
112 98
113 virtual void AttachChild(int64_t parent, 99 virtual void AttachChild(DatabaseManager& manager,
100 int64_t parent,
114 int64_t child) ORTHANC_OVERRIDE; 101 int64_t child) ORTHANC_OVERRIDE;
115 102
116 virtual void ClearChanges() ORTHANC_OVERRIDE; 103 virtual void ClearChanges(DatabaseManager& manager) ORTHANC_OVERRIDE;
117 104
118 virtual void ClearExportedResources() ORTHANC_OVERRIDE; 105 virtual void ClearExportedResources(DatabaseManager& manager) ORTHANC_OVERRIDE;
119 106
120 virtual void DeleteAttachment(IDatabaseBackendOutput& output, 107 virtual void DeleteAttachment(IDatabaseBackendOutput& output,
108 DatabaseManager& manager,
121 int64_t id, 109 int64_t id,
122 int32_t attachment) ORTHANC_OVERRIDE; 110 int32_t attachment) ORTHANC_OVERRIDE;
123 111
124 virtual void DeleteMetadata(int64_t id, 112 virtual void DeleteMetadata(DatabaseManager& manager,
113 int64_t id,
125 int32_t metadataType) ORTHANC_OVERRIDE; 114 int32_t metadataType) ORTHANC_OVERRIDE;
126 115
127 virtual void DeleteResource(IDatabaseBackendOutput& output, 116 virtual void DeleteResource(IDatabaseBackendOutput& output,
117 DatabaseManager& manager,
128 int64_t id) ORTHANC_OVERRIDE; 118 int64_t id) ORTHANC_OVERRIDE;
129 119
130 virtual void GetAllInternalIds(std::list<int64_t>& target, 120 virtual void GetAllInternalIds(std::list<int64_t>& target,
121 DatabaseManager& manager,
131 OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE; 122 OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE;
132 123
133 virtual void GetAllPublicIds(std::list<std::string>& target, 124 virtual void GetAllPublicIds(std::list<std::string>& target,
125 DatabaseManager& manager,
134 OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE; 126 OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE;
135 127
136 virtual void GetAllPublicIds(std::list<std::string>& target, 128 virtual void GetAllPublicIds(std::list<std::string>& target,
129 DatabaseManager& manager,
137 OrthancPluginResourceType resourceType, 130 OrthancPluginResourceType resourceType,
138 uint64_t since, 131 uint64_t since,
139 uint64_t limit) ORTHANC_OVERRIDE; 132 uint64_t limit) ORTHANC_OVERRIDE;
140 133
141 virtual void GetChanges(IDatabaseBackendOutput& output, 134 virtual void GetChanges(IDatabaseBackendOutput& output,
142 bool& done /*out*/, 135 bool& done /*out*/,
136 DatabaseManager& manager,
143 int64_t since, 137 int64_t since,
144 uint32_t maxResults) ORTHANC_OVERRIDE; 138 uint32_t maxResults) ORTHANC_OVERRIDE;
145 139
146 virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/, 140 virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/,
141 DatabaseManager& manager,
147 int64_t id) ORTHANC_OVERRIDE; 142 int64_t id) ORTHANC_OVERRIDE;
148 143
149 virtual void GetChildrenPublicId(std::list<std::string>& target /*out*/, 144 virtual void GetChildrenPublicId(std::list<std::string>& target /*out*/,
145 DatabaseManager& manager,
150 int64_t id) ORTHANC_OVERRIDE; 146 int64_t id) ORTHANC_OVERRIDE;
151 147
152 virtual void GetExportedResources(IDatabaseBackendOutput& output, 148 virtual void GetExportedResources(IDatabaseBackendOutput& output,
153 bool& done /*out*/, 149 bool& done /*out*/,
150 DatabaseManager& manager,
154 int64_t since, 151 int64_t since,
155 uint32_t maxResults) ORTHANC_OVERRIDE; 152 uint32_t maxResults) ORTHANC_OVERRIDE;
156 153
157 virtual void GetLastChange(IDatabaseBackendOutput& output) ORTHANC_OVERRIDE; 154 virtual void GetLastChange(IDatabaseBackendOutput& output,
158 155 DatabaseManager& manager) ORTHANC_OVERRIDE;
159 virtual void GetLastExportedResource(IDatabaseBackendOutput& output) ORTHANC_OVERRIDE; 156
157 virtual void GetLastExportedResource(IDatabaseBackendOutput& output,
158 DatabaseManager& manager) ORTHANC_OVERRIDE;
160 159
161 virtual void GetMainDicomTags(IDatabaseBackendOutput& output, 160 virtual void GetMainDicomTags(IDatabaseBackendOutput& output,
161 DatabaseManager& manager,
162 int64_t id) ORTHANC_OVERRIDE; 162 int64_t id) ORTHANC_OVERRIDE;
163 163
164 virtual std::string GetPublicId(int64_t resourceId) ORTHANC_OVERRIDE; 164 virtual std::string GetPublicId(DatabaseManager& manager,
165 165 int64_t resourceId) ORTHANC_OVERRIDE;
166 virtual uint64_t GetResourcesCount(OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE; 166
167 167 virtual uint64_t GetResourcesCount(DatabaseManager& manager,
168 virtual OrthancPluginResourceType GetResourceType(int64_t resourceId) ORTHANC_OVERRIDE; 168 OrthancPluginResourceType resourceType) ORTHANC_OVERRIDE;
169 169
170 virtual uint64_t GetTotalCompressedSize() ORTHANC_OVERRIDE; 170 virtual OrthancPluginResourceType GetResourceType(DatabaseManager& manager,
171 171 int64_t resourceId) ORTHANC_OVERRIDE;
172 virtual uint64_t GetTotalUncompressedSize() ORTHANC_OVERRIDE; 172
173 173 virtual uint64_t GetTotalCompressedSize(DatabaseManager& manager) ORTHANC_OVERRIDE;
174 virtual bool IsExistingResource(int64_t internalId) ORTHANC_OVERRIDE; 174
175 175 virtual uint64_t GetTotalUncompressedSize(DatabaseManager& manager) ORTHANC_OVERRIDE;
176 virtual bool IsProtectedPatient(int64_t internalId) ORTHANC_OVERRIDE; 176
177 virtual bool IsExistingResource(DatabaseManager& manager,
178 int64_t internalId) ORTHANC_OVERRIDE;
179
180 virtual bool IsProtectedPatient(DatabaseManager& manager,
181 int64_t internalId) ORTHANC_OVERRIDE;
177 182
178 virtual void ListAvailableMetadata(std::list<int32_t>& target /*out*/, 183 virtual void ListAvailableMetadata(std::list<int32_t>& target /*out*/,
184 DatabaseManager& manager,
179 int64_t id) ORTHANC_OVERRIDE; 185 int64_t id) ORTHANC_OVERRIDE;
180 186
181 virtual void ListAvailableAttachments(std::list<int32_t>& target /*out*/, 187 virtual void ListAvailableAttachments(std::list<int32_t>& target /*out*/,
188 DatabaseManager& manager,
182 int64_t id) ORTHANC_OVERRIDE; 189 int64_t id) ORTHANC_OVERRIDE;
183 190
184 virtual void LogChange(int32_t changeType, 191 virtual void LogChange(DatabaseManager& manager,
192 int32_t changeType,
185 int64_t resourceId, 193 int64_t resourceId,
186 OrthancPluginResourceType resourceType, 194 OrthancPluginResourceType resourceType,
187 const char* date) ORTHANC_OVERRIDE; 195 const char* date) ORTHANC_OVERRIDE;
188 196
189 virtual void LogExportedResource(const OrthancPluginExportedResource& resource) ORTHANC_OVERRIDE; 197 virtual void LogExportedResource(DatabaseManager& manager,
198 const OrthancPluginExportedResource& resource) ORTHANC_OVERRIDE;
190 199
191 virtual bool LookupAttachment(IDatabaseBackendOutput& output, 200 virtual bool LookupAttachment(IDatabaseBackendOutput& output,
201 DatabaseManager& manager,
192 int64_t id, 202 int64_t id,
193 int32_t contentType) ORTHANC_OVERRIDE; 203 int32_t contentType) ORTHANC_OVERRIDE;
194 204
195 virtual bool LookupGlobalProperty(std::string& target /*out*/, 205 virtual bool LookupGlobalProperty(std::string& target /*out*/,
206 DatabaseManager& manager,
196 const char* serverIdentifier, 207 const char* serverIdentifier,
197 int32_t property) ORTHANC_OVERRIDE; 208 int32_t property) ORTHANC_OVERRIDE;
198 209
199 virtual void LookupIdentifier(std::list<int64_t>& target /*out*/, 210 virtual void LookupIdentifier(std::list<int64_t>& target /*out*/,
211 DatabaseManager& manager,
200 OrthancPluginResourceType resourceType, 212 OrthancPluginResourceType resourceType,
201 uint16_t group, 213 uint16_t group,
202 uint16_t element, 214 uint16_t element,
203 OrthancPluginIdentifierConstraint constraint, 215 OrthancPluginIdentifierConstraint constraint,
204 const char* value) ORTHANC_OVERRIDE; 216 const char* value) ORTHANC_OVERRIDE;
205 217
206 virtual void LookupIdentifierRange(std::list<int64_t>& target /*out*/, 218 virtual void LookupIdentifierRange(std::list<int64_t>& target /*out*/,
219 DatabaseManager& manager,
207 OrthancPluginResourceType resourceType, 220 OrthancPluginResourceType resourceType,
208 uint16_t group, 221 uint16_t group,
209 uint16_t element, 222 uint16_t element,
210 const char* start, 223 const char* start,
211 const char* end) ORTHANC_OVERRIDE; 224 const char* end) ORTHANC_OVERRIDE;
212 225
213 virtual bool LookupMetadata(std::string& target /*out*/, 226 virtual bool LookupMetadata(std::string& target /*out*/,
227 DatabaseManager& manager,
214 int64_t id, 228 int64_t id,
215 int32_t metadataType) ORTHANC_OVERRIDE; 229 int32_t metadataType) ORTHANC_OVERRIDE;
216 230
217 virtual bool LookupParent(int64_t& parentId /*out*/, 231 virtual bool LookupParent(int64_t& parentId /*out*/,
232 DatabaseManager& manager,
218 int64_t resourceId) ORTHANC_OVERRIDE; 233 int64_t resourceId) ORTHANC_OVERRIDE;
219 234
220 virtual bool LookupResource(int64_t& id /*out*/, 235 virtual bool LookupResource(int64_t& id /*out*/,
221 OrthancPluginResourceType& type /*out*/, 236 OrthancPluginResourceType& type /*out*/,
237 DatabaseManager& manager,
222 const char* publicId) ORTHANC_OVERRIDE; 238 const char* publicId) ORTHANC_OVERRIDE;
223 239
224 virtual bool SelectPatientToRecycle(int64_t& internalId /*out*/) ORTHANC_OVERRIDE;
225
226 virtual bool SelectPatientToRecycle(int64_t& internalId /*out*/, 240 virtual bool SelectPatientToRecycle(int64_t& internalId /*out*/,
241 DatabaseManager& manager) ORTHANC_OVERRIDE;
242
243 virtual bool SelectPatientToRecycle(int64_t& internalId /*out*/,
244 DatabaseManager& manager,
227 int64_t patientIdToAvoid) ORTHANC_OVERRIDE; 245 int64_t patientIdToAvoid) ORTHANC_OVERRIDE;
228 246
229 virtual void SetGlobalProperty(const char* serverIdentifier, 247 virtual void SetGlobalProperty(DatabaseManager& manager,
248 const char* serverIdentifier,
230 int32_t property, 249 int32_t property,
231 const char* value) ORTHANC_OVERRIDE; 250 const char* value) ORTHANC_OVERRIDE;
232 251
233 virtual void SetMainDicomTag(int64_t id, 252 virtual void SetMainDicomTag(DatabaseManager& manager,
253 int64_t id,
234 uint16_t group, 254 uint16_t group,
235 uint16_t element, 255 uint16_t element,
236 const char* value) ORTHANC_OVERRIDE; 256 const char* value) ORTHANC_OVERRIDE;
237 257
238 virtual void SetIdentifierTag(int64_t id, 258 virtual void SetIdentifierTag(DatabaseManager& manager,
259 int64_t id,
239 uint16_t group, 260 uint16_t group,
240 uint16_t element, 261 uint16_t element,
241 const char* value) ORTHANC_OVERRIDE; 262 const char* value) ORTHANC_OVERRIDE;
242 263
243 virtual void SetMetadata(int64_t id, 264 virtual void SetMetadata(DatabaseManager& manager,
265 int64_t id,
244 int32_t metadataType, 266 int32_t metadataType,
245 const char* value) ORTHANC_OVERRIDE; 267 const char* value) ORTHANC_OVERRIDE;
246 268
247 virtual void SetProtectedPatient(int64_t internalId, 269 virtual void SetProtectedPatient(DatabaseManager& manager,
270 int64_t internalId,
248 bool isProtected) ORTHANC_OVERRIDE; 271 bool isProtected) ORTHANC_OVERRIDE;
249 272
250 virtual void StartTransaction(TransactionType type) ORTHANC_OVERRIDE 273 virtual uint32_t GetDatabaseVersion(DatabaseManager& manager) ORTHANC_OVERRIDE;
251 { 274
252 manager_.StartTransaction(type); 275 virtual void UpgradeDatabase(DatabaseManager& manager,
253 } 276 uint32_t targetVersion,
254
255
256 virtual void RollbackTransaction() ORTHANC_OVERRIDE
257 {
258 manager_.RollbackTransaction();
259 }
260
261
262 virtual void CommitTransaction() ORTHANC_OVERRIDE
263 {
264 manager_.CommitTransaction();
265 }
266
267
268 virtual uint32_t GetDatabaseVersion() ORTHANC_OVERRIDE;
269
270 virtual void UpgradeDatabase(uint32_t targetVersion,
271 OrthancPluginStorageArea* storageArea) ORTHANC_OVERRIDE; 277 OrthancPluginStorageArea* storageArea) ORTHANC_OVERRIDE;
272 278
273 virtual void ClearMainDicomTags(int64_t internalId) ORTHANC_OVERRIDE; 279 virtual void ClearMainDicomTags(DatabaseManager& manager,
280 int64_t internalId) ORTHANC_OVERRIDE;
274 281
275 // For unit testing only! 282 // For unit testing only!
276 virtual uint64_t GetAllResourcesCount(); 283 virtual uint64_t GetAllResourcesCount(DatabaseManager& manager);
277 284
278 // For unit testing only! 285 // For unit testing only!
279 virtual uint64_t GetUnprotectedPatientsCount(); 286 virtual uint64_t GetUnprotectedPatientsCount(DatabaseManager& manager);
280 287
281 // For unit testing only! 288 // For unit testing only!
282 virtual bool GetParentPublicId(std::string& target, 289 virtual bool GetParentPublicId(std::string& target,
290 DatabaseManager& manager,
283 int64_t id); 291 int64_t id);
284 292
285 // For unit tests only! 293 // For unit tests only!
286 virtual void GetChildren(std::list<std::string>& childrenPublicIds, 294 virtual void GetChildren(std::list<std::string>& childrenPublicIds,
295 DatabaseManager& manager,
287 int64_t id); 296 int64_t id);
288 297
289 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 298 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
290 // New primitive since Orthanc 1.5.2 299 // New primitive since Orthanc 1.5.2
291 virtual void LookupResources(IDatabaseBackendOutput& output, 300 virtual void LookupResources(IDatabaseBackendOutput& output,
301 DatabaseManager& manager,
292 const std::vector<Orthanc::DatabaseConstraint>& lookup, 302 const std::vector<Orthanc::DatabaseConstraint>& lookup,
293 OrthancPluginResourceType queryLevel, 303 OrthancPluginResourceType queryLevel,
294 uint32_t limit, 304 uint32_t limit,
295 bool requestSomeInstance) ORTHANC_OVERRIDE; 305 bool requestSomeInstance) ORTHANC_OVERRIDE;
296 #endif 306 #endif
297 307
298 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 308 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
299 // New primitive since Orthanc 1.5.2 309 // New primitive since Orthanc 1.5.2
300 virtual void SetResourcesContent( 310 virtual void SetResourcesContent(
311 DatabaseManager& manager,
301 uint32_t countIdentifierTags, 312 uint32_t countIdentifierTags,
302 const OrthancPluginResourcesContentTags* identifierTags, 313 const OrthancPluginResourcesContentTags* identifierTags,
303 uint32_t countMainDicomTags, 314 uint32_t countMainDicomTags,
304 const OrthancPluginResourcesContentTags* mainDicomTags, 315 const OrthancPluginResourcesContentTags* mainDicomTags,
305 uint32_t countMetadata, 316 uint32_t countMetadata,
306 const OrthancPluginResourcesContentMetadata* metadata) ORTHANC_OVERRIDE; 317 const OrthancPluginResourcesContentMetadata* metadata) ORTHANC_OVERRIDE;
307 #endif 318 #endif
308 319
309 // New primitive since Orthanc 1.5.2 320 // New primitive since Orthanc 1.5.2
310 virtual void GetChildrenMetadata(std::list<std::string>& target, 321 virtual void GetChildrenMetadata(std::list<std::string>& target,
322 DatabaseManager& manager,
311 int64_t resourceId, 323 int64_t resourceId,
312 int32_t metadata) ORTHANC_OVERRIDE; 324 int32_t metadata) ORTHANC_OVERRIDE;
313 325
314 virtual void TagMostRecentPatient(int64_t patient) ORTHANC_OVERRIDE; 326 virtual void TagMostRecentPatient(DatabaseManager& manager,
327 int64_t patient) ORTHANC_OVERRIDE;
315 328
316 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1 329 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1
317 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4) 330 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4)
318 // New primitive since Orthanc 1.5.4 331 // New primitive since Orthanc 1.5.4
319 virtual bool LookupResourceAndParent(int64_t& id, 332 virtual bool LookupResourceAndParent(int64_t& id,
320 OrthancPluginResourceType& type, 333 OrthancPluginResourceType& type,
321 std::string& parentPublicId, 334 std::string& parentPublicId,
335 DatabaseManager& manager,
322 const char* publicId) ORTHANC_OVERRIDE; 336 const char* publicId) ORTHANC_OVERRIDE;
323 # endif 337 # endif
324 #endif 338 #endif
325 339
326 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1 340 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1
327 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4) 341 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4)
328 // New primitive since Orthanc 1.5.4 342 // New primitive since Orthanc 1.5.4
329 virtual void GetAllMetadata(std::map<int32_t, std::string>& result, 343 virtual void GetAllMetadata(std::map<int32_t, std::string>& result,
344 DatabaseManager& manager,
330 int64_t id) ORTHANC_OVERRIDE; 345 int64_t id) ORTHANC_OVERRIDE;
331 # endif 346 # endif
332 #endif 347 #endif
333 348
334 virtual bool HasCreateInstance() const ORTHANC_OVERRIDE 349 virtual bool HasCreateInstance() const ORTHANC_OVERRIDE
338 return false; 353 return false;
339 } 354 }
340 355
341 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 356 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
342 virtual void CreateInstance(OrthancPluginCreateInstanceResult& result, 357 virtual void CreateInstance(OrthancPluginCreateInstanceResult& result,
358 DatabaseManager& manager,
343 const char* hashPatient, 359 const char* hashPatient,
344 const char* hashStudy, 360 const char* hashStudy,
345 const char* hashSeries, 361 const char* hashSeries,
346 const char* hashInstance) ORTHANC_OVERRIDE 362 const char* hashInstance) ORTHANC_OVERRIDE
347 { 363 {
350 #endif 366 #endif
351 367
352 // This function corresponds to 368 // This function corresponds to
353 // "Orthanc::Compatibility::ICreateInstance::Apply()" 369 // "Orthanc::Compatibility::ICreateInstance::Apply()"
354 void CreateInstanceGeneric(OrthancPluginCreateInstanceResult& result, 370 void CreateInstanceGeneric(OrthancPluginCreateInstanceResult& result,
371 DatabaseManager& manager,
355 const char* hashPatient, 372 const char* hashPatient,
356 const char* hashStudy, 373 const char* hashStudy,
357 const char* hashSeries, 374 const char* hashSeries,
358 const char* hashInstance); 375 const char* hashInstance);
359 376