Mercurial > hg > orthanc
diff Core/JobsEngine/SetOfInstancesJob.h @ 2860:8b00e4cb4a6b
SetOfCommandsJob
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 05 Oct 2018 16:07:34 +0200 |
parents | ff0ed5ea9e4e |
children | 4e43e67f8ecf |
line wrap: on
line diff
--- a/Core/JobsEngine/SetOfInstancesJob.h Fri Oct 05 10:44:59 2018 +0200 +++ b/Core/JobsEngine/SetOfInstancesJob.h Fri Oct 05 16:07:34 2018 +0200 @@ -34,86 +34,48 @@ #pragma once #include "IJob.h" +#include "SetOfCommandsJob.h" #include <set> namespace Orthanc { - class SetOfInstancesJob : public IJob + class SetOfInstancesJob : public SetOfCommandsJob { private: - bool hasTrailingStep_; - bool started_; - std::vector<std::string> instances_; - bool permissive_; - size_t position_; - std::set<std::string> failedInstances_; - std::string description_; + class InstanceCommand; + class TrailingStepCommand; + class InstanceUnserializer; + + bool hasTrailingStep_; + std::set<std::string> failedInstances_; protected: virtual bool HandleInstance(const std::string& instance) = 0; virtual bool HandleTrailingStep() = 0; + // Hiding this method, use AddInstance() instead + using SetOfCommandsJob::AddCommand; + public: - SetOfInstancesJob(bool hasTrailingStep); + SetOfInstancesJob(); + + SetOfInstancesJob(const Json::Value& source); // Unserialization + + void AddInstance(const std::string& instance); - SetOfInstancesJob(const Json::Value& s); // Unserialization + void AddTrailingStep(); + + size_t GetInstancesCount() const; + + const std::string& GetInstance(size_t index) const; bool HasTrailingStep() const { return hasTrailingStep_; } - - size_t GetPosition() const - { - return position_; - } - void SetDescription(const std::string& description) - { - description_ = description; - } - - const std::string& GetDescription() const - { - return description_; - } - - void Reserve(size_t size); - - size_t GetInstancesCount() const - { - return instances_.size(); - } - - size_t GetStepsCount() const; - - void AddInstance(const std::string& instance); - - bool IsPermissive() const - { - return permissive_; - } - - void SetPermissive(bool permissive); - - virtual void Reset(); - - virtual void Start() - { - started_ = true; - } - - virtual float GetProgress(); - - bool IsStarted() const - { - return started_; - } - - const std::string& GetInstance(size_t index) const; - const std::set<std::string>& GetFailedInstances() const { return failedInstances_; @@ -123,11 +85,13 @@ { return failedInstances_.find(instance) != failedInstances_.end(); } - - virtual JobStepResult Step(); - - virtual void GetPublicContent(Json::Value& value); - - virtual bool Serialize(Json::Value& value); + + virtual void Start(); + + virtual void Reset(); + + virtual void GetPublicContent(Json::Value& target); + + virtual bool Serialize(Json::Value& target); }; }