LRAUV  revA
BehaviorRegistry.h
Go to the documentation of this file.
1 
9 #ifndef BEHAVIORREGISTRY_H_
10 #define BEHAVIORREGISTRY_H_
11 
12 #include "utils/FastMap.h"
13 #include "utils/Str.h"
14 
15 #include "component/Behavior.h"
16 
18 {
20  const Module* module_;
22  const Module* module )
23  : behaviorCreator_( behaviorCreator ),
24  module_( module )
25  {};
26 };
27 
29 
36 {
37 public:
38 
40  static void Initialize( );
41 
43  static void Uninitialize();
44 
46  static void Insert( const Str& baseName,
47  BehaviorCreator behaviorCreator,
48  const Module* module );
49 
51  static BehaviorRegistryEntry* Find( const Str& baseName );
52 
53 private:
54 
57  {};
58 
60  static BehaviorRegistryMap* Map_;
61 
62 };
63 
64 
65 #endif /*BLOCKMAP_H_*/
Simple class for providing key-pointer mappings.
Definition: Slate.h:44
Definition: BehaviorRegistry.h:17
const Module * module_
Definition: BehaviorRegistry.h:20
Behavior *(* BehaviorCreator)(const Str &, const Module *module)
Behavor factory interfaces.
Definition: Behavior.h:137
BehaviorCreator behaviorCreator_
Definition: BehaviorRegistry.h:19
BehaviorRegistryEntry(BehaviorCreator behaviorCreator, const Module *module)
Definition: BehaviorRegistry.h:21
static void Insert(const Str &baseName, BehaviorCreator behaviorCreator, const Module *module)
Add the base name and BehaviorCreator to the map.
Definition: BehaviorRegistry.cpp:31
static BehaviorRegistryEntry * Find(const Str &baseName)
Get the BehaviorCreator from the map.
Definition: BehaviorRegistry.cpp:40
Contains the Behavior class definition.
static void Uninitialize()
Uninitializes the map.
Definition: BehaviorRegistry.cpp:21
static BehaviorRegistryMap * Map_
The map of MissionComponentRegistryEntries.
Definition: BehaviorRegistry.h:57
Keeps track of all MissionComponents that could be created and loaded.
Definition: BehaviorRegistry.h:35
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
Replacement for standard template class string.
Definition: Str.h:12
Contains the FastMap class declaration.
BehaviorRegistry()
Private Constructor for static class.
Definition: BehaviorRegistry.h:56
FastMap< const Str, BehaviorRegistryEntry * > BehaviorRegistryMap
Definition: BehaviorRegistry.h:28
static void Initialize()
Initializes the map.
Definition: BehaviorRegistry.cpp:15