SEDataRequested.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5
6#include "cdm/PhysiologyEngine.h"
7#include "cdm/engine/SEEventManager.h"
8
9class CDM_DECL SEDataRequested : public LoggerForward, public SEEventHandler
10{
11 friend class PBEngine;//friend the serialization class
12public:
13 explicit SEDataRequested();
14 virtual ~SEDataRequested();
15
18
19 virtual void SetEngine(const PhysiologyEngine& engine);
20
21 virtual void Clear(); //clear memory
22
23 bool SerializeToString(std::string& output, eSerializationFormat m) const;
24 static bool SerializeToString(const std::vector<SEDataRequested*>& src, std::string& dst, eSerializationFormat m);
25
26 virtual int GetID() const;
27 virtual void SetID(int id);
28
29 virtual bool IsActive() const;// Set when an Error or Fatal has been loggged
30 virtual void SetIsActive(bool b);
31
32 virtual void PullDataRequested();
33 virtual void ClearDataRequested();
34
35 virtual const std::vector<double>& GetValues() const;
36
37 virtual bool KeepLogMessages() const { return m_KeepLogMessages; }
38 virtual void KeepLogMessages(bool b) { m_KeepLogMessages = b; }
39 virtual const std::vector<SEEventChange>& GetEventChanges() const;
40 virtual const LogMessages& GetLogMessages() const;
41
42 void ForwardDebug(const std::string& msg) override;
43 void ForwardInfo(const std::string& msg) override;
44 void ForwardWarning(const std::string& msg) override;
45 void ForwardError(const std::string& msg) override;
46 void ForwardFatal(const std::string& msg) override;
47
48 virtual bool KeepEventChanges() const { return m_KeepEventChanges; }
49 virtual void KeepEventChanges(bool b) { m_KeepEventChanges = b; }
50
51 void HandleEvent(eEvent type, bool active, const SEScalarTime* time = nullptr) override;
52
53protected:
54 int m_ID;
56 std::vector<double> m_Values;
58 std::vector<SEEventChange> m_EventChanges;
62};
Definition: Logger.h:133
Definition: Logger.h:60
virtual void ForwardFatal(std::string const &)
Definition: Logger.h:67
virtual void ForwardDebug(std::string const &)
Definition: Logger.h:63
virtual void ForwardWarning(std::string const &)
Definition: Logger.h:65
virtual void ForwardError(std::string const &)
Definition: Logger.h:66
virtual void ForwardInfo(std::string const &)
Definition: Logger.h:64
Definition: PBEngine.h:31
static bool SerializeToString(const LogMessages &src, std::string &output, eSerializationFormat m, Logger *logger)
Definition: PBEngine.cpp:154
Definition: PhysiologyEngine.h:58
Definition: SEDataRequested.h:10
virtual void KeepEventChanges(bool b)
Definition: SEDataRequested.h:49
SEDataRequested(const SEDataRequested &)=delete
virtual bool KeepLogMessages() const
Definition: SEDataRequested.h:37
LogMessages m_LogMessages
Definition: SEDataRequested.h:60
std::vector< SEEventChange > m_EventChanges
Definition: SEDataRequested.h:58
const PhysiologyEngine * m_Engine
Definition: SEDataRequested.h:61
SEDataRequested operator=(const SEDataRequested &)=delete
bool m_KeepEventChanges
Definition: SEDataRequested.h:57
virtual void KeepLogMessages(bool b)
Definition: SEDataRequested.h:38
bool m_KeepLogMessages
Definition: SEDataRequested.h:59
std::vector< double > m_Values
Definition: SEDataRequested.h:56
int m_ID
Definition: SEDataRequested.h:54
bool m_IsActive
Definition: SEDataRequested.h:55
virtual bool KeepEventChanges() const
Definition: SEDataRequested.h:48
Definition: SEEventManager.h:65
virtual void HandleEvent(eEvent e, bool active, const SEScalarTime *simTime=nullptr)=0
Definition: SEScalarTime.h:28

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.