PBPhysiology.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 PULSE_BIND_DECL(BloodChemistry)
6 PULSE_BIND_DECL(Cardiovascular)
7 PULSE_BIND_DECL(Drug)
8 PULSE_BIND_DECL(Endocrine)
9 PULSE_BIND_DECL(Energy)
10 PULSE_BIND_DECL(Gastrointestinal)
11 PULSE_BIND_DECL(Hepatic)
12 PULSE_BIND_DECL(Nervous)
13 PULSE_BIND_DECL(Renal)
14 PULSE_BIND_DECL(Respiratory)
15 PULSE_BIND_DECL(Tissue)
16 #include "engine/common/system/physiology/BloodChemistryModel.h"
17 #include "engine/common/system/physiology/CardiovascularModel.h"
18 #include "engine/common/system/physiology/DrugModel.h"
19 #include "engine/common/system/physiology/EndocrineModel.h"
20 #include "engine/common/system/physiology/EnergyModel.h"
21 #include "engine/common/system/physiology/GastrointestinalModel.h"
22 #include "engine/common/system/physiology/HepaticModel.h"
23 #include "engine/common/system/physiology/NervousModel.h"
24 #include "engine/common/system/physiology/RenalModel.h"
25 #include "engine/common/system/physiology/RespiratoryModel.h"
26 #include "engine/common/system/physiology/TissueModel.h"
27 
28 namespace pulse
29 {
30  class PULSE_DECL PBPhysiology
31  {
32  public:
33 
34  static void Load(const PULSE_BIND::BloodChemistryData& src, BloodChemistryModel& dst);
35  static PULSE_BIND::BloodChemistryData* Unload(const BloodChemistryModel& src);
36  static void Serialize(const PULSE_BIND::BloodChemistryData& src, BloodChemistryModel& dst);
37  static void Serialize(const BloodChemistryModel& src, PULSE_BIND::BloodChemistryData& dst);
38 
39  static void Load(const PULSE_BIND::CardiovascularData& src, CardiovascularModel& dst);
40  static PULSE_BIND::CardiovascularData* Unload(const CardiovascularModel& src);
41  static void Serialize(const PULSE_BIND::CardiovascularData& src, CardiovascularModel& dst);
42  static void Serialize(const CardiovascularModel& src, PULSE_BIND::CardiovascularData& dst);
43 
44  static void Load(const PULSE_BIND::DrugData& src, DrugModel& dst);
45  static PULSE_BIND::DrugData* Unload(const DrugModel& src);
46  static void Serialize(const PULSE_BIND::DrugData& src, DrugModel& dst);
47  static void Serialize(const DrugModel& src, PULSE_BIND::DrugData& dst);
48 
49  static void Load(const PULSE_BIND::EndocrineData& src, EndocrineModel& dst);
50  static PULSE_BIND::EndocrineData* Unload(const EndocrineModel& src);
51  static void Serialize(const PULSE_BIND::EndocrineData& src, EndocrineModel& dst);
52  static void Serialize(const EndocrineModel& src, PULSE_BIND::EndocrineData& dst);
53 
54  static void Load(const PULSE_BIND::EnergyData& src, EnergyModel& dst);
55  static PULSE_BIND::EnergyData* Unload(const EnergyModel& src);
56  static void Serialize(const PULSE_BIND::EnergyData& src, EnergyModel& dst);
57  static void Serialize(const EnergyModel& src, PULSE_BIND::EnergyData& dst);
58 
59  static void Load(const PULSE_BIND::GastrointestinalData& src, GastrointestinalModel& dst);
60  static PULSE_BIND::GastrointestinalData* Unload(const GastrointestinalModel& src);
61  static void Serialize(const PULSE_BIND::GastrointestinalData& src, GastrointestinalModel& dst);
62  static void Serialize(const GastrointestinalModel& src, PULSE_BIND::GastrointestinalData& dst);
63 
64  static void Load(const PULSE_BIND::HepaticData& src, HepaticModel& dst);
65  static PULSE_BIND::HepaticData* Unload(const HepaticModel& src);
66  static void Serialize(const PULSE_BIND::HepaticData& src, HepaticModel& dst);
67  static void Serialize(const HepaticModel& src, PULSE_BIND::HepaticData& dst);
68 
69  static void Load(const PULSE_BIND::NervousData& src, NervousModel& dst);
70  static PULSE_BIND::NervousData* Unload(const NervousModel& src);
71  static void Serialize(const PULSE_BIND::NervousData& src, NervousModel& dst);
72  static void Serialize(const NervousModel& src, PULSE_BIND::NervousData& dst);
73 
74  static void Load(const PULSE_BIND::RenalData& src, RenalModel& dst);
75  static PULSE_BIND::RenalData* Unload(const RenalModel& src);
76  static void Serialize(const PULSE_BIND::RenalData& src, RenalModel& dst);
77  static void Serialize(const RenalModel& src, PULSE_BIND::RenalData& dst);
78 
79  static void Load(const PULSE_BIND::RespiratoryData& src, RespiratoryModel& dst);
80  static PULSE_BIND::RespiratoryData* Unload(const RespiratoryModel& src);
81  static void Serialize(const PULSE_BIND::RespiratoryData& src, RespiratoryModel& dst);
82  static void Serialize(const RespiratoryModel& src, PULSE_BIND::RespiratoryData& dst);
83 
84  static void Load(const PULSE_BIND::TissueData& src, TissueModel& dst);
85  static PULSE_BIND::TissueData* Unload(const TissueModel& src);
86  static void Serialize(const PULSE_BIND::TissueData& src, TissueModel& dst);
87  static void Serialize(const TissueModel& src, PULSE_BIND::TissueData& dst);
88  };
89 }
Definition: PBPhysiology.h:31
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.