Building Medical Digital Twins with Pulse: Open Source Simulation Tools for Developers and Researchers
×
PBEngine.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 CDM_BIND_DECL(LogMessagesData)
6 CDM_BIND_DECL(ActionListData)
7 CDM_BIND_DECL(ActionMapData)
8 CDM_BIND_DECL(ConditionListData)
9 CDM_BIND_DECL(DataRequestedListData)
10 CDM_BIND_DECL(DataRequestListData)
11 CDM_BIND_DECL2(DataRequest)
12 CDM_BIND_DECL2(DataRequested)
13 CDM_BIND_DECL2(DataRequestManager)
14 CDM_BIND_DECL2(DecimalFormat)
15 CDM_BIND_DECL2(EngineInitialization)
16 CDM_BIND_DECL2(EngineInitializationStatus)
17 CDM_BIND_DECL2(DynamicStabilization)
18 CDM_BIND_DECL2(DynamicStabilizationEngineConvergence)
19 CDM_BIND_DECL2(TimedStabilization)
20 CDM_BIND_DECL2(PatientConfiguration)
21 class LogMessages;
22 class SEAction;
23 class SEActionManager;
24 class SEConditionManager;
25 class SESubstanceManager;
29 
30 class CDM_DECL PBEngine
31 {
32 public:
33 
34  static void Load(const CDM_BIND::LogMessagesData& src, LogMessages& dst);
35  static CDM_BIND::LogMessagesData* Unload(const LogMessages& src);
36  static void Serialize(const CDM_BIND::LogMessagesData& src, LogMessages& dst);
37  static void Serialize(const LogMessages& src, CDM_BIND::LogMessagesData& dst);
38  static bool SerializeToString(const LogMessages& src, std::string& output, eSerializationFormat m, Logger* logger);
39  static bool SerializeFromString(const std::string& src, LogMessages& dst, eSerializationFormat m, Logger* logger);
40 
41  static void Load(const CDM_BIND::PatientConfigurationData& src, SEPatientConfiguration& dst, const SESubstanceManager& subMgr);
42  static CDM_BIND::PatientConfigurationData* Unload(const SEPatientConfiguration& src);
43  static void Serialize(const CDM_BIND::PatientConfigurationData& src, SEPatientConfiguration& dst, const SESubstanceManager& subMgr);
44  static void Serialize(const SEPatientConfiguration& src, CDM_BIND::PatientConfigurationData& dst);
45  static bool SerializeToString(const SEPatientConfiguration& src, std::string& output, eSerializationFormat m);
46  static bool SerializeToFile(const SEPatientConfiguration& src, const std::string& filename);
47  static bool SerializeFromString(const std::string& src, SEPatientConfiguration& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
48  static bool SerializeFromFile(const std::string& filename, SEPatientConfiguration& dst, const SESubstanceManager& subMgr);
49 
50  static void Load(const CDM_BIND::ConditionListData& src, SEConditionManager& dst, const SESubstanceManager& subMgr);
51  static CDM_BIND::ConditionListData* Unload(const SEConditionManager& src);
52  static void Serialize(const CDM_BIND::ConditionListData& src, SEConditionManager& dst, const SESubstanceManager& subMgr);
53  static void Serialize(const SEConditionManager& src, CDM_BIND::ConditionListData& dst);
54 
55  static bool SerializeToString(const SEConditionManager& src, std::string& output, eSerializationFormat m);
56  static bool SerializeToFile(const SEConditionManager& src, const std::string& filename);
57  static bool SerializeFromString(const std::string& src, SEConditionManager& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
58  static bool SerializeFromFile(const std::string& filename, SEConditionManager& dst, const SESubstanceManager& subMgr);
59 
60  static void Load(const CDM_BIND::ActionListData& src, SEActionManager& dst);
61  static CDM_BIND::ActionListData* Unload(const SEActionManager& src);
62  static void Serialize(const CDM_BIND::ActionListData& src, SEActionManager& dst);
63  static void Serialize(const SEActionManager& src, CDM_BIND::ActionListData& dst);
64  static void Serialize(const SEEquipmentActionCollection& src, CDM_BIND::ActionListData& dst);
65  static void Serialize(const SEEnvironmentActionCollection& src, CDM_BIND::ActionListData& dst);
66  static void Serialize(const SEPatientActionCollection& src, CDM_BIND::ActionListData& dst);
67 
68  static void Load(const CDM_BIND::ActionListData& src, std::vector<SEAction*>& dst, const SESubstanceManager& subMgr);
69  static void Serialize(const CDM_BIND::ActionListData& src, std::vector<SEAction*>& dst, const SESubstanceManager& subMgr);
70  static bool SerializeFromString(const std::string& src, std::vector<SEAction*>& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
71 
72  static void Load(const CDM_BIND::ActionMapData& src, std::map<int, std::vector<const SEAction*>>& dst, const SESubstanceManager& subMgr);
73  static void Serialize(const CDM_BIND::ActionMapData& src, std::map<int, std::vector<const SEAction*>>& dst, const SESubstanceManager& subMgr);
74  static bool SerializeFromString(const std::string& src, std::map<int,std::vector<const SEAction*>>& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
75 
76  static bool SerializeToString(const SEActionManager& src, std::string& output, eSerializationFormat m);
77  static bool SerializeToFile(const SEActionManager& src, const std::string& filename);
78  static bool SerializeFromString(const std::string& src, SEActionManager& dst, eSerializationFormat m);
79  static bool SerializeFromFile(const std::string& filename, SEActionManager& dst);
80 
81  static void Load(const CDM_BIND::DataRequestData& src, SEDataRequest& dst);
82  static CDM_BIND::DataRequestData* Unload(const SEDataRequest& src);
83  static void Serialize(const CDM_BIND::DataRequestData& src, SEDataRequest& dst);
84  static void Serialize(const SEDataRequest& src, CDM_BIND::DataRequestData& dst);
85  static void Copy(const SEDataRequest& src, SEDataRequest& dst);
86 
87  static void Load(const CDM_BIND::DataRequestListData& src, std::vector<SEDataRequest*>& dst);
88  static void Serialize(const std::vector<SEDataRequest*>& src, CDM_BIND::DataRequestListData& dst);
89  static bool Serialize(const CDM_BIND::DataRequestListData& src, std::vector<SEDataRequest*>& dst);
90  static bool SerializeToString(const std::vector<SEDataRequest*>& src, std::string& output, eSerializationFormat m);
91  static bool SerializeToFile(const std::vector<SEDataRequest*>& src, const std::string& filename);
92  static bool SerializeFromString(const std::string& src, std::vector<SEDataRequest*>& dst, eSerializationFormat m);
93  static bool SerializeFromFile(const std::string& filename, std::vector<SEDataRequest*>& dst);
94 
95  CDM_BIND::DataRequestedData* Unload(const SEDataRequested& src);
96  static void Serialize(const SEDataRequested& src, CDM_BIND::DataRequestedData& dst);
97  static bool SerializeToString(const SEDataRequested& src, std::string& dst, eSerializationFormat m);
98  static void Serialize(const std::vector<SEDataRequested*>& src, CDM_BIND::DataRequestedListData& dst);
99  static bool SerializeToString(const std::vector<SEDataRequested*>& src, std::string& dst, eSerializationFormat m);
100 
101  static void Load(const CDM_BIND::DataRequestManagerData& src, SEDataRequestManager& dst);
102  static CDM_BIND::DataRequestManagerData* Unload(const SEDataRequestManager& src);
103  static void Serialize(const CDM_BIND::DataRequestManagerData& src, SEDataRequestManager& dst);
104  static void Serialize(const SEDataRequestManager& src, CDM_BIND::DataRequestManagerData& dst);
105  static void Copy(const SEDataRequestManager& src, SEDataRequestManager& dst);
106 
107  static bool SerializeToString(const SEDataRequestManager& src, std::string& output, eSerializationFormat m);
108  static bool SerializeToFile(const SEDataRequestManager& src, const std::string& filename);
109  static bool SerializeFromString(const std::string& src, SEDataRequestManager& dst, eSerializationFormat m);
110  static bool SerializeFromFile(const std::string& filename, SEDataRequestManager& dst);
111 
112  static void Load(const CDM_BIND::DecimalFormatData& src, SEDecimalFormat& dst);
113  static CDM_BIND::DecimalFormatData* Unload(const SEDecimalFormat& src);
114  static void Serialize(const CDM_BIND::DecimalFormatData& src, SEDecimalFormat& dst);
115  static void Serialize(const SEDecimalFormat& src, CDM_BIND::DecimalFormatData& dst);
116 
117  static void Load(const CDM_BIND::EngineInitializationData& src, SEEngineInitialization& dst, const SESubstanceManager& subMgr);
118  static CDM_BIND::EngineInitializationData* Unload(const SEEngineInitialization& src);
119  static void Serialize(const CDM_BIND::EngineInitializationData& src, SEEngineInitialization& dst, const SESubstanceManager& subMgr);
120  static void Serialize(const SEEngineInitialization& src, CDM_BIND::EngineInitializationData& dst);
121  static bool SerializeToString(const SEEngineInitialization& src, std::string& output, eSerializationFormat m);
122  static bool SerializeToString(const std::vector<SEEngineInitialization*>& src, std::string& output, eSerializationFormat m);
123  static bool SerializeFromString(const std::string& src, SEEngineInitialization& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
124  static bool SerializeFromString(const std::string& src, std::vector<SEEngineInitialization*>& dst, eSerializationFormat m, const SESubstanceManager& subMgr);
125  static void Copy(const SEEngineInitialization& src, SEEngineInitialization& dst, const SESubstanceManager& subMgr);
126 
127  static void Load(const CDM_BIND::EngineInitializationStatusData& src, SEEngineInitializationStatus& dst);
128  static CDM_BIND::EngineInitializationStatusData* Unload(const SEEngineInitializationStatus& src);
129  static void Serialize(const CDM_BIND::EngineInitializationStatusData& src, SEEngineInitializationStatus& dst);
130  static void Serialize(const SEEngineInitializationStatus& src, CDM_BIND::EngineInitializationStatusData& dst);
131  static bool SerializeToString(const SEEngineInitializationStatus& src, std::string& output, eSerializationFormat m, Logger* logger);
132  static bool SerializeToString(const std::vector<SEEngineInitializationStatus*>& src, std::string& output, eSerializationFormat m, Logger* logger);
133  static bool SerializeFromString(const std::string& src, SEEngineInitializationStatus& dst, eSerializationFormat m, Logger* logger);
134  static bool SerializeFromString(const std::string& src, std::vector<SEEngineInitializationStatus*>& dst, eSerializationFormat m, Logger* logger);
135  static void Copy(const SEEngineInitializationStatus& src, SEEngineInitializationStatus& dst);
136 
137  static void Load(const CDM_BIND::DynamicStabilizationData& src, SEDynamicStabilization& dst);
138  static CDM_BIND::DynamicStabilizationData* Unload(const SEDynamicStabilization& src);
139  static void Serialize(const CDM_BIND::DynamicStabilizationData& src, SEDynamicStabilization& dst);
140  static void Serialize(const SEDynamicStabilization& src, CDM_BIND::DynamicStabilizationData& dst);
141 
142  static bool SerializeToString(const SEDynamicStabilization& src, std::string& output, eSerializationFormat m);
143  static bool SerializeToFile(const SEDynamicStabilization& src, const std::string& filename);
144  static bool SerializeFromString(const std::string& src, SEDynamicStabilization& dst, eSerializationFormat m);
145  static bool SerializeFromFile(const std::string& filename, SEDynamicStabilization& dst);
146 
147  static void Load(const CDM_BIND::DynamicStabilizationEngineConvergenceData& src, SEDynamicStabilizationEngineConvergence& dst);
148  static CDM_BIND::DynamicStabilizationEngineConvergenceData* Unload(const SEDynamicStabilizationEngineConvergence& src);
149  static void Serialize(const CDM_BIND::DynamicStabilizationEngineConvergenceData& src, SEDynamicStabilizationEngineConvergence& dst);
150  static void Serialize(const SEDynamicStabilizationEngineConvergence& src, CDM_BIND::DynamicStabilizationEngineConvergenceData& dst);
151 
152  static void Load(const CDM_BIND::TimedStabilizationData& src, SETimedStabilization& dst);
153  static CDM_BIND::TimedStabilizationData* Unload(const SETimedStabilization& src);
154  static void Serialize(const CDM_BIND::TimedStabilizationData& src, SETimedStabilization& dst);
155  static void Serialize(const SETimedStabilization& src, CDM_BIND::TimedStabilizationData& dst);
156 
157  static bool SerializeToString(const SETimedStabilization& src, std::string& output, eSerializationFormat m);
158  static bool SerializeToFile(const SETimedStabilization& src, const std::string& filename);
159  static bool SerializeFromString(const std::string& src, SETimedStabilization& dst, eSerializationFormat m);
160  static bool SerializeFromFile(const std::string& filename, SETimedStabilization& dst);
161 };
Definition: Logger.h:136
Definition: Logger.h:71
Definition: PBEngine.h:31
Definition: SEAction.h:14
Definition: SEActionManager.h:12
Definition: SEConditionManager.h:26
Definition: SEDataRequest.h:18
Definition: SEDataRequestManager.h:10
Definition: SEDataRequested.h:11
Definition: SEDecimalFormat.h:10
Definition: SEDynamicStabilizationEngineConvergence.h:10
Definition: SEDynamicStabilization.h:9
Definition: SEEngineInitialization.h:9
Definition: SEEngineInitialization.h:70
Definition: SEEnvironmentActionCollection.h:13
Definition: SEEquipmentActionCollection.h:47
Definition: SEPatientActionCollection.h:50
Definition: SEPatientConfiguration.h:11
Definition: SESubstanceManager.h:9
Definition: SETimedStabilization.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.