SEInhalerConfiguration.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 #pragma once
13 
14 #include <biogears/cdm/system/equipment/Inhaler/actions/SEInhalerAction.h>
15 #include <biogears/schema/cdm/InhalerActions.hxx>
16 
17 namespace biogears {
18 class SEInhaler;
19 class SESubstanceManager;
20 
21 class BIOGEARS_API SEInhalerConfiguration : public SEInhalerAction {
22 public:
24  virtual ~SEInhalerConfiguration() override;
25 
26  static constexpr const char* TypeTag() { return "SEInhalerConfiguration"; };
27  const char* classname() const override { return TypeTag(); }
28 
29  virtual void Clear() override;
30 
31  virtual bool IsValid() const override;
32 
33  virtual bool Load(const CDM::InhalerConfigurationData& in);
34  virtual CDM::InhalerConfigurationData* Unload() const override;
35 
36 protected:
37  virtual void Unload(CDM::InhalerConfigurationData& data) const;
38 
39 public:
40  bool HasConfiguration() const;
41  SEInhaler& GetConfiguration();
42  const SEInhaler* GetConfiguration() const;
43 
44  virtual const char* GetConfigurationFile_cStr() const;
45  virtual std::string GetConfigurationFile() const;
46  virtual void SetConfigurationFile(const char* fileName);
47  virtual void SetConfigurationFile(const std::string& fileName);
48  virtual bool HasConfigurationFile() const;
49  virtual void InvalidateConfigurationFile();
50 
51  virtual void ToString(std::ostream& str) const override;
52 
53 protected:
55 
56  std::string m_ConfigurationFile;
58 };
59 }
const char * classname() const override
Definition: SEInhalerConfiguration.h:27
std::string m_ConfigurationFile
Definition: SEInhalerConfiguration.h:56
SESubstanceManager & m_Substances
Definition: SEInhalerConfiguration.h:54
Definition: SEInhalerConfiguration.h:21
Definition: SEInhalerAction.h:17
static constexpr const char * TypeTag()
Definition: SEInhalerConfiguration.h:26
SEInhaler * m_Configuration
Definition: SEInhalerConfiguration.h:57
Definition: SEInhaler.h:29
Definition: SESubstanceManager.h:23
Definition: SEElectricalCircuit.h:18
Class corresponding to the InhalerConfigurationData schema type.
Definition: InhalerActions.hxx:753