Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

VXIobjectInterface Struct Reference
[Object Interface]

#include <VXIobject.h>

List of all members.


Detailed Description

Abstract interface for VoiceXML object functionality that allows integrators to define VoiceXML language extensions that can be executed by applications through the VoiceXML object element.

These objects can provide almost any extended functionality that is desired.

There is one object interface per thread/line.


Public Attributes

VXIint32(* GetVersion )(void)
 Get the VXI interface version implemented.
const VXIchar *(* GetImplementationName )(void)
 Get the name of the implementation.
VXIobjResult(* Execute )(struct VXIobjectInterface *pThis, const VXIMap *properties, const VXIMap *parameters, VXIValue **result)
 Execute an object.
VXIobjResult(* Validate )(struct VXIobjectInterface *pThis, const VXIMap *properties, const VXIMap *parameters)
 Validate an object, performing validity checks without execution.


Member Data Documentation

VXIobjResult(* VXIobjectInterface::Execute)(struct VXIobjectInterface *pThis, const VXIMap *properties, const VXIMap *parameters, VXIValue **result)
 

Execute an object.

Parameters:
properties [IN] Map containing properties and attributes for the <object> as specified above.
parameters [IN] Map containing parameters for the <object> as specified by the VoiceXML <param> tag. The keys of the map correspond to the parameter name ("name" attribute) while the value of each key corresponds to a VXIValue based type.
For each parameter, any ECMAScript expressions are evaluated by the interpreter. Then if the "valuetype" attribute is set to "ref" the parameter value is packaged into a VXIMap with three properties:

OBJECT_VALUE: actual parameter value OBJECT_VALUETYPE: "valuetype" attribute value OBJECT_TYPE: "type" attribute value

Otherwise a primitive VXIValue based type will be used to specify the value.

Parameters:
result [OUT] Return value for the <object> execution, this is allocated on success, the caller is responsible for destroying the returned value by calling VXIValueDestroy( ). The object's field variable will be set to this value.
Returns:
VXIobj_RESULT_SUCCESS on success, VXIobj_RESULT_NON_FATAL_ERROR on error, VXIobj_RESULT_UNSUPPORTED for unsupported object types (this will cause interpreter to throw the correct event)

const VXIchar*(* VXIobjectInterface::GetImplementationName)(void)
 

Get the name of the implementation.

Returns:
Implementation defined string that must be different from all other implementations. The recommended name is one where the interface name is prefixed by the implementator's Internet address in reverse order, such as com.xyz.rec for VXIobject from xyz.com. This is similar to how VoiceXML 1.0 recommends defining application specific error types.

VXIint32(* VXIobjectInterface::GetVersion)(void)
 

Get the VXI interface version implemented.

Returns:
VXIint32 for the version number. The high high word is the major version number, the low word is the minor version number, using the native CPU/OS byte order. The current version is VXI_CURRENT_VERSION as defined in VXItypes.h.

VXIobjResult(* VXIobjectInterface::Validate)(struct VXIobjectInterface *pThis, const VXIMap *properties, const VXIMap *parameters)
 

Validate an object, performing validity checks without execution.

Parameters:
properties [IN] Map containing properties and attributes for the <object> as specified in the VoiceXML specification except that "expr" and "cond" are always omitted (are handled by the interpreter).
parameters [IN] Map containing parameters for the <object> as specified by the VoiceXML <param> tag. The keys of the map correspond to the parameter name ("name" attribute) while the value of each key corresponds to a VXIValue based type. See Execute( ) above for details.
Returns:
VXIobj_RESULT_SUCCESS on success, VXIobj_RESULT_NON_FATAL_ERROR on error, VXIobj_RESULT_UNSUPPORTED for unsupported object types (this will cause interpreter to throw the correct event)


The documentation for this struct was generated from the following file:
Generated on Wed Jun 1 12:50:19 2005 for OpenVXI by  doxygen 1.4.2