comparison OrthancServer/Search/Compatibility/CompatibilityDatabaseWrapper.h @ 3084:195ba4cbac3f db-changes

reorganization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 04 Jan 2019 16:42:55 +0100
parents 683d572424b6
children
comparison
equal deleted inserted replaced
3083:683d572424b6 3084:195ba4cbac3f
31 **/ 31 **/
32 32
33 33
34 #pragma once 34 #pragma once
35 35
36 #include "../../ServerToolbox.h" 36 #include "../../IDatabaseWrapper.h"
37 #include "ICompatibilityCreateInstance.h"
38 #include "ISetResourcesContent.h"
39 37
40 namespace Orthanc 38 namespace Orthanc
41 { 39 {
42 namespace Compatibility 40 namespace Compatibility
43 { 41 {
44 /** 42 /**
45 * This is a compatibility class that contains database primitives 43 * This is a compatibility class that contains database primitives
46 * that were used in Orthanc <= 1.5.1, and that have been removed 44 * that were used in Orthanc <= 1.5.1, and that have been removed
47 * during the optimization of the database engine. 45 * during the optimization of the database engine.
48 **/ 46 **/
49 class CompatibilityDatabaseWrapper : 47 class CompatibilityDatabaseWrapper : public boost::noncopyable
50 public ICompatibilityCreateInstance,
51 public ISetResourcesContent
52 { 48 {
53 public: 49 public:
54 virtual void ApplyLookupResources(std::list<std::string>& resourcesId, 50 virtual ~CompatibilityDatabaseWrapper()
55 std::list<std::string>* instancesId, 51 {
56 const std::vector<DatabaseConstraint>& lookup, 52 }
57 ResourceType queryLevel, 53
58 size_t limit)
59 ORTHANC_OVERRIDE;
60
61 virtual bool CreateInstance(CreateInstanceResult& result,
62 int64_t& instanceId,
63 const std::string& patient,
64 const std::string& study,
65 const std::string& series,
66 const std::string& instance)
67 ORTHANC_OVERRIDE;
68
69 virtual void GetAllInternalIds(std::list<int64_t>& target, 54 virtual void GetAllInternalIds(std::list<int64_t>& target,
70 ResourceType resourceType) = 0; 55 ResourceType resourceType) = 0;
71 56
72 virtual void LookupIdentifier(std::list<int64_t>& result, 57 virtual void LookupIdentifier(std::list<int64_t>& result,
73 ResourceType level, 58 ResourceType level,
78 virtual void LookupIdentifierRange(std::list<int64_t>& result, 63 virtual void LookupIdentifierRange(std::list<int64_t>& result,
79 ResourceType level, 64 ResourceType level,
80 const DicomTag& tag, 65 const DicomTag& tag,
81 const std::string& start, 66 const std::string& start,
82 const std::string& end) = 0; 67 const std::string& end) = 0;
68
69 static void Apply(IDatabaseWrapper& database,
70 CompatibilityDatabaseWrapper& compatibility,
71 std::list<std::string>& resourcesId,
72 std::list<std::string>* instancesId,
73 const std::vector<DatabaseConstraint>& lookup,
74 ResourceType queryLevel,
75 size_t limit);
83 }; 76 };
84 } 77 }
85 } 78 }