PBPhysiology.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5 // Forward Declaire SE and Protobuf Physiology Types
6CDM_BIND_DECL2(BloodChemistrySystem)
7CDM_BIND_DECL2(CardiovascularSystem)
8CDM_BIND_DECL2(EndocrineSystem)
9CDM_BIND_DECL2(DrugSystem)
10CDM_BIND_DECL2(EnergySystem)
11CDM_BIND_DECL2(GastrointestinalSystem)
12CDM_BIND_DECL2(HepaticSystem)
13CDM_BIND_DECL2(NervousSystem)
14CDM_BIND_DECL2(PupillaryResponse)
15CDM_BIND_DECL2(RenalSystem)
16CDM_BIND_DECL2(RespiratoryMechanics)
17CDM_BIND_DECL2(RespiratorySystem)
18CDM_BIND_DECL2(TissueSystem)
19
20
21class CDM_DECL PBPhysiology
22{
23public:
24
25 // Blood Chemistry
26 static void Load(const CDM_BIND::BloodChemistrySystemData& src, SEBloodChemistrySystem& dst);
27 static CDM_BIND::BloodChemistrySystemData* Unload(const SEBloodChemistrySystem& src);
28 static void Serialize(const CDM_BIND::BloodChemistrySystemData& src, SEBloodChemistrySystem& dst);
29 static void Serialize(const SEBloodChemistrySystem& src, CDM_BIND::BloodChemistrySystemData& dst);
30
31 // Cardiovascular
32 static void Load(const CDM_BIND::CardiovascularSystemData& src, SECardiovascularSystem& dst);
33 static CDM_BIND::CardiovascularSystemData* Unload(const SECardiovascularSystem& src);
34 static void Serialize(const CDM_BIND::CardiovascularSystemData& src, SECardiovascularSystem& dst);
35 static void Serialize(const SECardiovascularSystem& src, CDM_BIND::CardiovascularSystemData& dst);
36
37 // Drug
38 static void Load(const CDM_BIND::DrugSystemData& src, SEDrugSystem& dst);
39 static CDM_BIND::DrugSystemData* Unload(const SEDrugSystem& src);
40 static void Serialize(const CDM_BIND::DrugSystemData& src, SEDrugSystem& dst);
41 static void Serialize(const SEDrugSystem& src, CDM_BIND::DrugSystemData& dst);
42
43 // Endocrine
44 static void Load(const CDM_BIND::EndocrineSystemData& src, SEEndocrineSystem& dst);
45 static CDM_BIND::EndocrineSystemData* Unload(const SEEndocrineSystem& src);
46 static void Serialize(const CDM_BIND::EndocrineSystemData& src, SEEndocrineSystem& dst);
47 static void Serialize(const SEEndocrineSystem& src, CDM_BIND::EndocrineSystemData& dst);
48
49 // Energy
50 static void Load(const CDM_BIND::EnergySystemData& src, SEEnergySystem& dst);
51 static CDM_BIND::EnergySystemData* Unload(const SEEnergySystem& src);
52 static void Serialize(const CDM_BIND::EnergySystemData& src, SEEnergySystem& dst);
53 static void Serialize(const SEEnergySystem& src, CDM_BIND::EnergySystemData& dst);
54
55 // Gastrointestinal
56 static void Load(const CDM_BIND::GastrointestinalSystemData& src, SEGastrointestinalSystem& dst);
57 static CDM_BIND::GastrointestinalSystemData* Unload(const SEGastrointestinalSystem& src);
58 static void Serialize(const CDM_BIND::GastrointestinalSystemData& src, SEGastrointestinalSystem& dst);
59 static void Serialize(const SEGastrointestinalSystem& src, CDM_BIND::GastrointestinalSystemData& dst);
60
61 // Hepatic
62 static void Load(const CDM_BIND::HepaticSystemData& src, SEHepaticSystem& dst);
63 static CDM_BIND::HepaticSystemData* Unload(const SEHepaticSystem& src);
64 static void Serialize(const CDM_BIND::HepaticSystemData& src, SEHepaticSystem& dst);
65 static void Serialize(const SEHepaticSystem& src, CDM_BIND::HepaticSystemData& dst);
66
68 static void Load(const CDM_BIND::NervousSystemData& src, SENervousSystem& dst);
69 static CDM_BIND::NervousSystemData* Unload(const SENervousSystem& src);
70 static void Serialize(const CDM_BIND::NervousSystemData& src, SENervousSystem& dst);
71 static void Serialize(const SENervousSystem& src, CDM_BIND::NervousSystemData& dst);
72
73 // Pupillary Response
74 static void Load(const CDM_BIND::PupillaryResponseData& src, SEPupillaryResponse& dst);
75 static CDM_BIND::PupillaryResponseData* Unload(const SEPupillaryResponse& src);
76 static void Serialize(const CDM_BIND::PupillaryResponseData& src, SEPupillaryResponse& dst);
77 static void Serialize(const SEPupillaryResponse& src, CDM_BIND::PupillaryResponseData& dst);
78
79 // Renal
80 static void Load(const CDM_BIND::RenalSystemData& src, SERenalSystem& dst);
81 static CDM_BIND::RenalSystemData* Unload(const SERenalSystem& src);
82 static void Serialize(const CDM_BIND::RenalSystemData& src, SERenalSystem& dst);
83 static void Serialize(const SERenalSystem& src, CDM_BIND::RenalSystemData& dst);
84
85 // Respiratory
86 static void Load(const CDM_BIND::RespiratoryMechanicsData& src, SERespiratoryMechanics& dst);
87 static CDM_BIND::RespiratoryMechanicsData* Unload(const SERespiratoryMechanics& src);
88 static void Serialize(const CDM_BIND::RespiratoryMechanicsData& src, SERespiratoryMechanics& dst);
89 static void Serialize(const SERespiratoryMechanics& src, CDM_BIND::RespiratoryMechanicsData& dst);
90 static bool SerializeToString(const SERespiratoryMechanics& src, std::string& output, eSerializationFormat m);
91 static bool SerializeToFile(const SERespiratoryMechanics& src, const std::string& filename);
92 static bool SerializeFromString(const std::string& src, SERespiratoryMechanics& dst, eSerializationFormat m);
93 static bool SerializeFromFile(const std::string& filename, SERespiratoryMechanics& dst);
94
95
96 static void Load(const CDM_BIND::RespiratorySystemData& src, SERespiratorySystem& dst);
97 static CDM_BIND::RespiratorySystemData* Unload(const SERespiratorySystem& src);
98 static void Serialize(const CDM_BIND::RespiratorySystemData& src, SERespiratorySystem& dst);
99 static void Serialize(const SERespiratorySystem& src, CDM_BIND::RespiratorySystemData& dst);
100
101 // Tissue
102 static void Load(const CDM_BIND::TissueSystemData& src, SETissueSystem& dst);
103 static CDM_BIND::TissueSystemData* Unload(const SETissueSystem& src);
104 static void Serialize(const CDM_BIND::TissueSystemData& src, SETissueSystem& dst);
105 static void Serialize(const SETissueSystem& src, CDM_BIND::TissueSystemData& dst);
106
107};
Definition: PBPhysiology.h:22
Definition: SEBloodChemistrySystem.h:10
Definition: SECardiovascularSystem.h:24
Definition: SEDrugSystem.h:9
Definition: SEEndocrineSystem.h:8
Definition: SEEnergySystem.h:8
Definition: SEGastrointestinalSystem.h:9
Definition: SEHepaticSystem.h:8
Definition: SENervousSystem.h:9
Definition: SEPupillaryResponse.h:8
Definition: SERenalSystem.h:8
Definition: SERespiratoryMechanics.h:8
Definition: SERespiratorySystem.h:9
Definition: SETissueSystem.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.