1 #ifndef _PROCESS_MANAGER_H_
2 #define _PROCESS_MANAGER_H_
5 #include <boost/serialization/serialization.hpp>
6 #include <boost/serialization/map.hpp>
7 #include <boost/serialization/vector.hpp>
8 #include <boost/archive/text_iarchive.hpp>
9 #include <boost/archive/text_oarchive.hpp>
10 #include <boost/uuid/uuid.hpp>
11 #include <boost/uuid/uuid_generators.hpp>
12 #include <boost/uuid/uuid_io.hpp>
13 #include <boost/uuid/uuid_serialize.hpp>
65 const std::string typout,
const std::string
id)
76 input_type=parent.input_type;
77 output_type=parent.output_type;
79 std::string name()
const
90 std::string
id()
const
109 input_type=parent.input_type;
110 output_type=parent.output_type;
117 std::string input_type;
118 std::string output_type;
119 friend boost::serialization::access;
120 template<
class Archive>
121 void serialize(Archive& ar,
const unsigned int version)
133 const size_t instance=0)
const;
134 std::string jobname()
const
138 std::string jobid()
const
140 return boost::uuids::to_string(job_uuid);
155 boost::uuids::uuid id;
157 return boost::uuids::to_string(
id);
161 boost::uuids::uuid job_uuid;
162 boost::uuids::random_generator gen;
163 std::map<std::string,std::vector<AlgorithmDefinition>> algs;
164 friend boost::serialization::access;
165 template<
class Archive>
166 void serialize(Archive& ar,
const unsigned int version)
Lightweight data structure to completely describe an algorithm.
Definition: ProcessManager.h:44
AlgorithmDefinition()
Definition: ProcessManager.h:51
void set_id(const std::string id)
Definition: ProcessManager.h:101
AlgorithmDefinition(const std::string name, const std::string typin, const std::string typout, const std::string id)
Definition: ProcessManager.h:64
std::string id() const
return the id as a string.
Definition: ProcessManager.h:90
Definition: ProcessManager.h:128
std::string new_newid()
Get a new UUID to define unique job run.
Definition: ProcessManager.h:153