# class ExpExtender | ExpEvaluator extending interface. More...
Full name | `TelEngine::ExpExtender`
Definition | `#include <libs/yscript/yatescript.h>`
Inherited by | JsArray, JsFunction, JsObject, JsRegExp, ScriptContext
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- virtual ~ExpExtender ()
- virtual RefObject* refObj ()
- virtual bool hasField (ObjList& stack, const String& name, GenObject* context) const
- virtual NamedString* getField (ObjList& stack, const String& name, GenObject* context) const
- virtual bool runFunction (ObjList& stack, const ExpOperation& oper, GenObject* context)
- virtual bool runField (ObjList& stack, const ExpOperation& oper, GenObject* context)
- virtual bool runAssign (ObjList& stack, const ExpOperation& oper, GenObject* context)

## Detailed Description

This class allows extending ExpEvaluator to implement custom fields and functions

~ExpExtender () | ### ~ExpExtender

[virtual]

Destructor

RefObject* refObj () | ### refObj

[virtual]

Retrieve the reference counted object owning this interface

Returns: Pointer to object owning the extender, NULL if no ownership

bool hasField (ObjList& stack, const String& name, GenObject* context) | ### hasField

[const virtual]

Check if a certain field is assigned in extender

Parameters:

stack | Evaluation stack in use
name | Name of the field to test
context | Pointer to arbitrary object passed from evaluation methods

Returns: True if the field is present

NamedString* getField (ObjList& stack, const String& name, GenObject* context) | ### getField

[const virtual]

Get a pointer to a field in extender

Parameters:

stack | Evaluation stack in use
name | Name of the field to retrieve
context | Pointer to arbitrary object passed from evaluation methods

Returns: Pointer to field, NULL if not present

bool runFunction (ObjList& stack, const ExpOperation& oper, GenObject* context) | ### runFunction

[virtual]

Try to evaluate a single function

Parameters:

stack | Evaluation stack in use, parameters are popped off this stack and results are pushed back on stack
oper | Function to evaluate
context | Pointer to arbitrary object passed from evaluation methods

Returns: True if evaluation succeeded

bool runField (ObjList& stack, const ExpOperation& oper, GenObject* context) | ### runField

[virtual]

Try to evaluate a single field

Parameters:

stack | Evaluation stack in use, field value must be pushed on it
oper | Field to evaluate
context | Pointer to arbitrary object passed from evaluation methods

Returns: True if evaluation succeeded

bool runAssign (ObjList& stack, const ExpOperation& oper, GenObject* context) | ### runAssign

[virtual]

Try to assign a value to a single field

Parameters:

stack | Evaluation stack in use
oper | Field to assign to, contains the field name and new value
context | Pointer to arbitrary object passed from evaluation methods

Returns: True if assignment succeeded

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.