view OrthancServer/Plugins/Samples/DelayedDeletion/PendingDeletionsDatabase.h @ 5078:201a500dcff4 Orthanc-1.11.2

Orthanc-1.11.2
author Alain Mazy <am@osimis.io>
date Wed, 31 Aug 2022 10:21:35 +0200
parents c2ebc47f4f18
children 99751c5a7cfe
line wrap: on
line source

#pragma once


#include "../../../../OrthancFramework/Sources/SQLite/Connection.h"
#include <boost/thread/mutex.hpp>
#include <boost/noncopyable.hpp>

class PendingDeletionsDatabase : public boost::noncopyable
{
private:
  boost::mutex                 mutex_;
  Orthanc::SQLite::Connection  db_;

  void Setup();
  
public:
  PendingDeletionsDatabase(const std::string& path);

  void Enqueue(const std::string& uuid,
               Orthanc::FileContentType type);
  
  bool Dequeue(std::string& uuid,
               Orthanc::FileContentType& type);

  unsigned int GetSize();
};