Emergency 20 Dokumentation  4.2.0
ActivityStepFactory.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include "em5/Export.h"
14 
15 #include <qsf/forward/BoostPTree.h>
17 
18 
19 //[-------------------------------------------------------]
20 //[ Forward declarations ]
21 //[-------------------------------------------------------]
22 namespace em5
23 {
24  class ActivityStep;
25 }
26 
27 
28 //[-------------------------------------------------------]
29 //[ Namespace ]
30 //[-------------------------------------------------------]
31 namespace em5
32 {
33 
34 
35  //[-------------------------------------------------------]
36  //[ Classes ]
37  //[-------------------------------------------------------]
43  {
44 
45 
46  //[-------------------------------------------------------]
47  //[ Public methods ]
48  //[-------------------------------------------------------]
49  public:
55 
61 
74  ActivityStep* createActivityStepFromBoostPTree(const qsf::NamedIdentifier& key, const boost::property_tree::ptree& pTree);
75 
76 
77  //[-------------------------------------------------------]
78  //[ Private methods ]
79  //[-------------------------------------------------------]
80  private:
81  void classAdded(const camp::Class& added);
82 
83 
84  //[-------------------------------------------------------]
85  //[ Private definitions ]
86  //[-------------------------------------------------------]
87  private:
88 #ifdef RETAIL
89  typedef boost::container::flat_map<qsf::NamedIdentifier, const camp::Class*> ClassMap;
90 #else
91  typedef std::map<qsf::NamedIdentifier, const camp::Class*> ClassMap; // std::map for easier debugging
92 #endif
93 
94 
95  //[-------------------------------------------------------]
96  //[ Private data ]
97  //[-------------------------------------------------------]
98  private:
99  ClassMap mClassMap;
100 
101 
102  };
103 
104 
105 //[-------------------------------------------------------]
106 //[ Namespace ]
107 //[-------------------------------------------------------]
108 } // em5
Definition: ActionPriority.h:13
Activity step factory.
Definition: ActivityStepFactory.h:42
#define EM5_API_EXPORT
Definition: Export.h:28
Definition: DensityCalculator.h:29
Activity step base class.
Definition: ActivityStep.h:44
Class combining strings with their hashes.
Definition: NamedIdentifier.h:34