← Documentation
ADS-IDAC Engine 5.0.0
HWReliabilityFTUnit.h
Go to the documentation of this file.
1#ifndef HWRELIABILITYFTUNIT_H
2#define HWRELIABILITYFTUNIT_H
3
4#include "../Branch/BranchSystemAction.h"
5#include "../ControlPanel/StateOfActivation.h"
6#include "../ControlPanel/DisplayComponentState.h"
7#ifdef ENABLE_HCL
8#include "../../HCL/hcl/HCLFTResolver.h"
9class HCLEngine;
10#endif
11#include <boost/serialization/access.hpp>
12#include <boost/serialization/base_object.hpp>
13#include <boost/serialization/vector.hpp>
14#include <boost/archive/text_oarchive.hpp>
15#include <boost/archive/text_iarchive.hpp>
16#include <boost/serialization/export.hpp>
17
19 public BranchSystemAction,
20 public StateOfActivation {
21 public:
23 HWReliabilityFTUnit(const std::string &topNode);
24 virtual ~HWReliabilityFTUnit();
25#ifdef ENABLE_HCL
26 HCLEngine *getHclEngine() const;
27 void setHclEngine(HCLEngine *hclEngine);
28#endif
29 const std::string &getTopNode() const;
30 void setTopNode(const std::string &topNode);
31 const std::vector<std::string> &getBasicNodes() const;
32 void setBasicNodes(const std::vector<std::string> &basicNodes);
41 void saveHWReliabilityFTUnitToFile(std::ofstream &);
42 void retrieveHWReliabilityFTUnitFromFile(std::ifstream &);
43 private:
46#ifdef ENABLE_HCL
47 HCLEngine *hclEngine;
48#endif
49 std::string topNode;
50 std::vector<std::string> basicNodes;
51
52 // Boost serialization
54 template<class Archive>
55 void serialize(Archive & ar, const unsigned int version)
56 {
57 ar & boost::serialization::base_object<BranchSystemAction>(*this);
58 ar & boost::serialization::base_object<StateOfActivation>(*this);
61 ar & topNode;
62 ar & basicNodes;
63 // hclEngine is runtime engine pointer; excluded from serialization.
64 }
65};
66
67//BOOST_CLASS_EXPORT_KEY(HWReliabilityFTUnit)
68
69#endif //HWRELIABILITYFTUNIT_H
void copyHWReliabilityFTUnit(HWReliabilityFTUnit &)
const std::string & getTopNode() const
std::vector< std::string > basicNodes
void retrieveHWReliabilityFTUnitFromFile(std::ifstream &)
HWReliabilityFTUnit(const std::string &topNode)
void setBasicNodes(const std::vector< std::string > &basicNodes)
void saveHWReliabilityFTUnitToFile(std::ofstream &)
DisplayComponentState * corresponding_component_pt
void setCorrespondingComponentPt(DisplayComponentState *)
DisplayComponentState * getCorresponding_component_pt() const
friend class boost::serialization::access
const std::vector< std::string > & getBasicNodes() const
void serialize(Archive &ar, const unsigned int version)
void setTopNode(const std::string &topNode)
void setCorresponding_component_pt(DisplayComponentState *corresponding_component_pt)