PBSubstance.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
6 // Forward Declaire SE and Protobuf Substance Types
7 CDM_BIND_DECL2(Substance)
8 CDM_BIND_DECL2(SubstanceAerosolization)
9 CDM_BIND_DECL2(SubstanceClearance)
10 CDM_BIND_DECL2(SubstanceCompound)
11 CDM_BIND_DECL2(SubstanceConcentration)
12 CDM_BIND_DECL2(SubstanceFraction)
13 CDM_BIND_DECL2(SubstancePharmacodynamics)
14 CDM_BIND_DECL2(SubstancePharmacokinetics)
15 CDM_BIND_DECL2(SubstancePhysicochemicals)
16 CDM_BIND_DECL2(SubstanceTissuePharmacokinetics)
17 
18 class CDM_DECL PBSubstance
19 {
20 public:
21 
22  static void Load(const CDM_BIND::SubstanceData& src, SESubstance& dst);
23  static CDM_BIND::SubstanceData* Unload(const SESubstance& src);
24  static void Serialize(const CDM_BIND::SubstanceData& src, SESubstance& dst);
25  static void Serialize(const SESubstance& src, CDM_BIND::SubstanceData& dst);
26 
27  static bool SerializeToString(const SESubstance& src, std::string& output, eSerializationFormat m);
28  static bool SerializeToFile(const SESubstance& src, const std::string& filename);
29  static bool SerializeFromString(const std::string& src, SESubstance& dst, eSerializationFormat m);
30  static bool SerializeFromFile(const std::string& filename, SESubstance& dst);
31 
32  static void Load(const CDM_BIND::SubstanceAerosolizationData& src, SESubstanceAerosolization& dst);
33  static CDM_BIND::SubstanceAerosolizationData* Unload(const SESubstanceAerosolization& src);
34  static void Serialize(const CDM_BIND::SubstanceAerosolizationData& src, SESubstanceAerosolization& dst);
35  static void Serialize(const SESubstanceAerosolization& src, CDM_BIND::SubstanceAerosolizationData& dst);
36 
37  static void Load(const CDM_BIND::SubstanceClearanceData& src, SESubstanceClearance& dst);
38  static CDM_BIND::SubstanceClearanceData* Unload(const SESubstanceClearance& src);
39  static void Serialize(const CDM_BIND::SubstanceClearanceData& src, SESubstanceClearance& dst);
40  static void Serialize(const SESubstanceClearance& src, CDM_BIND::SubstanceClearanceData& dst);
41 
42  static void Load(const CDM_BIND::SubstanceCompoundData& src, SESubstanceCompound& dst, const SESubstanceManager& subMgr);
43  static CDM_BIND::SubstanceCompoundData* Unload(const SESubstanceCompound& src);
44  static void Serialize(const CDM_BIND::SubstanceCompoundData& src, SESubstanceCompound& dst, const SESubstanceManager& subMgr);
45  static void Serialize(const SESubstanceCompound& src, CDM_BIND::SubstanceCompoundData& dst);
46 
47  static bool SerializeToString(const SESubstanceCompound& src, std::string& output, eSerializationFormat m);
48  static bool SerializeToFile(const SESubstanceCompound& src, const std::string& filename);
49  static bool SerializeFromString(const std::string& src, SESubstanceCompound& dst, const SESubstanceManager& subMgr, eSerializationFormat m);
50  static bool SerializeFromFile(const std::string& filename, SESubstanceCompound& dst, const SESubstanceManager& subMgr);
51 
52  static void Load(const CDM_BIND::SubstanceConcentrationData& src, SESubstanceConcentration& dst);
53  static CDM_BIND::SubstanceConcentrationData* Unload(const SESubstanceConcentration& src);
54  static void Serialize(const CDM_BIND::SubstanceConcentrationData& src, SESubstanceConcentration& dst);
55  static void Serialize(const SESubstanceConcentration& src, CDM_BIND::SubstanceConcentrationData& dst);
56 
57  static void Load(const CDM_BIND::SubstanceFractionData& src, SESubstanceFraction& dst);
58  static CDM_BIND::SubstanceFractionData* Unload(const SESubstanceFraction& src);
59  static void Serialize(const CDM_BIND::SubstanceFractionData& src, SESubstanceFraction& dst);
60  static void Serialize(const SESubstanceFraction& src, CDM_BIND::SubstanceFractionData& dst);
61 
62  static void Load(const CDM_BIND::SubstancePharmacodynamicsData& src, SESubstancePharmacodynamics& dst);
63  static CDM_BIND::SubstancePharmacodynamicsData* Unload(const SESubstancePharmacodynamics& src);
64  static void Serialize(const CDM_BIND::SubstancePharmacodynamicsData& src, SESubstancePharmacodynamics& dst);
65  static void Serialize(const SESubstancePharmacodynamics& src, CDM_BIND::SubstancePharmacodynamicsData& dst);
66 
67  static void Load(const CDM_BIND::SubstancePharmacokineticsData& src, SESubstancePharmacokinetics& dst);
68  static CDM_BIND::SubstancePharmacokineticsData* Unload(const SESubstancePharmacokinetics& src);
69  static void Serialize(const CDM_BIND::SubstancePharmacokineticsData& src, SESubstancePharmacokinetics& dst);
70  static void Serialize(const SESubstancePharmacokinetics& src, CDM_BIND::SubstancePharmacokineticsData& dst);
71 
72  static void Load(const CDM_BIND::SubstancePhysicochemicalsData& src, SESubstancePhysicochemicals& dst);
73  static CDM_BIND::SubstancePhysicochemicalsData* Unload(const SESubstancePhysicochemicals& src);
74  static void Serialize(const CDM_BIND::SubstancePhysicochemicalsData& src, SESubstancePhysicochemicals& dst);
75  static void Serialize(const SESubstancePhysicochemicals& src, CDM_BIND::SubstancePhysicochemicalsData& dst);
76 
77  static void Load(const CDM_BIND::SubstanceTissuePharmacokineticsData& src, SESubstanceTissuePharmacokinetics& dst);
78  static CDM_BIND::SubstanceTissuePharmacokineticsData* Unload(const SESubstanceTissuePharmacokinetics& src);
79  static void Serialize(const CDM_BIND::SubstanceTissuePharmacokineticsData& src, SESubstanceTissuePharmacokinetics& dst);
80  static void Serialize(const SESubstanceTissuePharmacokinetics& src, CDM_BIND::SubstanceTissuePharmacokineticsData& dst);
81 };
Definition: PBSubstance.h:19
Definition: SESubstanceAerosolization.h:7
Definition: SESubstanceClearance.h:9
Definition: SESubstanceCompound.h:10
Definition: SESubstanceConcentration.h:11
Definition: SESubstanceFraction.h:10
Definition: SESubstance.h:15
Definition: SESubstanceManager.h:9
Definition: SESubstancePharmacodynamics.h:8
Definition: SESubstancePharmacokinetics.h:9
Definition: SESubstancePhysicochemicals.h:15
Definition: SESubstanceTissuePharmacokinetics.h:7

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.