46 lines
742 B
C++
46 lines
742 B
C++
|
|
#pragma once
|
|
|
|
|
|
#include <string>
|
|
#include <fstream>
|
|
#include <memory>
|
|
#include <set>
|
|
|
|
|
|
namespace wfr {
|
|
namespace wep {
|
|
|
|
// Forward declarations
|
|
class WorkflowExecutionPlan;
|
|
class AbstractWepNode;
|
|
|
|
// main namespace
|
|
namespace utils {
|
|
|
|
|
|
class WepProgressionWriter {
|
|
|
|
// Invariant properties that can be accessed directly.
|
|
public:
|
|
const std::shared_ptr<WorkflowExecutionPlan> wep;
|
|
const std::string workflowName;
|
|
|
|
private:
|
|
std::ofstream outfile;
|
|
int64_t epoch = 0;
|
|
|
|
public:
|
|
WepProgressionWriter(const std::shared_ptr<WorkflowExecutionPlan>& wep) noexcept;
|
|
|
|
void openFile(const std::string filename = std::string());
|
|
void writeProgressToFile();
|
|
void closeFile();
|
|
|
|
};
|
|
|
|
|
|
} /* namespace utils */
|
|
} /* namespace wep */
|
|
} /* namespace wfr */
|