SEAutoSerialization.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 
6 class CDM_DECL SEAutoSerialization : public Loggable
7 {
8  friend class PBEngine;//friend the serialization class
9 public:
10  SEAutoSerialization(Logger* logger);
11  virtual ~SEAutoSerialization();
12 
13  virtual void Clear();
14  virtual bool IsValid() const;
15 
16  virtual bool HasPeriod() const;
17  virtual SEScalarTime& GetPeriod();
18  virtual double GetPeriod(const TimeUnit& unit) const;
19 
20  virtual eSwitch GetPeriodTimeStamps() const;
21  virtual void SetPeriodTimeStamps(eSwitch v);
22 
23  virtual eSwitch GetAfterActions() const;
24  virtual void SetAfterActions(eSwitch v);
25 
26  virtual eSwitch GetReloadState() const;
27  virtual void SetReloadState(eSwitch v);
28 
29  virtual bool HasDirectory() const;
30  virtual std::string GetDirectory() const;
31  virtual void SetDirectory(const std::string& dir);
32  virtual void InvalidateDirectory();
33 
34  virtual bool HasFileName() const;
35  virtual std::string GetFileName() const;
36  virtual void SetFileName(const std::string& dir);
37  virtual void InvalidateFileName();
38 
39 
40 protected:
41 
44  eSwitch m_AfterActions;
45  eSwitch m_ReloadState;
46  std::string m_Directory;
47  std::string m_FileName;
48 };
Definition: Logger.h:61
std::string m_FileName
Definition: SEAutoSerialization.h:47
Definition: SEAutoSerialization.h:6
Definition: SEScalarTime.h:7
Definition: Logger.h:11
Definition: PBEngine.h:24
eSwitch m_AfterActions
Definition: SEAutoSerialization.h:44
SEScalarTime * m_Period
Definition: SEAutoSerialization.h:42
eSwitch m_ReloadState
Definition: SEAutoSerialization.h:45
eSwitch m_PeriodTimeStamps
Definition: SEAutoSerialization.h:43
Definition: SEScalarTime.h:23
std::string m_Directory
Definition: SEAutoSerialization.h:46