comparison OrthancServer/IDatabaseWrapper.h @ 3080:1a75595d8e44 db-changes

started refactoring of ServerIndex::Store()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 03 Jan 2019 18:21:22 +0100
parents ead8576a02ef
children 847a0ed92654
comparison
equal deleted inserted replaced
3079:65e2bfa953ef 3080:1a75595d8e44
64 64
65 virtual void Commit(int64_t fileSizeDelta) = 0; 65 virtual void Commit(int64_t fileSizeDelta) = 0;
66 }; 66 };
67 67
68 68
69 struct CreateInstanceResult
70 {
71 bool isNewPatient_;
72 bool isNewStudy_;
73 bool isNewSeries_;
74 int64_t patientId_;
75 int64_t studyId_;
76 int64_t seriesId_;
77 };
78
79
69 virtual ~IDatabaseWrapper() 80 virtual ~IDatabaseWrapper()
70 { 81 {
71 } 82 }
72 83
73 virtual void Open() = 0; 84 virtual void Open() = 0;
75 virtual void Close() = 0; 86 virtual void Close() = 0;
76 87
77 virtual void AddAttachment(int64_t id, 88 virtual void AddAttachment(int64_t id,
78 const FileInfo& attachment) = 0; 89 const FileInfo& attachment) = 0;
79 90
80 virtual void AttachChild(int64_t parent,
81 int64_t child) = 0;
82
83 virtual void ClearChanges() = 0; 91 virtual void ClearChanges() = 0;
84 92
85 virtual void ClearExportedResources() = 0; 93 virtual void ClearExportedResources() = 0;
86
87 virtual int64_t CreateResource(const std::string& publicId,
88 ResourceType type) = 0;
89 94
90 virtual void DeleteAttachment(int64_t id, 95 virtual void DeleteAttachment(int64_t id,
91 FileContentType attachment) = 0; 96 FileContentType attachment) = 0;
92 97
93 virtual void DeleteMetadata(int64_t id, 98 virtual void DeleteMetadata(int64_t id,
208 virtual unsigned int GetDatabaseVersion() = 0; 213 virtual unsigned int GetDatabaseVersion() = 0;
209 214
210 virtual void Upgrade(unsigned int targetVersion, 215 virtual void Upgrade(unsigned int targetVersion,
211 IStorageArea& storageArea) = 0; 216 IStorageArea& storageArea) = 0;
212 217
218
219 /**
220 * Primitives introduced in Orthanc 1.5.2
221 **/
222
213 virtual bool IsDiskSizeAbove(uint64_t threshold) = 0; 223 virtual bool IsDiskSizeAbove(uint64_t threshold) = 0;
214 224
215 virtual void ApplyLookupResources(std::list<std::string>& resourcesId, 225 virtual void ApplyLookupResources(std::list<std::string>& resourcesId,
216 std::list<std::string>* instancesId, // Can be NULL if not needed 226 std::list<std::string>* instancesId, // Can be NULL if not needed
217 const std::vector<DatabaseConstraint>& lookup, 227 const std::vector<DatabaseConstraint>& lookup,
218 ResourceType queryLevel, 228 ResourceType queryLevel,
219 size_t limit) = 0; 229 size_t limit) = 0;
230
231 // Returns "true" iff. the instance already exists *and*
232 // "overwrite" is "false". If "false" is returned, the content of
233 // "result" is undefined, but "instanceId" must be properly set.
234 virtual bool CreateInstance(CreateInstanceResult& result, /* out */
235 int64_t& instanceId, /* out */
236 const std::string& patient,
237 const std::string& study,
238 const std::string& series,
239 const std::string& instance,
240 bool overwrite) = 0;
220 }; 241 };
221 } 242 }