← Documentation
ADS-IDAC Engine 5.0.0
CommunicationPlace.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <typeinfo>
5// CommunicationPlace.h: interface for the CommunicationPlace class.
6//
8
9#include <vector>
10#include <memory>
11#include <fstream>
12#include <boost/serialization/export.hpp>
13
14#include "../Branch/BranchGoal.h"
15#include "../Branch/BranchStrategy.h"
16#include "../Branch/BranchSubGoal.h"
17#include "../Branch/BranchDiagnosis.h"
18#include "../Branch/BranchActionObjective.h"
19#include "../Branch/BranchActionPack.h"
20#include "../Branch/BranchAction.h"
21#include "../Branch/BranchExpectedAlarmState.h"
22#include "../Branch/BranchExpectedComponentState.h"
23#include "../Branch/BranchExpectedParameterTrend.h"
24#include "../Branch/BranchExpectedParameterValue.h"
25#include "../Branch/BranchProcedureStep.h"
26#include "../Branch/BranchSystemAction.h"
27#include "../Branch/BranchSystemAlarmState.h"
28#include "../Branch/BranchUnit.h"
29#include "../Branch/BranchSupportSystemAction.h"
30#include <boost/archive/text_oarchive.hpp>
31#include <boost/archive/text_iarchive.hpp>
32#include <boost/serialization/vector.hpp>
33#include <boost/serialization/unique_ptr.hpp>
34#include <boost/serialization/shared_ptr.hpp>
35#include <boost/serialization/access.hpp>
36
37
38
40 public:
42 virtual ~CommunicationPlace();
43 void clearCommunicationPlaceAll();//remove both pointers and pointed objects
49 void saveInfoToFileAsBranchForADSV1(std::ostream &);
51 void saveCommunicationPlaceToFile(std::ofstream &);
52 void retrieveCommunicationPlaceFromFile(std::ifstream &);
53 std::vector<std::shared_ptr<BranchSystemAction>> HW_reliability;
54 std::vector<std::shared_ptr<BranchSupportSystemAction>> SS_reliability;
55 std::vector<std::shared_ptr<BranchSystemAlarmState>> new_alarm;
57 template<class Archive>
58 void serialize(Archive & ar, const unsigned int version) {
59// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
60 // Serialize base class members
61 ar & boost::serialization::base_object<BranchUnit>(*this);
62 ar & HW_reliability;
63 ar & SS_reliability;
64 ar & new_alarm;
65 }
66};
67
68
69BOOST_CLASS_EXPORT_KEY(CommunicationPlace)
void serialize(Archive &ar, const unsigned int version)
void clearCommunicationPlaceAllPointers()
std::vector< std::shared_ptr< BranchSystemAction > > HW_reliability
void clearCommunicationPlaceForRestart()
std::vector< std::shared_ptr< BranchSystemAlarmState > > new_alarm
void retrieveCommunicationPlaceFromFile(std::ifstream &)
std::vector< std::shared_ptr< BranchSupportSystemAction > > SS_reliability
friend class boost::serialization::access
void saveInfoToFileAsBranchForADSV1(std::ostream &)
void copyCommunicationPlace(CommunicationPlace &)
void saveCommunicationPlaceToFile(std::ofstream &)