Mercurial > hg > orthanc
comparison OrthancServer/Plugins/Samples/DelayedDeletion/LargeDeleteJob.h @ 5024:c2ebc47f4f18 delayed-deletion
wip: adding DelayedDeletion plugin
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 20 Jun 2022 16:53:21 +0200 |
parents | |
children | 99751c5a7cfe |
comparison
equal
deleted
inserted
replaced
5021:559b35d18ef7 | 5024:c2ebc47f4f18 |
---|---|
1 #pragma once | |
2 | |
3 #include "../Common/OrthancPluginCppWrapper.h" | |
4 #include "../../../../OrthancFramework/Sources/Enumerations.h" | |
5 #include "../../../../OrthancFramework/Sources/Compatibility.h" | |
6 | |
7 | |
8 class LargeDeleteJob : public OrthancPlugins::OrthancJob | |
9 { | |
10 private: | |
11 std::vector<std::string> resources_; | |
12 std::vector<Orthanc::ResourceType> levels_; | |
13 std::vector<std::string> instances_; | |
14 std::vector<std::string> series_; | |
15 size_t posResources_; | |
16 size_t posInstances_; | |
17 size_t posSeries_; | |
18 size_t posDelete_; | |
19 | |
20 void UpdateDeleteProgress(); | |
21 | |
22 void ScheduleChildrenResources(std::vector<std::string>& target, | |
23 const std::string& uri); | |
24 | |
25 void ScheduleResource(Orthanc::ResourceType level, | |
26 const std::string& id); | |
27 | |
28 void DeleteResource(Orthanc::ResourceType level, | |
29 const std::string& id); | |
30 | |
31 public: | |
32 LargeDeleteJob(const std::vector<std::string>& resources, | |
33 const std::vector<Orthanc::ResourceType>& levels); | |
34 | |
35 virtual OrthancPluginJobStepStatus Step() ORTHANC_OVERRIDE; | |
36 | |
37 virtual void Stop(OrthancPluginJobStopReason reason) ORTHANC_OVERRIDE | |
38 { | |
39 } | |
40 | |
41 virtual void Reset() ORTHANC_OVERRIDE; | |
42 | |
43 static void RestHandler(OrthancPluginRestOutput* output, | |
44 const char* url, | |
45 const OrthancPluginHttpRequest* request); | |
46 }; |