diff --git a/syringe.cpp b/syringe.cpp index d3e641defb08c7e48cc7d470726c1b5cdf1bac14..bb0f0ca9649d78e22996d69e730adfeb59ff2352 100644 --- a/syringe.cpp +++ b/syringe.cpp @@ -7,44 +7,49 @@ Syringe :: Syringe() { //First Syringe - set_ref("300912"); - set_brand("BD"); - set_total_volume_mL(10); - set_internal_diameter_mm(14.5); - + set_syringe("BD_10mL", "300912","BD", 10, 14.5); + set_syringe("Terumo_5mL", "0197","Terumo", 5, 10); } -Syringe :: Syringe(string ref, string brand, float total_volume_mL, float internal_diameter_mm) +Syringe :: Syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm) { - set_ref(ref); - set_brand(brand); - set_total_volume_mL(total_volume_mL); - set_internal_diameter_mm(internal_diameter_mm); + set_ref(name, ref); + set_brand(name, brand); + set_total_volume_mL(name, total_volume_mL); + set_internal_diameter_mm(name, internal_diameter_mm); } - //SET METHODS -void Syringe :: set_ref(string ref) +void Syringe :: set_syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm) +{ + SyringeJSON["name"] = name; + set_ref(name, ref); + set_brand(name, brand); + set_total_volume_mL(name, total_volume_mL); + set_internal_diameter_mm(name, internal_diameter_mm); +} + +void Syringe :: set_ref(String name, string ref) { - SyringeJSON["ref"] = ref; + SyringeJSON[name]["ref"] = ref; } -void Syringe :: set_brand(string brand) +void Syringe :: set_brand(String name, string brand) { - SyringeJSON["brand"] = brand; + SyringeJSON[name]["brand"] = brand; } -void Syringe :: set_total_volume_mL(float total_volume_mL) +void Syringe :: set_total_volume_mL(String name, float total_volume_mL) { - SyringeJSON["total_volume_mL"] = total_volume_mL; + SyringeJSON[name]["total_volume_mL"] = total_volume_mL; } -void Syringe :: set_internal_diameter_mm(float internal_diameter_mm) +void Syringe :: set_internal_diameter_mm(String name, float internal_diameter_mm) { - SyringeJSON["internal_diameter_mm"] = internal_diameter_mm; + SyringeJSON[name]["internal_diameter_mm"] = internal_diameter_mm; } @@ -52,24 +57,24 @@ void Syringe :: set_internal_diameter_mm(float internal_diameter_mm) //GET METHODS -string Syringe :: get_ref() +string Syringe :: get_ref(String name) { - return SyringeJSON["ref"].as<string>(); + return SyringeJSON[name]["ref"].as<string>(); } -string Syringe :: get_brand( ) +string Syringe :: get_brand(String name) { - return SyringeJSON["brand"].as<string>(); + return SyringeJSON[name]["brand"].as<string>(); } -float Syringe :: get_total_volume_mL() +float Syringe :: get_total_volume_mL(String name) { - return SyringeJSON["total_volume_mL"].as<float>(); + return SyringeJSON[name]["total_volume_mL"].as<float>(); } -float Syringe :: get_internal_diameter_mm() +float Syringe :: get_internal_diameter_mm(String name) { - return SyringeJSON["internal_diameter_mm"].as<float>(); + return SyringeJSON[name]["internal_diameter_mm"].as<float>(); } diff --git a/syringe.h b/syringe.h index b7d8f5d514832c7050b8fe4327285548c3977286..7ff5edbba311b380f0bfba77d4cba62f97ca3eba 100644 --- a/syringe.h +++ b/syringe.h @@ -15,6 +15,7 @@ class Syringe { private : + string _name; //Would be used as the key string _ref; string brand; float _total_volume_mL; @@ -26,20 +27,21 @@ class Syringe //CONSTRUCTORS Syringe(); //There is no arguments because we add the generic syringe to use - Syringe(string ref, string brand, float total_volume_mL, float internal_diameter_mm); //There are arguments because we need to know what values to add in the Json document (no default syringe) + Syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm); //There are arguments because we need to know what values to add in the Json document (no default syringe) //SET METHODS - void set_ref(string ref); - void set_brand(string brand); - void set_total_volume_mL(float total_volume_mL); - void set_internal_diameter_mm(float internal_diameter_mm); + void set_syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm); + void set_ref(String name, string ref); + void set_brand(String name, string brand); + void set_total_volume_mL(String name, float total_volume_mL); + void set_internal_diameter_mm(String name, float internal_diameter_mm); //GET METHODS - string get_ref(); - string get_brand(); - float get_total_volume_mL(); - float get_internal_diameter_mm(); + string get_ref(String name); + string get_brand(String name); + float get_total_volume_mL(String name); + float get_internal_diameter_mm(String name); //JSON DOCUMENT StaticJsonDocument<200> SyringeJSON; //200 = RAM allocated to this document diff --git a/syringefilled.cpp b/syringefilled.cpp index 39ef443a75ff4533a9407b4aae5140822cb028d9..7e1a49563a2c6cd569f496438eba50063d4d1b7a 100644 --- a/syringefilled.cpp +++ b/syringefilled.cpp @@ -326,6 +326,6 @@ void SyringeFilled :: read_Json (Stream& input_stream) //file_name sera le nom d InterruptLock lock; //useful thanks to its constructor (so a is not visible in the code) deserializeJson(SyringeFilledJSON, input_stream); - } +