← Documentation
ADS-IDAC Engine 5.0.0
BranchProcedureControlValue.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <typeinfo>
5// BranchProcedureControlValue.h: interface for the BranchProcedureControlValue class.
6//
8
10#include "../Scheduler/Scheduler.h"
11#include "../Global/fmodule.h"
12#include <memory>
13#include <boost/archive/text_oarchive.hpp>
14#include <boost/archive/text_iarchive.hpp>
15#include <boost/serialization/vector.hpp>
16#include <boost/serialization/unique_ptr.hpp>
17#include <boost/serialization/string.hpp>
18#include <boost/serialization/export.hpp>
19
20
30{
31public:
41 BranchProcedureControlValueUnit *checkToGenerateControlValueBranches(std::string, std::string, std::string);
56 void readInfoFromFile();
59 void saveBranchProcedureControlValueToFile(std::ofstream &);
64 std::vector<std::unique_ptr<BranchProcedureControlValueUnit>> control_value_branches;
65 template<class Archive>
66 void serialize(Archive & ar, const unsigned int version) {
67// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
68 // Serialize this class's members
70 }
71};
72
73
74BOOST_CLASS_EXPORT_KEY(BranchProcedureControlValue)
Table of procedure actions that branch on the control value they set.
std::vector< std::unique_ptr< BranchProcedureControlValueUnit > > control_value_branches
The entries, in file order.
void copyBranchProcedureControlValue(BranchProcedureControlValue &)
Appends deep copies of the entries of another table. Existing entries are kept, so call it on an empt...
void saveBranchProcedureControlValueToFile(std::ofstream &)
Writes the label BranchProcedureControlValue, the entry count and every entry to a text restart strea...
void readInfoFromFile()
Loads ProcedureControlValueBranches.txt from the EOP directory (Scheduler::getEOPDirectory()) and app...
BranchProcedureControlValueUnit * checkToGenerateControlValueBranches(std::string, std::string, std::string)
Looks up the control value branch definition of a procedure action.
void retreiveBranchProcedureControlValueFromFile(std::ifstream &)
Reads the layout written by saveBranchProcedureControlValueToFile and appends the entries it reads.
void clearBranchProcedureControlValue()
Removes every entry.
void serialize(Archive &ar, const unsigned int version)