LRAUV  revA
ScriptAPI.h
Go to the documentation of this file.
1 
10 #ifndef SCRIPTAPI_H_
11 #define SCRIPTAPI_H_
12 
14 #include "logger/Logger.h"
15 #include "utils/FlexArray.h"
16 
17 class InputInfo;
18 class ScriptNode;
19 class SettingInfo;
20 class SettingReader;
21 
29 class ScriptAPI
30 {
31 public:
32 
34  virtual ~ScriptAPI() {};
35 
36  virtual ScriptNode* makeScriptFunction( const char* moduleName,
37  const char* componentName, const char* methodName,
39  const char* code, Logger& logger ) = 0;
40 
41 protected:
42 
44  ScriptAPI( const char* name, const char* extension )
45  {
46  ScriptAPIRegistry::Register( name, extension, this );
47  };
48 
51  ScriptAPI(); // disallow default constructor
52 
55  ScriptAPI( const ScriptAPI& old ); // disallow copy constructor
56 
57 
58 };
59 
60 #endif /* SCRIPTAPI_H_ */
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
ScriptAPI(const char *name, const char *extension)
Protected constructor for ABC.
Definition: ScriptAPI.h:44
Information to create a Setting in a DefinedBehavior.
Definition: DefineBehavior.h:26
Abstract base class for scripted programming language interfaces.
Definition: ScriptAPI.h:29
Abstract base class for nodes in tree-like scripts.
Definition: ScriptNode.h:20
Contains the ScriptAPIRegistry class definition.
Contains the FlexArrayBase and FlexArray class declarations.
static void Register(const char *const name, const char *const ext, ScriptAPI *api)
Definition: ScriptAPIRegistry.cpp:30
virtual ~ScriptAPI()
Destructor.
Definition: ScriptAPI.h:34
ScriptAPI()
Note that the default constructor below is private and not given a body.
Contains the Logger class definition.
Reads values from mission settings.
Definition: SettingReader.h:26
Information to create a Input in a Method.
Definition: Method.h:31
virtual ScriptNode * makeScriptFunction(const char *moduleName, const char *componentName, const char *methodName, FlexArray< InputInfo * > &inputs, FlexArray< SettingInfo * > &settings, const char *code, Logger &logger)=0