← Documentation
ADS-IDAC Engine 5.0.0
SupportSystemReliabilityUnit.h
Go to the documentation of this file.
1#include <iostream>
2#include <typeinfo>
3#ifndef SUPPORTSYSTEMUNIT_H_
4#define SUPPORTSYSTEMUNIT_H_
5
6#include <boost/serialization/vector.hpp>
7#include <boost/serialization/string.hpp>
8#include <boost/serialization/base_object.hpp>
9#include <boost/archive/text_iarchive.hpp>
10#include <boost/archive/text_oarchive.hpp>
11//#include <boost/serialization/export.hpp>
12
13#include "../Branch/BranchSupportSystemAction.h"
14#include "../ControlPanel/DisplaySupportSystemState.h"
15#include "../ControlPanel/StateOfActivation.h"
16#ifdef ENABLE_HCL
17#include "../../HCL/hcl/HCLEngine.h"
18#include "../../HCL/hcl/HCLFTResolver.h"
19#endif
20
23 public StateOfActivation {
24public:
25 SupportSystemReliabilityUnit(const std::string &topNode);
27#ifdef ENABLE_HCL
28 const HCLEngine &getHclEngine() const;
29 void setHclEngine(const HCLEngine &hclEngine);
30#endif
34 const std::string &getTopNode() const;
35 const std::vector<std::string> &getBasicNodes() const;
36 void setBasicNodes(const std::vector<std::string> &basicNodes);
39 void saveSupportSystemUnitToFile(std::ofstream &);
40 void retrieveSupportSystemUnitFromFile(std::ifstream &fin);
42 void updateDisplayState();
43
45 template<class Archive>
46 void serialize(Archive &ar, const unsigned int version) {
47// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
48 ar & boost::serialization::base_object<BranchSupportSystemAction>(*this);
49 ar & boost::serialization::base_object<StateOfActivation>(*this);
51 // For pointer serialization, you need to ensure that the pointed-to object is serializable.
53// ar & hclEngine;
54 ar & topNode;
55 ar & basicNodes;
56 }
57
58private:
61#ifdef ENABLE_HCL
62 HCLEngine hclEngine;
63#endif
64 std::string topNode;
65 std::vector<std::string> basicNodes;
66};
67
68
69//BOOST_CLASS_EXPORT_KEY(SupportSystemReliabilityUnit)
70#endif /* SUPPORTSYSTEMUNIT_H_ */
std::vector< std::string > basicNodes
void setBasicNodes(const std::vector< std::string > &basicNodes)
void copySupportSystemUnit(SupportSystemReliabilityUnit &)
void retrieveSupportSystemUnitFromFile(std::ifstream &fin)
SupportSystemReliabilityUnit(const std::string &topNode)
void setInitialSupportSystemState(int initialSupportSystemState)
void setCorrespondingSupportSystemPt(DisplaySupportSystemState *correspondingSupportSystemPt)
void serialize(Archive &ar, const unsigned int version)
friend class boost::serialization::access
const std::vector< std::string > & getBasicNodes() const
DisplaySupportSystemState * correspondingSupportSystemPt