SEActionManager.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 
13 #pragma once
14 #include <biogears/cdm/scenario/SEAnesthesiaMachineActionCollection.h>
15 #include <biogears/cdm/scenario/SEEnvironmentActionCollection.h>
16 #include <biogears/cdm/scenario/SEInhalerActionCollection.h>
17 #include <biogears/cdm/scenario/SEPatientActionCollection.h>
18 
19 namespace biogears {
20 class SESubstanceManager;
21 class SEAction;
22 
23 class BIOGEARS_API SEActionManager : public Loggable {
24 public:
26  ~SEActionManager();
27 
28  void Clear();
29 
30  void Unload(std::vector<CDM::ActionData*>& to);
31 
32  bool ProcessAction(const SEAction& action);
33  bool ProcessAction(const CDM::ActionData& in);
34 
35  SEEnvironmentActionCollection& GetEnvironmentActions() { return m_EnvironmentActions; }
36  SEPatientActionCollection& GetPatientActions() { return m_PatientActions; }
37  SEAnesthesiaMachineActionCollection& GetAnesthesiaMachineActions() { return m_AnesthesiaMachineActions; }
38  SEInhalerActionCollection& GetInhalerActions() { return m_InhalerActions; }
39 
40 protected:
46 
47  std::vector<CDM::ActionData*> m_ProcessedActions;
48 
49  std::stringstream m_ss;
50 };
51 }
SEAnesthesiaMachineActionCollection & GetAnesthesiaMachineActions()
Definition: SEActionManager.h:37
SEEnvironmentActionCollection & GetEnvironmentActions()
Definition: SEActionManager.h:35
Definition: SEActionManager.h:23
SEPatientActionCollection m_PatientActions
Definition: SEActionManager.h:43
Definition: SEAction.h:22
SEInhalerActionCollection & GetInhalerActions()
Definition: SEActionManager.h:38
Definition: SEInhalerActionCollection.h:20
Definition: SEEnvironmentActionCollection.h:20
Definition: Logger.h:27
Class corresponding to the ActionData schema type.
Definition: Scenario.hxx:1034
std::vector< CDM::ActionData * > m_ProcessedActions
Definition: SEActionManager.h:47
SESubstanceManager & m_Substances
Definition: SEActionManager.h:41
SEEnvironmentActionCollection m_EnvironmentActions
Definition: SEActionManager.h:42
std::stringstream m_ss
Definition: SEActionManager.h:49
SEAnesthesiaMachineActionCollection m_AnesthesiaMachineActions
Definition: SEActionManager.h:44
SEInhalerActionCollection m_InhalerActions
Definition: SEActionManager.h:45
Definition: SESubstanceManager.h:23
Definition: SEElectricalCircuit.h:18
SEPatientActionCollection & GetPatientActions()
Definition: SEActionManager.h:36
Definition: SEAnesthesiaMachineActionCollection.h:32
Definition: SEPatientActionCollection.h:54