Class Hierarchy:
cObject

Mixin


cCallInterfaceHelper_mixinClass Definition
Properties
boolean
pbConvertXML
handle
phoCallInterface
Functions and Procedures
Address
AllocVDFISData_pData(Address pVDFISData Integer iLen)
Alloc or reAlloc space for VDFISData.pData.
Pass: pVDFISData and length.
Alloc mem and set .pData and .iDataLen values in structure
Ret: .pData
Address
Copy_StringtoVDFISData(String sValue Address pVDFISData)
must alloc new pData space and copy string to this space.
Pass: Pointer to VDFISData, String.
Pass by ref to avoid extra copy of string
String
Copy_VDFISDATAtoString(Address pVDFISData)
must create a new string and copy contents from pValue into it
Pass: pValue points to VDFISData

DefineCallInterfaceHelper_mixin()
Integer
DoCall(Address pVDFISData)
Uses new runtime class for call parsing
Note: There are no more parsing errors, since there is no parsing.
There are four possible errors:
1. We receive a completely bad parameter block
(dwError is set in structure or offset to service name is outside of range)
#REPLACE DFERR_WEBAPP_WEBSERVICE_BAD_PARAMETER_BLOCK, |CI4376
2. We receive a call for a webservice that we don't have registered.
#REPLACE DFERR_WEBAPP_WEBSERVICE_NOT_FOUND, |CI4375
3. We receive a call for a webservice, but it doesn't have a valid message number
attached. Message number is zero.
#REPLACE DFERR_WEBAPP_WEBSERVICE_BAD_REGISTRATION |CI4374
4. More than 16 arguments were passed. 16 arguments is the maximum for a webservice.
#REPLACE DFERR_WEBAPP_WEBSERVICE_TOO_MANY_ARGUMENTS, |CI4387
Integer
FindMessageId(String sMsg)
Find message Id for passed message name ret: 0 if not found, else object Id of message
Integer
FindMessageItem(String sMsg)
Find message item for passed message name ret: -1 if not found, else item of message.
The following messages use this item to retrieve data.
String
InterfaceMessageComment(Integer iItem)
Integer
InterfaceMessageCount()
String
InterfaceMessageId(Integer iItem)
Integer
InterfaceMessageIsExtended(Integer iItem)
Is message extended. Determines how sParams is parsed
String
InterfaceMessageName(Integer iItem)
retrieve interface Name (w/ proper casing), Id, Params, and Comments based on passed ID.
Integer
InterfaceMessageParamByRef(Integer iItem Integer iParam)
Integer
InterfaceMessageParamCount(Integer iItem)
Integer
InterfaceMessageParamDimCount(Integer iItem Integer iParam)
String
InterfaceMessageParamName(Integer iItem Integer iParam)
String
InterfaceMessageParams(Integer iItem)
Integer
InterfaceMessageParamType(Integer iItem Integer iParam)
String
InterfaceMessageParamTypeName(Integer iItem Integer iParam)
String
InterfaceTypeDefinitions(string sNSPre string sNsURI)

RegisterInterface(Integer iMsg String sMsgName String sParams String sComment)
add extended interface.

RegisterSimpleInterface(Integer iMsg String sMsgName String sParams String sComment)
add message to interface. Old vdf 2 message (was called RegisterInterface). use extended version below

RegisterStandardInterface()

RemoveInterface(Integer iMsg)
Address
VDFISData_iDataLen(Address pVDFISData)
extract Length pData pointer from passed pointer to VDFISData
Address
VDFISData_pData(Address pVDFISData)
extract and return pData pointer from passed pointer to VDFISData
This is not a copy operation - just find pData.
String
WebRequestServiceName(Address pVdfISData)