Sfairadora

  • Reference Guide

Data_provider_def

Definition type of a data provider.
Type
Name
Description
Seq(Data_link_info) optional
(see below)
data_links
Links to data objects published to the child under specified object names.
Seq(Type_info) optional
(see below)
types
Defined data types.
Seq(Variable_info) optional
(see below)
variables
Defined variables.
Atom|Enki
vars_id
The object name of the data object representing the variables. It must be an identifier.
The initial value is "vars".
Bool|Enki
vars_local
If set TRUE, the object representing variables is not published to tools.
Bool|Enki
vars_id_default
If set TRUE, the object name of the variables can be omitted in Enki functions; the name of a variable alone will be sufficient.
Seq(Function_info) optional
(see below)
functions
Defined functions.
Seq(Constant_info) optional
(see below)
constants
Defined constants.
Seq(Dispel_info) optional
(see below)
dispels
Defined named dispels.
Seq(Handler_info) optional
(see below)
handlers
Defined handlers (i.e. functions called on data being connected, changed, and disconnected).
Text|Enki optional
validator
The function verifying data validity. If the type Text is specified, it is an Enki function. If the type Enki is specified, it is a function returning the validator’s source text (i.e. an indirect function).
child
The child – the dispel for which the data and other definitions are provided.

Data_link_info

Type
Name
Description
Atom|Enki
data_id
The name of the object in which the target of the data ling is located.
Dref|Enki
data_ref
The reference to the data link target relative to the object name data_id.
Atom|Enki
data_sub_id
The object name under which the target of the data link is published to the child. It must be an identifier.
Bool|Enki
local
If set TRUE, the object is not be published to tools.
Bool|Enki
data_sub_id_default
If set TRUE, the object name of the data link can be omitted in Enki functions.

Type_info

Type
Name
Description
Atom|Enki
name
The name of the type being defined. It must be an identifier.
value
The defined type.

Variable_info

Type
Name
Description
Atom|Enki
name
The name of the variable. It must be an identifier.
type
The variable type
Bool|Enki
optional
If set TRUE, the variable is optional (its value can be left unspecified).
init_value
The initial value of the variable.

Function_info

Type
Name
Description
Atom|Enki
name
The name of the function. It must be an identifier.
Return_info
(see below)
ret_val
The type of the return value.
Seq(Param_info) optional
(see below)
params
List of function’s parameters
Text|Rich_text|Func_ret
expr
The source text of the function. If the type Text is specified, it is an Enki function. If Rich_text is specified, it is an Enkidu template. If the type Func_ret is specified, it is a function returning the function’s source text (i.e. an indirect function) – either the type Text (an Enki function) or the type Rich_text (an Enkidu template).

Return_info

Type
Name
Description
type
The type of the result.
Bool|Enki
by_ref
If set TRUE, the result is passed by reference.
Bool|Enki
const
If set TRUE and the result is passed by reference, the reference is constant (i.e. it cannot be written to).

Param_info

Type
Name
Description
Atom|Enki
name
The name of the parameter. It must be an identifier.
type
The type of the parameter.
Bool|Enki
by_ref
If set TRUE, the parameter is passed by reference.
Bool|Enki
const
If set TRUE and the parameter is passed by reference, the reference is constant (i.e. it cannot be written to).
Bool|Enki
non_strict
If set TRUE, an Error value, instead of a value of the proper type, can be passed.

Constant_info

Type
Name
Description
Atom|Enki
name
The name of the constant. It must be an identifier.
value
The value of the constant.

Dispel_info

Type
Name
Description
Atom|Enki
name
The name of the dispel. It must be anidentifier.
Dispel_def|Enki
child
The proper definition of the dispel.
pertinent_types
The list of types of which the defined dispel is an editor. This information is used by universal dispels.
Bool|Enki optional
in_table
A hint for using the defined dispel by a universal dispel.
TRUE
the dispel is to be used only in a table.
FALSE
the dispel is to be used only outside a table.
not specified
no preference.
Data_type_def|Enki optional
param_type
The definition of the dispel’s parameters. It should be a structure (Struct_def) containing the individual parameters.
Initially, it is an empty value of the type Struct_def.
param_default
The value of the parameter used by a universal dispel.
Int|Enki optional
max_recursion
Maximum recursion depth. If not specified, 20 is used.
Seq(Atom|Enki) optional
data_sub_ids
The names of data object published to an instance of the dispel being defined.
Atom|Enki
param_sub_id
The name of the data object representing the dispel’s parameters.
Rich_text|Enki|Enkidu optional
help
Help displayed when using the dispel.

Handler_info

Type
Name
Description
Atom|Enki
data_id
The name of the object containing the item to be watched.
Dref|Enki
data_ref
The reference of the item to be watched relative to the object identified above.
Bool|Enki
transitive
If set to TRUE and the watched data is a sequence, the handler is invoked on the change of contents of the sequence items, too. Otherwise, it is invoked only when the sequence itself is changed. For other types, it has no significance.
The initial value is TRUE.
Bool|Enki
invoke_on_attach
If set TRUE, the handler is invoked on connecting data.
Bool|Enki
invoke_on_change
If set TRUE, the handler is invoked on data change.
Bool|Enki
invoke_on_detach
If set TRUE, the handler is invoked on disconnecting data.
Text|Enki
expr
The source text of the function to be invoked on data change. If the type Text is specified, it is an Enki function. If the type Enki is specified, it is a function returning the function’s source text (i.e. an indirect function).