PBPhysiology.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5PULSE_BIND_DECL(BloodChemistry)
6PULSE_BIND_DECL(Cardiovascular)
7PULSE_BIND_DECL(Drug)
8PULSE_BIND_DECL(Endocrine)
9PULSE_BIND_DECL(Energy)
10PULSE_BIND_DECL(Gastrointestinal)
11PULSE_BIND_DECL(Hepatic)
12PULSE_BIND_DECL(Nervous)
13PULSE_BIND_DECL(Renal)
14PULSE_BIND_DECL(Respiratory)
15PULSE_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
28namespace 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.