SEAnesthesiaMachineActionCollection.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SEAction;
22 CDM_BIND_DECL(ActionListData)
23 CDM_BIND_DECL(AnyAnesthesiaMachineActionData)
24 
26 {
27  friend class PBEngine;//friend the serialization class
28  friend class SEActionManager;
29 protected:
31 public:
33 
34  // STATE ACTION
35  bool HasConfiguration() const;
36  SEAnesthesiaMachineConfiguration* GetConfiguration();
37  const SEAnesthesiaMachineConfiguration* GetConfiguration() const;
38  void RemoveConfiguration();
39 
40  // INCIDENT ACTIONS
41 
42  bool HasOxygenTankPressureLoss() const;
43  SEAnesthesiaMachineOxygenTankPressureLoss* GetOxygenTankPressureLoss();
44  const SEAnesthesiaMachineOxygenTankPressureLoss* GetOxygenTankPressureLoss() const;
45  void RemoveOxygenTankPressureLoss();
46 
47  bool HasOxygenWallPortPressureLoss() const;
48  SEAnesthesiaMachineOxygenWallPortPressureLoss* GetOxygenWallPortPressureLoss();
49  const SEAnesthesiaMachineOxygenWallPortPressureLoss* GetOxygenWallPortPressureLoss() const;
50  void RemoveOxygenWallPortPressureLoss();
51 
52  // FAILURE ACTIONS
53 
54  bool HasExpiratoryValveLeak() const;
55  SEAnesthesiaMachineExpiratoryValveLeak* GetExpiratoryValveLeak();
56  const SEAnesthesiaMachineExpiratoryValveLeak* GetExpiratoryValveLeak() const;
57  void RemoveExpiratoryValveLeak();
58 
59  bool HasExpiratoryValveObstruction() const;
60  SEAnesthesiaMachineExpiratoryValveObstruction* GetExpiratoryValveObstruction();
61  const SEAnesthesiaMachineExpiratoryValveObstruction* GetExpiratoryValveObstruction() const;
62  void RemoveExpiratoryValveObstruction();
63 
64  bool HasInspiratoryValveLeak() const;
65  SEAnesthesiaMachineInspiratoryValveLeak* GetInspiratoryValveLeak();
66  const SEAnesthesiaMachineInspiratoryValveLeak* GetInspiratoryValveLeak() const;
67  void RemoveInspiratoryValveLeak();
68 
69  bool HasInspiratoryValveObstruction() const;
70  SEAnesthesiaMachineInspiratoryValveObstruction* GetInspiratoryValveObstruction();
71  const SEAnesthesiaMachineInspiratoryValveObstruction* GetInspiratoryValveObstruction() const;
72  void RemoveInspiratoryValveObstruction();
73 
74  bool HasMaskLeak() const;
75  SEAnesthesiaMachineMaskLeak* GetMaskLeak();
76  const SEAnesthesiaMachineMaskLeak* GetMaskLeak() const;
77  void RemoveMaskLeak();
78 
79  bool HasSodaLimeFailure() const;
80  SEAnesthesiaMachineSodaLimeFailure* GetSodaLimeFailure();
81  const SEAnesthesiaMachineSodaLimeFailure* GetSodaLimeFailure() const;
82  void RemoveSodaLimeFailure();
83 
84  bool HasTubeCuffLeak() const;
85  SEAnesthesiaMachineTubeCuffLeak* GetTubeCuffLeak();
86  const SEAnesthesiaMachineTubeCuffLeak* GetTubeCuffLeak() const;
87  void RemoveTubeCuffLeak();
88 
89  bool HasVaporizerFailure() const;
90  SEAnesthesiaMachineVaporizerFailure* GetVaporizerFailure();
91  const SEAnesthesiaMachineVaporizerFailure* GetVaporizerFailure() const;
92  void RemoveVaporizerFailure();
93 
94  bool HasVentilatorPressureLoss() const;
95  SEAnesthesiaMachineVentilatorPressureLoss* GetVentilatorPressureLoss();
96  const SEAnesthesiaMachineVentilatorPressureLoss* GetVentilatorPressureLoss() const;
97  void RemoveVentilatorPressureLoss();
98 
99  bool HasYPieceDisconnect() const;
100  SEAnesthesiaMachineYPieceDisconnect* GetYPieceDisconnect();
101  const SEAnesthesiaMachineYPieceDisconnect* GetYPieceDisconnect() const;
102  void RemoveYPieceDisconnect();
103 
104  void GetAllActions(std::vector<const SEAction*>& v) const;
105 
106 protected:
107  void Clear();
108  bool ProcessAction(const SEAnesthesiaMachineAction& action);
109 
111  //Anesthesia Machine Incidents
114  //Anesthesia Machine Failures
125  // General
127 };
Definition: SESubstanceManager.h:8
SEAnesthesiaMachineSodaLimeFailure * m_SodaLimeFailure
Definition: SEAnesthesiaMachineActionCollection.h:120
SEAnesthesiaMachineYPieceDisconnect * m_YPieceDisconnect
Definition: SEAnesthesiaMachineActionCollection.h:124
SEAnesthesiaMachineInspiratoryValveLeak * m_InspiratoryValveLeak
Definition: SEAnesthesiaMachineActionCollection.h:117
Definition: SEAnesthesiaMachineSodaLimeFailure.h:6
SEAnesthesiaMachineConfiguration * m_Configuration
Definition: SEAnesthesiaMachineActionCollection.h:110
Definition: SEAnesthesiaMachineActionCollection.h:25
Definition: SEAnesthesiaMachineConfiguration.h:8
Definition: SEAnesthesiaMachine.h:27
Definition: SEAnesthesiaMachineMaskLeak.h:6
Definition: SEAction.h:7
SEAnesthesiaMachineExpiratoryValveObstruction * m_ExpiratoryValveObstruction
Definition: SEAnesthesiaMachineActionCollection.h:116
Definition: SEAnesthesiaMachineExpiratoryValveLeak.h:6
Definition: SEAnesthesiaMachineExpiratoryValveObstruction.h:6
void GetAllActions(std::vector< const SEAction *> &v) const
Definition: SEActionManager.cpp:108
void Clear()
Definition: SEActionManager.cpp:36
Definition: SEAnesthesiaMachineOxygenWallPortPressureLoss.h:6
Definition: SEAnesthesiaMachineInspiratoryValveLeak.h:6
Definition: SEActionManager.h:12
Definition: SEAnesthesiaMachineVentilatorPressureLoss.h:6
Definition: SEAnesthesiaMachineAction.h:6
Definition: Logger.h:11
SEAnesthesiaMachineOxygenTankPressureLoss * m_OxygenTankPressureLoss
Definition: SEAnesthesiaMachineActionCollection.h:112
bool ProcessAction(const SEAction &action)
Definition: SEActionManager.cpp:74
Definition: PBEngine.h:24
SEAnesthesiaMachineVentilatorPressureLoss * m_VentilatorPressureLoss
Definition: SEAnesthesiaMachineActionCollection.h:123
Definition: SEAnesthesiaMachineVaporizerFailure.h:6
SEAnesthesiaMachineInspiratoryValveObstruction * m_InspiratoryValveObstruction
Definition: SEAnesthesiaMachineActionCollection.h:118
Definition: SEAnesthesiaMachineYPieceDisconnect.h:6
Definition: SEAnesthesiaMachineOxygenTankPressureLoss.h:6
Definition: SEAnesthesiaMachineTubeCuffLeak.h:6
SEAnesthesiaMachineVaporizerFailure * m_VaporizerFailure
Definition: SEAnesthesiaMachineActionCollection.h:122
SEAnesthesiaMachineOxygenWallPortPressureLoss * m_OxygenWallPortPressureLoss
Definition: SEAnesthesiaMachineActionCollection.h:113
Definition: SEAnesthesiaMachineInspiratoryValveObstruction.h:6
SEAnesthesiaMachineMaskLeak * m_MaskLeak
Definition: SEAnesthesiaMachineActionCollection.h:119
SEAnesthesiaMachineExpiratoryValveLeak * m_ExpiratoryValveLeak
Definition: SEAnesthesiaMachineActionCollection.h:115
SEAnesthesiaMachineTubeCuffLeak * m_TubeCuffLeak
Definition: SEAnesthesiaMachineActionCollection.h:121
SESubstanceManager & m_Substances
Definition: SEAnesthesiaMachineActionCollection.h:126