view OrthancServer/Plugins/Samples/DelayedDeletion/PendingDeletionsDatabase.h @ 5031:eec3e4a91663 delayed-deletion

DelayedDeletion plugin: first version
author Alain Mazy <am@osimis.io>
date Tue, 21 Jun 2022 17:29:36 +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();
};