SEScenarioAutoSerialization.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 
15 #include <biogears/cdm/properties/SEScalarTime.h>
16 #include <biogears/schema/cdm/Scenario.hxx>
17 
18 CDM_BIND_DECL(ScenarioAutoSerializationData)
19 namespace biogears {
20 
21 class BIOGEARS_API SEScenarioAutoSerialization : public Loggable {
22 public:
24  virtual ~SEScenarioAutoSerialization();
25 
26  virtual void Clear();
27  virtual bool IsValid() const;
28 
29  virtual bool Load(const CDM::ScenarioAutoSerializationData& in);
30  virtual CDM::ScenarioAutoSerializationData* Unload() const;
31 
32 protected:
33  virtual void Unload(CDM::ScenarioAutoSerializationData& data) const;
34 
35 public:
36  virtual bool HasPeriod() const;
37  virtual SEScalarTime& GetPeriod();
38  virtual double GetPeriod(const TimeUnit& unit) const;
39 
40  virtual bool HasPeriodTimeStamps() const;
41  virtual CDM::enumOnOff::value GetPeriodTimeStamps() const;
42  virtual void SetPeriodTimeStamps(CDM::enumOnOff::value v);
43  virtual void InvalidatePeriodTimeStamps();
44 
45  virtual bool HasAfterActions() const;
46  virtual CDM::enumOnOff::value GetAfterActions() const;
47  virtual void SetAfterActions(CDM::enumOnOff::value v);
48  virtual void InvalidateAfterActions();
49 
50  virtual bool HasReloadState() const;
51  virtual CDM::enumOnOff::value GetReloadState() const;
52  virtual void SetReloadState(CDM::enumOnOff::value v);
53  virtual void InvalidateReloadState();
54 
55  virtual bool HasDirectory() const;
56  virtual const char* GetDirectory() const;
57  virtual void SetDirectory(const char* dir);
58  virtual void SetDirectory(const std::string& dir);
59  virtual void InvalidateDirectory();
60 
61  virtual bool HasFileName() const;
62  virtual const char* GetFileName() const;
63  virtual void SetFileName(const char* dir);
64  virtual void SetFileName(const std::string& dir);
65  virtual void InvalidateFileName();
66 
67 protected:
72  std::string m_Directory;
73  std::string m_FileName;
74 };
75 }
std::string m_FileName
Definition: SEScenarioAutoSerialization.h:73
CDM::enumOnOff::value m_ReloadState
Definition: SEScenarioAutoSerialization.h:71
SEScalarTime * m_Period
Definition: SEScenarioAutoSerialization.h:68
Class corresponding to the ScenarioAutoSerializationData schema type.
Definition: Scenario.hxx:4547
Definition: SEScenarioAutoSerialization.h:21
CDM::enumOnOff::value m_PeriodTimeStamps
Definition: SEScenarioAutoSerialization.h:69
Definition: Logger.h:27
Definition: Logger.h:75
Definition: SEScalarTime.h:37
Definition: SEScalarTime.h:18
std::string m_Directory
Definition: SEScenarioAutoSerialization.h:72
value
Underlying enum type.
Definition: Properties.hxx:2070
CDM::enumOnOff::value m_AfterActions
Definition: SEScenarioAutoSerialization.h:70
Definition: SEElectricalCircuit.h:18