Mercurial > hg > orthanc-databases
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 |