DefineCallInterfaceHelper_mixin()
- boolean
pbConvertXML - handle
phoCallInterface - oCallInterface : cCallInterface
- Address
VDFISData_pData(Address pVDFISData)
extract and return pData pointer from passed pointer to VDFISData
This is not a copy operation - just find pData.
- Address
VDFISData_iDataLen(Address pVDFISData)
extract Length pData pointer from passed pointer to VDFISData
- 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
pData - Integer
bOK - Integer
bKeepAlive
- String
Copy_VDFISDATAtoString(Address pVDFISData)
must create a new string and copy contents from pValue into it
Pass: pValue points to VDFISData
- String
sValue - Address
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
- Integer
iLen - Address
pData
RegisterSimpleInterface(Integer iMsg String sMsgName String sParams String sComment)
add message to interface. Old vdf 2 message (was called RegisterInterface). use extended version below
RegisterInterface(Integer iMsg String sMsgName String sParams String sComment)
add extended interface.
RemoveInterface(Integer iMsg)
RegisterStandardInterface()
- 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.
- Integer
InterfaceMessageCount()
- String
InterfaceMessageName(Integer iItem)
retrieve interface Name (w/ proper casing), Id, Params, and Comments based on passed ID.
- String
InterfaceMessageId(Integer iItem)
- String
InterfaceMessageParams(Integer iItem)
- String
InterfaceMessageComment(Integer iItem)
- Integer
InterfaceMessageParamCount(Integer iItem)
- Integer
InterfaceMessageParamType(Integer iItem Integer iParam)
- Integer
iParamType
- String
InterfaceMessageParamTypeName(Integer iItem Integer iParam)
- String
sParamTypeName
- Integer
InterfaceMessageParamDimCount(Integer iItem Integer iParam)
- Integer
iParamDimCount
- String
InterfaceMessageParamName(Integer iItem Integer iParam)
- String
sParamName
- Integer
InterfaceMessageParamByRef(Integer iItem Integer iParam)
- Integer
iParamByRef
- String
InterfaceTypeDefinitions(string sNSPre string sNsURI)
- String
sTypes
- String
WebRequestServiceName(Address pVdfISData)
- String
sName
- Integer
InterfaceMessageIsExtended(Integer iItem)
Is message extended. Determines how sParams is parsed
- 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
iErr - String
sErrMsg - String
sMsgName - String
sName - Boolean
bConvert