LRAUV  revA
ScriptAPIRegistry.h
Go to the documentation of this file.
1 
10 #ifndef SCRIPTAPIREGISTRY_H_
11 #define SCRIPTAPIREGISTRY_H_
12 
13 #include "utils/FastMap.h"
14 #include "utils/Str.h"
15 
16 class ScriptAPI;
17 
24 {
25 public:
26  static void Register( const char* const name, const char* const ext, ScriptAPI* api );
27  static ScriptAPI* FindByName( const char* const name );
28  static ScriptAPI* FindByExtension( const char* const extension );
29 private:
34 
36  {
37  public:
38  virtual ~StaticDestructor();
39  };
41 
42 };
43 
44 #endif /* SCRIPTAPIREGISTRY_H_ */
static ScriptAPI * FindByExtension(const char *const extension)
Definition: ScriptAPIRegistry.cpp:46
Abstract base class for scripted programming language interfaces.
Definition: ScriptAPI.h:29
static FastMap< const Str, ScriptAPI * > * ApisByExtension_
Definition: ScriptAPIRegistry.h:33
static FastMap< const Str, ScriptAPI * > * ApisByName_
Definition: ScriptAPIRegistry.h:32
static void Register(const char *const name, const char *const ext, ScriptAPI *api)
Definition: ScriptAPIRegistry.cpp:30
Definition: ScriptAPIRegistry.h:35
static ScriptAPI * FindByName(const char *const name)
Definition: ScriptAPIRegistry.cpp:41
ScriptAPIRegistry()
Purely static class has a private constructor with no implementation.
virtual ~StaticDestructor()
Definition: ScriptAPIRegistry.cpp:18
Registry of simpleton classes that implement MissionAPI.
Definition: ScriptAPIRegistry.h:23
Contains the FastMap class declaration.
static StaticDestructor StaticDestructor_
Definition: ScriptAPIRegistry.h:40