Javascript Engine
(→Methods) |
(→Methods) |
||
Line 36: | Line 36: | ||
Engine.alarm("myscript",Engine.DebugWarn,""); | Engine.alarm("myscript",Engine.DebugWarn,""); | ||
− | * '''sleep()''' | + | * '''sleep(seconds)''' |
− | * '''usleep()''' | + | Sleep for a number of seconds.<br> |
+ | |||
+ | * '''usleep(microseconds)''' | ||
+ | Sleep for a number of microseconds.<br> | ||
+ | |||
* '''yield()''' | * '''yield()''' | ||
+ | Give up the currently running timeslice. Note that on some platforms it also sleeps for the operating system's scheduler resolution.<br> | ||
+ | |||
* '''idle()''' | * '''idle()''' | ||
− | * '''restart()''' | + | Sleep for a system dependent period adequate for an idle thread.<br> |
+ | On most operating systems this is a 5 msec sleep.<br> | ||
+ | |||
+ | * '''restart([code [,gracefull]])''' | ||
+ | Stop and restart the engine and the entire program.<br> | ||
+ | Parameters:<br> | ||
+ | '''code''': Optional return code of the program. Defaults to 0<br> | ||
+ | '''gracefull''': Optional. Attempt to wait until no plugin is busy<br> | ||
+ | Return:<br> | ||
+ | TRUE if restart was initiated, FALSE if exiting or no supervisor or 'allow_abort' is disabled in javascript.conf.<br> | ||
+ | |||
* '''dump_r()''' | * '''dump_r()''' | ||
* '''print_r()''' | * '''print_r()''' | ||
* '''dump_t()''' | * '''dump_t()''' | ||
* '''print_t()''' | * '''print_t()''' | ||
+ | |||
* '''debugName([name])''' | * '''debugName([name])''' | ||
Set the debug name.<br> | Set the debug name.<br> |
Revision as of 15:54, 9 March 2016
Javascript static Engine object.
This object is frozen.
Methods
- output([value1 [, value2 [, ...]]])
Output data to console / log.
Concatenate parameters. Put a space between them.
Does nothing if the resulting string is empty.
Engine.output("1",1,"test"); Engine.output("1" + " " + 1 + " test"); // Output: "1 1 test"
- debug([level, ][value1 [, value2 [, ...]]])
Put a debug message in console / log.
Concatenate values. Put a space between them.
Does nothing if the resulting string is empty.
Debug level is handled if the first parameter is an integer value. Defaults to Engine.DebugNote otherwise.
// The following calls will produce the same debug message: Engine.debug(Engine.DebugNote,"test","out"); Engine.debug(8,"test out"); Engine.debug("test" + " out");
- alarm([info, ]level, value1 [, value2 [, ...]])
Put a debug message. Emits an alarm if a callback is installed.
Concatenate values. Put a space between them.
Does nothing if the resulting string is empty.
Parameters:
info: Optional alarm extra information
level: Debug/Alarm level
Engine.alarm("myscript",Engine.DebugWarn,"Some warning"); // Run time error: Engine.alarm("some text"); Engine.alarm("myscript",Engine.DebugWarn); // No alarm, no debug message: Engine.alarm("myscript",Engine.DebugWarn,"");
- sleep(seconds)
Sleep for a number of seconds.
- usleep(microseconds)
Sleep for a number of microseconds.
- yield()
Give up the currently running timeslice. Note that on some platforms it also sleeps for the operating system's scheduler resolution.
- idle()
Sleep for a system dependent period adequate for an idle thread.
On most operating systems this is a 5 msec sleep.
- restart([code [,gracefull]])
Stop and restart the engine and the entire program.
Parameters:
code: Optional return code of the program. Defaults to 0
gracefull: Optional. Attempt to wait until no plugin is busy
Return:
TRUE if restart was initiated, FALSE if exiting or no supervisor or 'allow_abort' is disabled in javascript.conf.
- dump_r()
- print_r()
- dump_t()
- print_t()
- debugName([name])
Set the debug name.
Retrieve debug name if no parameter is given.
Parameters:
name: Debug name to set
- debugLevel([level])
Set the debug level.
Retrieve the debug level if no parameter is given.
Parameters:
level: Debug level to set. Ignored if not an integer value
- debugEnabled([on])
Toggle (set) the debug enabled flag.
Retrieve the debug enabled flag if no parameter is given.
Parameters:
on: TRUE to enable debug output, FALSE to disable it
- debugAt(level)
Check if the current debug level is greater or equal to requested level.
Parameters:
level: Integer value to check
Return:
TRUE if the current debug level greater than or equal to level, FALSE otherwise.
- setDebug(command)
Set debug according to command values.
Handled commands:
- level <level_value>: Set debug level to requested level value
- reset: Reset debug level to javascript module debug level
- engine: Reset debug level and debug enabled flag to yate engine settings
- boolean: Set debug enabled flag
All other values are ignored.
- started()
Check if engine is started at the time this method is called (engine.start message was sent).
Return:
TRUE if engine was started (all modules were loaded and initialized), FALSE if not.
- runParams([param])
Retrieve engine list of parameters specific to this run or a specified one.
Parameters:
param: Optional name of parameter to retrieve
Return:
Object with fields set to engine parameters or string with requested parameter value.
- configFile(name [,user])
Retrieve the full path of a configuration file. Add the '.conf' extension to name.
Parameters:
name: Configuration file name
user: Optional. Set it to TRUE to build the path from user settings
Return:
Path to requested file.
- setInterval()
- clearInterval()
- setTimeout()
- clearTimeout()
- loadLibrary()
- loadObject()
- replaceParams()
- atob
Decode Base64 data.
Parameters:
b64_str: Mandatory, Base64 encoded data
Return:
Decoded data, boolean false on failure (invalid Base64 data)
str = Engine.atob(b64_str)
- btoa
Encode string data to Base64.
Parameters:
str: Mandatory, data to encode
line_len: Optional line length (split encoded data, add end of line after each line_len chars)
add_eol: Optional, add an extra end of line after encoded data
Return:
Base64 encoded data
b64_str = Engine.btoa(str[,line_len[,add_eol]])
- atoh
Decode Base64 data.
Parameters:
b64_str: Mandatory, Base64 encoded data
hex_sep: Optional separator to use between octets. Set it to 'undefined' if not used and hex_upcase is given
hex_upcase: Optional, use upper case characters in hexa
Return:
Hexified string, boolean false on failure (invalid Base64 data)
hex_str = Engine.atoh(b64_str[,hex_sep[,hex_upcase]])
- htoa
Encode hexified binary (string) data to Base64.
Parameters:
hex_str: Mandatory, data to encode
line_len: Optional line length (split encoded data, add end of line after each line_len chars)
add_eol: Optional, add an extra end of line after encoded data
Return:
The string, boolean false on failure (invalid input string).
b64_str = Engine.htob(hex_str[,line_len[,add_eol]])
- btoh
Convert binary (string) data to hexified string.
Parameters:
str: Mandatory, data to hexify
hex_sep: Optional separator to use between octets. Set it to 'undefined' if not used and hex_upcase is given
hex_upcase: Optional, use upper case characters in hexa
Return:
Hexified string
hex_str = Engine.btoh(str[,hex_sep[,hex_upcase]])
- htob
Unhexify binary (string) data.
Parameters:
hex_str: Mandatory, data to unhexify
hex_sep: Optional separator between octets. Set it to 'undefined' if missing or unknown (autodetect)
Return:
The string, boolean false on failure (invalid input string).
str = Engine.htob(hex_str[,hex_sep])
Properties
- DebugFail, DebugTest, DebugGoOn, DebugConf, DebugStub, DebugWarn, DebugMild, DebugCall, DebugNote, DebugInfo, DebugAll
Debug levels to be used when calling Engine.debug() or Engine.alarm().
NOTE:: Debug level is clamped to interval [DebugTest .. DebugAll] unless 'allow_abort' is enabled in javascript.conf (in this case the debug level is clamped to interval [DebugFail .. DebugAll].
- shared
Provides access to Shared object.
- name
Script name. It may not be available.
This is the name assigned to the script.
This property is missing when running javascript eval command.
Example:
javascript.conf: [scripts] test=some_script.js in some_script.js Engine.name property value is "test"