← Documentation
ADS-IDAC Engine 5.0.0
BranchUnit.h
Go to the documentation of this file.
1#pragma once
2
10
11#include <iostream>
12#include <typeinfo>
13
14#include "BranchGoal.h"
15#include "BranchStrategy.h"
16#include "BranchSubGoal.h"
17#include "BranchDiagnosis.h"
19#include "BranchActionPack.h"
20#include "BranchAction.h"
26#include "BranchProcedureStep.h"
31#include <memory>
32#include <boost/archive/text_oarchive.hpp>
33#include <boost/archive/text_iarchive.hpp>
34#include <boost/serialization/access.hpp>
35#include <boost/serialization/vector.hpp>
36#include <boost/serialization/unique_ptr.hpp>
37#include <boost/serialization/shared_ptr.hpp>
38#include <boost/serialization/export.hpp>
39
41 public:
42 BranchUnit();
43 virtual ~BranchUnit();
44 void clearBranchUnit();
51 void saveBranchUnitToFile(std::ofstream &);
52 void retrieveBranchUnitFromFile(std::ifstream &);
53 std::vector<std::shared_ptr<BranchGoal>> goal;
54 std::vector<std::shared_ptr<BranchStrategy>> strategy;
55 std::vector<std::shared_ptr<BranchSubGoal>> subgoal;
56 std::vector<std::shared_ptr<BranchDiagnosis>> diagnosis;
57 std::vector<std::shared_ptr<BranchActionObjective>> action_objective;
58 std::vector<std::shared_ptr<BranchActionPack>> action_pack;
59 std::vector<std::shared_ptr<BranchAction>> action;
60 std::vector<std::shared_ptr<BranchExpectedAlarmState>> alarm_state;
61 std::vector<std::shared_ptr<BranchExpectedComponentState>> component_state;
62 std::vector<std::shared_ptr<BranchExpectedSupportSystemState>> support_system_state;
63 std::vector<std::shared_ptr<BranchExpectedParameterTrend>> parameter_trend;
64 std::vector<std::shared_ptr<BranchExpectedParameterValue>> parameter_value;
65 std::vector<std::shared_ptr<BranchExpectedParameterDifference>> parameter_difference;
66 std::vector<std::shared_ptr<BranchProcedureStep>> procedure_step;
67 std::vector<std::shared_ptr<BranchProcedureStep>> instinctive_response_procedure;
68 std::vector<std::shared_ptr<BranchInfoGatherMode>> info_gather_mode;
69 std::vector<std::shared_ptr<BranchExpectedMentalBelief>> mental_belief;
70 std::vector<std::shared_ptr<BranchScannedParameter>> scanned_parameter;
72 template<class Archive>
73 void serialize(Archive & ar, const unsigned int version) {
74// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
76 ar & goal;
77 ar & strategy;
78 ar & subgoal;
79 ar & diagnosis;
81 ar & action_pack;
82 ar & action;
83 ar & alarm_state;
84 ar & component_state;
86 ar & parameter_trend;
87 ar & parameter_value;
89 ar & procedure_step;
92 ar & mental_belief;
94 }
95 private:
97};
98
99
100BOOST_CLASS_EXPORT_KEY(BranchUnit)
std::vector< std::shared_ptr< BranchSubGoal > > subgoal
Definition: BranchUnit.h:55
void copyBranchUnit(BranchUnit &)
Definition: BranchUnit.cpp:158
std::vector< std::shared_ptr< BranchExpectedParameterTrend > > parameter_trend
Definition: BranchUnit.h:63
std::vector< std::shared_ptr< BranchInfoGatherMode > > info_gather_mode
Definition: BranchUnit.h:68
std::vector< std::shared_ptr< BranchProcedureStep > > instinctive_response_procedure
Definition: BranchUnit.h:67
std::vector< std::shared_ptr< BranchGoal > > goal
Definition: BranchUnit.h:53
void clearBranchUnitAllPointers()
Definition: BranchUnit.cpp:128
std::vector< std::shared_ptr< BranchActionPack > > action_pack
Definition: BranchUnit.h:58
virtual ~BranchUnit()
Definition: BranchUnit.cpp:20
void calculateNumberOfCombination()
Definition: BranchUnit.cpp:23
std::vector< std::shared_ptr< BranchExpectedSupportSystemState > > support_system_state
Definition: BranchUnit.h:62
std::vector< std::shared_ptr< BranchExpectedParameterDifference > > parameter_difference
Definition: BranchUnit.h:65
std::vector< std::shared_ptr< BranchDiagnosis > > diagnosis
Definition: BranchUnit.h:56
int getNumberOfItemInBranchUnit()
Definition: BranchUnit.cpp:251
std::vector< std::shared_ptr< BranchExpectedMentalBelief > > mental_belief
Definition: BranchUnit.h:69
std::vector< std::shared_ptr< BranchExpectedParameterValue > > parameter_value
Definition: BranchUnit.h:64
int getNumberOfCombination()
Definition: BranchUnit.cpp:102
std::vector< std::shared_ptr< BranchScannedParameter > > scanned_parameter
Definition: BranchUnit.h:70
void clearBranchUnit()
Definition: BranchUnit.cpp:108
void serialize(Archive &ar, const unsigned int version)
Definition: BranchUnit.h:73
int number_of_combination
Definition: BranchUnit.h:96
std::vector< std::shared_ptr< BranchExpectedComponentState > > component_state
Definition: BranchUnit.h:61
std::vector< std::shared_ptr< BranchStrategy > > strategy
Definition: BranchUnit.h:54
void saveBranchUnitToFile(std::ofstream &)
Definition: BranchUnit.cpp:261
friend class boost::serialization::access
Definition: BranchUnit.h:71
std::vector< std::shared_ptr< BranchProcedureStep > > procedure_step
Definition: BranchUnit.h:66
int getTotalPiecesOfInfo()
Definition: BranchUnit.cpp:149
std::vector< std::shared_ptr< BranchExpectedAlarmState > > alarm_state
Definition: BranchUnit.h:60
std::vector< std::shared_ptr< BranchAction > > action
Definition: BranchUnit.h:59
std::vector< std::shared_ptr< BranchActionObjective > > action_objective
Definition: BranchUnit.h:57
void retrieveBranchUnitFromFile(std::ifstream &)
Definition: BranchUnit.cpp:301