#include <scriptserver.h>
Public Member Functions | |
ScriptServer (const char *id) | |
virtual | ~ScriptServer () |
bool | SetDefaultLanguage (const string &language) |
const string & | GetDefaultLanguage () |
ScriptLoader * | NewScriptLoader (const char *class_name, const string &language) |
bool | RunCode (const char *code, string &result, const char *language=NULL) |
bool | RunFunction (const char *func_name, string &result, const char *language=NULL) |
bool | RunScript (const string &file_path, string &result) |
virtual string | Prompt () |
virtual bool | Trigger (void) |
void | Exit () |
Protected Member Functions | |
ScriptLoader * | GetLoader (const char *language) |
Private Attributes | |
bool | exit_requested |
Whether Exit function was called. | |
string | default_language |
Name of default language. | |
Ref< ScriptLoader > | default_loader |
Default loader used when language is not specified. |
ScriptServer::ScriptServer | ( | const char * | id | ) |
Constructor.
ScriptServer::~ScriptServer | ( | ) | [virtual] |
Destructor.
bool ScriptServer::SetDefaultLanguage | ( | const string & | language | ) |
Sets default language. The loader of this language will be used to run the scripts when language is not set explicitly.
language | Identifier of script language. |
True
if loader of specified language is found. const string & ScriptServer::GetDefaultLanguage | ( | ) | [inline] |
Returns defult language.
ScriptLoader * ScriptServer::NewScriptLoader | ( | const char * | class_name, | |
const string & | language | |||
) |
Cerates new script loader of given class. This loader will be associated with specified language. Each loader is a NOH child of script server.
class_name | Class name of script loader. | |
language | Identifier of script language. |
bool ScriptServer::RunCode | ( | const char * | code, | |
string & | result, | |||
const char * | language = NULL | |||
) |
Runs a script statement.
code | The statement to execute. | |
result | Will be filled with the result. | |
language | Identifier of script language, NULL means defult language. |
True
if successful. bool ScriptServer::RunFunction | ( | const char * | func_name, | |
string & | result, | |||
const char * | language = NULL | |||
) |
Runs a script function with the specified name without any args.
func_name | Function name. | |
result | Will be filled with the result. | |
language | Identifier of script language, NULL means defult language. |
True
if successful. bool ScriptServer::RunScript | ( | const string & | file_path, | |
string & | result | |||
) |
Runs a script file.
Language is recognised from file extension.
file_path | The script file name with path. | |
result | Will be filled with the result. |
True
if successful. string ScriptServer::Prompt | ( | ) | [virtual] |
Generates a prompt string for interactive mode.
bool ScriptServer::Trigger | ( | void | ) | [virtual] |
This method should be called frequently (normally once per frame) when the script server is not run in interactive mode.
Reimplemented from Server< ScriptServer >.
void ScriptServer::Exit | ( | ) | [inline] |
Exits interractive mode.
ScriptLoader * ScriptServer::GetLoader | ( | const char * | language | ) | [protected] |
Returns loader of given language. If language parameter is NULL, the default loader is returned.
language | Identifier of script language. |
bool ScriptServer::exit_requested [private] |
Whether Exit function was called.
string ScriptServer::default_language [private] |
Name of default language.
Ref<ScriptLoader> ScriptServer::default_loader [private] |
Default loader used when language is not specified.