Building Medical Digital Twins with Pulse: Open Source Simulation Tools for Developers and Researchers
×
SESerializeRequested.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "cdm/engine/SEAction.h"
6 
7 class CDM_DECL SESerializeRequested : public SEAction
8 {
9  friend class PBAction;//friend the serialization class
10 public:
11 
12  SESerializeRequested(Logger* logger=nullptr);
13  virtual ~SESerializeRequested();
14 
15  static constexpr char const* Name = "Serialize Requested";
16  std::string GetName() const override { return Name; }
17 
18  void Clear() override; //clear memory
19 
20  bool IsValid() const override;
21 
22  virtual int GetID() const { return m_ID; }
23  virtual void SetID(int id) { m_ID = id; }
24 
25  virtual bool GetClearCache() const { return m_ClearCache; }
26  virtual void SetClearCache(bool b) { m_ClearCache = b; }
27 
28  virtual bool HasFilename() const;
29  virtual std::string GetFilename() const;
30  virtual void SetFilename(const std::string& filename);
31  virtual void InvalidateFilename();
32 
33  const SEScalar* GetScalar(const std::string& name) override;
34 
35 protected:
37  std::string m_Filename;
38  int m_ID;
39 };
Definition: Logger.h:71
Definition: PBActions.h:15
Definition: SEAction.h:14
virtual bool IsValid() const
Definition: SEAction.h:35
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual void Clear()
Definition: SEAction.cpp:21
Definition: SEScalar.h:19
Definition: SESerializeRequested.h:8
std::string m_Filename
Definition: SESerializeRequested.h:37
virtual int GetID() const
Definition: SESerializeRequested.h:22
virtual void SetClearCache(bool b)
Definition: SESerializeRequested.h:26
std::string GetName() const override
Definition: SESerializeRequested.h:16
int m_ID
Definition: SESerializeRequested.h:38
bool m_ClearCache
Definition: SESerializeRequested.h:36
virtual bool GetClearCache() const
Definition: SESerializeRequested.h:25
virtual void SetID(int id)
Definition: SESerializeRequested.h:23

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.