PBActions.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 CDM_BIND_DECL(AnyActionData)
6 CDM_BIND_DECL2(Action)
7 CDM_BIND_DECL2(AdvanceTime)
8 CDM_BIND_DECL2(AdvanceUntilStable)
9 CDM_BIND_DECL2(SerializeRequested)
10 CDM_BIND_DECL2(SerializeState)
11 CDM_BIND_DECL2(Overrides)
12 class SESubstanceManager;
13 
14 class CDM_DECL PBAction
15 {
16 public:
17 
19  static SEAction* Load(const CDM_BIND::AnyActionData& action, const SESubstanceManager& subMgr);
21  static CDM_BIND::AnyActionData* Unload(const SEAction& action);
22  static SEAction* Copy(const SEAction& a, const SESubstanceManager& subMgr);
23  static bool SerializeToString(const SEAction& a, std::string& dst, eSerializationFormat fmt=eSerializationFormat::JSON);
24  static SEAction* SerializeFromString(const std::string& src, eSerializationFormat fmt, const SESubstanceManager& subMgr);
25 
26  static void Serialize(const CDM_BIND::ActionData& src, SEAction& dst);
27  static void Serialize(const SEAction& src, CDM_BIND::ActionData& dst);
28 
29  static void Load(const CDM_BIND::AdvanceTimeData& src, SEAdvanceTime& dst);
30  static CDM_BIND::AdvanceTimeData* Unload(const SEAdvanceTime& src);
31  static void Serialize(const CDM_BIND::AdvanceTimeData& src, SEAdvanceTime& dst);
32  static void Serialize(const SEAdvanceTime& src, CDM_BIND::AdvanceTimeData& dst);
33 
34  static void Load(const CDM_BIND::AdvanceUntilStableData& src, SEAdvanceUntilStable& dst);
35  static CDM_BIND::AdvanceUntilStableData* Unload(const SEAdvanceUntilStable& src);
36  static void Serialize(const CDM_BIND::AdvanceUntilStableData& src, SEAdvanceUntilStable& dst);
37  static void Serialize(const SEAdvanceUntilStable& src, CDM_BIND::AdvanceUntilStableData& dst);
38 
39  static void Load(const CDM_BIND::SerializeRequestedData& src, SESerializeRequested& dst);
40  static CDM_BIND::SerializeRequestedData* Unload(const SESerializeRequested& src);
41  static void Serialize(const CDM_BIND::SerializeRequestedData& src, SESerializeRequested& dst);
42  static void Serialize(const SESerializeRequested& src, CDM_BIND::SerializeRequestedData& dst);
43 
44  static void Load(const CDM_BIND::SerializeStateData& src, SESerializeState& dst);
45  static CDM_BIND::SerializeStateData* Unload(const SESerializeState& src);
46  static void Serialize(const CDM_BIND::SerializeStateData& src, SESerializeState& dst);
47  static void Serialize(const SESerializeState& src, CDM_BIND::SerializeStateData& dst);
48 
49  static void Load(const CDM_BIND::OverridesData& src, SEOverrides& dst);
50  static CDM_BIND::OverridesData* Unload(const SEOverrides& src);
51  static void Serialize(const CDM_BIND::OverridesData& src, SEOverrides& dst);
52  static void Serialize(const SEOverrides& src, CDM_BIND::OverridesData& dst);
53  static void Copy(const SEOverrides& src, SEOverrides& dst);
54 };
Definition: PBActions.h:15
Definition: SEAction.h:14
Definition: SEAdvanceTime.h:8
Definition: SEAdvanceUntilStable.h:8
Definition: SEOverrides.h:8
Definition: SESerializeRequested.h:8
Definition: SESerializeState.h:12
Definition: SESubstanceManager.h:9

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.