Skip to content

InscoperAPI/API/Base/Sequence/SequenceHandler.h

Namespaces

Name
Inscoper
Inscoper namespace.

Classes

Name
class Inscoper::SequenceHandler
SequenceHandler class manages sequence preparation progress and cancellation.

Source code

#ifndef SEQUENCEHANDLER_H
#define SEQUENCEHANDLER_H

#include <Base/Sequence/ESequencePreparationStatus.h>
#include <Global.h>

#include <atomic>
#include <memory>

namespace Inscoper {

class INSCOPER_EXPORT SequenceHandler {
public:
  explicit SequenceHandler(unsigned long long int interval = 1000000);

  virtual ~SequenceHandler() {
  }

  virtual void onProgress(ESequencePreparationStatus status, float progress) = 0;

  void cancelPreparation();

  bool isCancelled() const;

  void setInterval(unsigned long long int interval);

  unsigned long long int getInterval();

private:
  std::atomic<bool> _cancelled{false};
  std::atomic<unsigned long long int> _interval;
};

typedef std::shared_ptr<SequenceHandler> SequenceHandlerPtr;

} // namespace Inscoper

#endif // SEQUENCEHANDLER_H

Updated on 2026-09-03 at 12:14:17 +0200