Mercurial > hg > orthanc
diff OrthancServer/Sources/OrthancWebDav.h @ 4242:5cfa6ba75dfc
deleting resources from Orthanc WebDAV
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 09 Oct 2020 17:51:06 +0200 |
parents | 799c0c527ced |
children | 64f57c9d5f79 |
line wrap: on
line diff
--- a/OrthancServer/Sources/OrthancWebDav.h Fri Oct 09 12:07:23 2020 +0200 +++ b/OrthancServer/Sources/OrthancWebDav.h Fri Oct 09 17:51:06 2020 +0200 @@ -47,19 +47,20 @@ private: typedef std::map<ResourceType, std::string> Templates; - class DicomIdentifiersVisitor; + class DicomDeleteVisitor; class DicomFileVisitor; - class OrthancJsonVisitor; + class DicomIdentifiersVisitor; class InstancesOfSeries; class InternalNode; class ListOfResources; class ListOfStudiesByDate; class ListOfStudiesByMonth; class ListOfStudiesByYear; + class OrthancJsonVisitor; class ResourcesIndex; class RootNode; class SingleDicomResource; - + class INode : public boost::noncopyable { public: @@ -74,6 +75,8 @@ std::string& content, boost::posix_time::ptime& time, const UriComponents& path) = 0; + + virtual bool DeleteItem(const UriComponents& path) = 0; }; @@ -84,8 +87,11 @@ static void UploadWorker(OrthancWebDav* that); void Upload(const std::string& path); + + INode& GetRootNode(const std::string& rootPath); ServerContext& context_; + bool allowDicomDelete_; std::unique_ptr<INode> patients_; std::unique_ptr<INode> studies_; std::unique_ptr<INode> dates_; @@ -97,7 +103,8 @@ bool running_; public: - OrthancWebDav(ServerContext& context); + OrthancWebDav(ServerContext& context, + bool allowDicomDelete); virtual ~OrthancWebDav() {