1#ifndef _PROCESS_MANAGER_H_
2#define _PROCESS_MANAGER_H_
3#include <boost/archive/text_iarchive.hpp>
4#include <boost/archive/text_oarchive.hpp>
5#include <boost/serialization/map.hpp>
6#include <boost/serialization/serialization.hpp>
7#include <boost/serialization/vector.hpp>
8#include <boost/uuid/uuid.hpp>
9#include <boost/uuid/uuid_generators.hpp>
10#include <boost/uuid/uuid_io.hpp>
11#include <boost/uuid/uuid_serialize.hpp>
64 const std::string typout,
const std::string
id) {
73 input_type = parent.input_type;
74 output_type = parent.output_type;
76 std::string name()
const {
return nm; };
84 std::string
id()
const {
return myid; };
92 void set_id(
const std::string
id) { myid =
id; };
95 if (
this == &parent) {
98 input_type = parent.input_type;
99 output_type = parent.output_type;
107 std::string input_type;
108 std::string output_type;
109 friend boost::serialization::access;
110 template <
class Archive>
111 void serialize(Archive &ar,
const unsigned int version) {
121 const size_t instance = 0)
const;
122 std::string jobname()
const {
return jobnm; };
123 std::string jobid()
const {
return boost::uuids::to_string(job_uuid); };
136 boost::uuids::uuid id;
138 return boost::uuids::to_string(
id);
143 boost::uuids::uuid job_uuid;
144 boost::uuids::random_generator gen;
145 std::map<std::string, std::vector<AlgorithmDefinition>> algs;
146 friend boost::serialization::access;
147 template <
class Archive>
148 void serialize(Archive &ar,
const unsigned int version) {
Lightweight data structure to completely describe an algorithm.
Definition ProcessManager.h:43
AlgorithmDefinition()
Definition ProcessManager.h:50
void set_id(const std::string id)
Definition ProcessManager.h:92
AlgorithmDefinition(const std::string name, const std::string typin, const std::string typout, const std::string id)
Definition ProcessManager.h:63
std::string id() const
return the id as a string.
Definition ProcessManager.h:84
Definition ProcessManager.h:116
std::string new_newid()
Get a new UUID to define unique job run.
Definition ProcessManager.h:135