← Documentation
ADS-IDAC Engine 5.0.0
SupportSystemReliabilityModule.h
Go to the documentation of this file.
1
8
9#include <iostream>
10#include <typeinfo>
11#ifndef SUPPORTSYSTEMMODULE_H_
12#define SUPPORTSYSTEMMODULE_H_
13
14#include "../ControlPanel/StateOfActivation.h"
16#include <boost/serialization/export.hpp>
17
18#include <memory>
19#include <vector>
20#include <string>
21#include <fstream>
22#include <boost/serialization/vector.hpp>
23#include <boost/serialization/unique_ptr.hpp>
24#include <boost/serialization/base_object.hpp> // Include for base class serialization
25#include <boost/archive/text_iarchive.hpp>
26#include <boost/archive/text_oarchive.hpp>
27
29public:
32 const std::vector<std::unique_ptr<SupportSystemReliabilityUnit>> &getSupportSystemReliabilityUnit() const;
34 void readInfoFromFile();
38 void clearForRestart();
39 void saveSupportSystemModuleToFile(std::ofstream &);
40 void retrieveSupportSystemModuleFromFile(std::ifstream &);
41 std::vector<std::unique_ptr<SupportSystemReliabilityUnit>> supportSystemReliabilityUnit;
42
43private:
45 template<class Archive>
46 void serialize(Archive &ar, const unsigned int version) {
47// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
48 // Serialize the base class
49 ar & boost::serialization::base_object<StateOfActivation>(*this);
50 // Serialize the member variables
52 }
53};
54
55
56
57//BOOST_CLASS_EXPORT_KEY(SupportSystemReliabilityModule)
58#endif /* SUPPORTSYSTEMMODULE_H_ */
std::vector< std::unique_ptr< SupportSystemReliabilityUnit > > supportSystemReliabilityUnit
SupportSystemReliabilityUnit * getSupportSystemReliabilityUnit(const std::string)
const std::vector< std::unique_ptr< SupportSystemReliabilityUnit > > & getSupportSystemReliabilityUnit() const
void serialize(Archive &ar, const unsigned int version)
void copySupportSystemModule(SupportSystemReliabilityModule &)
friend class boost::serialization::access