mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1962 lines
53 KiB
1962 lines
53 KiB
'TB BVT
|
|
'
|
|
|
|
|
|
' WARNING: This is a piece of junk. No warrantee implied.
|
|
'spaghetti, not authored by me, just scribbled by me, (ajohnh, some time in '95)
|
|
'
|
|
'$DEFINE MSTEST32
|
|
'$IFDEF MSTEST32
|
|
'$INCLUDE 'd:\mt32\inc\declares.inc'
|
|
'$INCLUDE 'd:\mt32\inc\tbpoke.h'
|
|
'$ELSE
|
|
'$INCLUDE 'D:\msdev\include\RECORDER.INC'
|
|
'$include 'D:\msdev\include\winapi.inc'
|
|
'$INCLUDE 'D:\MSDEV\INCLUDE\TBPOKE.H'
|
|
'$ENDIF
|
|
'//////////////////////////////////////////
|
|
'////// borrowed from my in-work TBPoke:
|
|
'logging
|
|
global sOutLogName as string
|
|
global sScriptName as string
|
|
global sComment as string
|
|
|
|
global hwndViewport as long
|
|
global lCountSpace as long
|
|
global lCountFunc as long
|
|
global lCountTab as long
|
|
global MAX_BLANK as long
|
|
global sFuncString as string
|
|
|
|
'end reporting
|
|
global sEndingMessage as string
|
|
global sEndTitle as string
|
|
|
|
'checkbox function
|
|
global sCheckbox as string
|
|
global lState as long
|
|
|
|
'system metrics
|
|
global ScreenX as long
|
|
global ScreenY as long
|
|
|
|
'time value
|
|
global MY_TIMEOUT as long
|
|
global PACER as long
|
|
|
|
global PARAMS as long
|
|
global NOPARAMS as long
|
|
|
|
global hwndTapiControl as hwndTAPI_CONTROL
|
|
global ScenarioLog as LOGINITSTRUCT
|
|
|
|
'$IFDEF MSTEST32
|
|
global sdwPrivileges(1 to 10) as string
|
|
global sdwMediaModes(1 to 30) as string
|
|
'$ELSE
|
|
global sdwPrivileges as array of string
|
|
global sdwMediaModes as array of string
|
|
'$ENDIF
|
|
|
|
global sPrivileges as string
|
|
global sMediaModes as string
|
|
|
|
'$IFDEF MSTEST32
|
|
global hLineApp(1 to 10) as string
|
|
global hLine(1 to 10) as string
|
|
global hCall(1 to 10) as string
|
|
'$ELSE
|
|
global hLineApp as array of string
|
|
global hLine as array of string
|
|
global hCall as array of string
|
|
'$ENDIF
|
|
|
|
redim sdwPrivileges(1 to 3) as string
|
|
redim sdwMediaModes(1 to 14) as string
|
|
|
|
global sdwNumRings as string
|
|
|
|
redim hLineApp(1 to 5) as string 'limit 5 for now
|
|
redim hLine(1 to 5) as string
|
|
redim hCall(1 to 5) as string
|
|
'redim hCall(5) as string
|
|
|
|
'$IFDEF MSTEST32
|
|
global hLineAppIndex as string*10
|
|
'$ELSE
|
|
global hLineAppIndex as pointer to string
|
|
'$ENDIF
|
|
|
|
global slpszDestAddress as string
|
|
|
|
'counts
|
|
global ldwPrivilegesBitFlag as long
|
|
global ldwMediaModesBitFlag as long
|
|
global ldwPrivilegesBitFlagChaos as long
|
|
global ldwMediaModesBitFlagChaos as long
|
|
|
|
global lLineApp as long
|
|
global lLine as long
|
|
global lCall as long
|
|
|
|
global GenCount as long
|
|
global lCountLineApp as long
|
|
global GenCount2 as long
|
|
|
|
global OutCount as long 'benchmarker
|
|
|
|
'coverage statistics
|
|
'not yet implemented
|
|
global TapiStatistic as TAPI_STATISTIC
|
|
|
|
global Tracelevel as long 'debug output
|
|
|
|
global Benchmark as long 'benchmarker
|
|
|
|
'duh
|
|
hwndTapiControl.TapiHandle = WFndWnd("TAPI32 Browser", FW_DEFAULT) 'find TAPI32 BROWSER
|
|
'by ID, note VT will probably be using the decimal form throughout:
|
|
hwndTapiControl.ParamsCheckbox =&h000003f9
|
|
hwndTapiControl.LineAppPlusButton =&h000003ee
|
|
hwndTapiControl.LineAppMinusButton =&h000003ef
|
|
hwndTapiControl.LinePlusButton =&h000003f0
|
|
hwndTapiControl.LineMinusButton =&h000003f1
|
|
hwndTapiControl.CallPlusButton =&h000003f2
|
|
hwndTapiControl.CallMinusButton =&h000003f3
|
|
hwndTapiControl.PhoneAppPlusButton =&h000003f4
|
|
hwndTapiControl.PhoneAppMinusButton =&h000003f5
|
|
hwndTapiControl.PhoneOpenPlusButton =&h000003f6
|
|
hwndTapiControl.PhoneOpenMinusButton =&h000003f7
|
|
hwndTapiControl.ClearEditButton =&h000003f8
|
|
hwndTapiControl.BlankButton0 =&h000003fa
|
|
hwndTapiControl.BlankButton1 =&h000003fb
|
|
hwndTapiControl.BlankButton2 =&h000003fc
|
|
hwndTapiControl.BlankButton3 =&h000003fd
|
|
hwndTapiControl.BlankButton4 =&h000003fe
|
|
hwndTapiControl.BlankButton5 =&h000003ff
|
|
hwndTapiControl.Listbox0 =&h000003e8 'middle box
|
|
hwndTapiControl.Listbox1 =&h000003e9 'left box
|
|
hwndTapiControl.Editbox =&h000003eb 'right box
|
|
|
|
'// assign
|
|
sOutLogName=curdir$ + "\tapibvt.log"
|
|
lCountSpace=0
|
|
lCountFunc=0
|
|
lCountTab=1
|
|
MAX_BLANK=20 'static
|
|
'const MY_TIMOUT=2*Benchmark '//THIS IS DEFINED AFTER BENCHMARK//
|
|
PACER = 1
|
|
PARAMS=1
|
|
NOPARAMS=0
|
|
const BUSYLINE="9,5569440" 'ISDN, switch will report busy
|
|
const ANSWERLINE="9,9366991" 'ITG dial-up modem pool
|
|
const NOLINE=" "
|
|
|
|
const sOutBenchName="benchmrk.txt" 'benchmarker
|
|
|
|
'$IFDEF MSTEST32
|
|
const LogTypeFile=1 '1 is for log to file
|
|
'$ENDIF
|
|
|
|
'debug; 0=no debug; 3 low, 2 med, 1 high --I know it is backward
|
|
Tracelevel=0
|
|
|
|
ScreenX=GetSystemMetrics(SM_CXSCREEN)
|
|
ScreenY=GetSystemMetrics (SM_CYSCREEN)
|
|
|
|
ScenarioLog.LogOutputType = LogTypeFile
|
|
ScenarioLog.MinDetailLevel = 3
|
|
ScenarioLog.ProductVersion = "4"
|
|
ScenarioLog.MachineName = "Undefined"
|
|
ScenarioLog.LogLocation = "tapibvt.log"
|
|
ScenarioLog.Language = "US English"
|
|
|
|
'WATCH IT
|
|
'dwPrivileges string in the form of sdwPrivileges
|
|
|
|
'change these to pointers ASAP
|
|
global NONE as long, MONITOR as long, OWNER as long
|
|
sdwPrivileges(1)="NONE"
|
|
NONE=1
|
|
sdwPrivileges(2)="MONITOR"
|
|
MONITOR=2
|
|
sdwPrivileges(3)="OWNER"
|
|
OWNER=3
|
|
|
|
'dwMediaModes string in the form of sdwMediaModes
|
|
'edit this, this is bulky & hacked:
|
|
|
|
global UNKNOWN as long, INTERACTIVEVOICE as long, AUTOMATEDVOICE as long
|
|
global DATAMODEM as long, G3FAX as long, TDD as long, G4FAX as long
|
|
global DIGITALDATA as long, TELETEX as long, VIDEOTEX as long
|
|
global TELEX as long, MIXED as long, ADSI as long, VOICEVIEW as long
|
|
|
|
sdwMediaModes(1)="UNKNOWN"
|
|
UNKNOWN=1
|
|
sdwMediaModes(2)="INTERACTIVEVOICE"
|
|
INTERACTIVEVOICE=2
|
|
sdwMediaModes(3)="AUTOMATEDVOICE"
|
|
AUTOMATEDVOICE=3
|
|
sdwMediaModes(4)="DATAMODEM"
|
|
DATAMODEM=4
|
|
sdwMediaModes(5)="G3FAX"
|
|
G3FAX=5
|
|
sdwMediaModes(6)="TDD"
|
|
TDD=6
|
|
sdwMediaModes(7)="G4FAX"
|
|
G4FAX=7
|
|
sdwMediaModes(8)="DIGITALDATA"
|
|
DIGITALDATA=8
|
|
sdwMediaModes(9)="TELETEX"
|
|
TELETEX=9
|
|
sdwMediaModes(10)="VIDEOTEX"
|
|
VIDEOTEX=10
|
|
sdwMediaModes(11)="TELEX"
|
|
TELEX=11
|
|
sdwMediaModes(12)="MIXED"
|
|
MIXED=12
|
|
sdwMediaModes(13)="ADSI"
|
|
ADSI=13
|
|
sdwMediaModes(14)="VOICEVIEW"
|
|
VOICEVIEW=14
|
|
|
|
dim StartTime as long 'for benchmarker
|
|
dim EndTime as long
|
|
|
|
'$IFDEF MSTEST32
|
|
declare function GenTimeOut(OutCount as string) 'generate/generic file-i/o
|
|
declare function PerfBox(OutCount as string)
|
|
declare function GenOut(sFuncString as string) 'generate/generic file-i/o
|
|
declare function GenOutFunc(sFuncString as string) 'generate file-i/o of current declare function
|
|
declare function GetFunc (sFuncString as string)
|
|
declare function IsRunaway(sFuncString as string) as string
|
|
declare function IsComment(sFuncString as string) as string
|
|
declare function SetCheckboxControl(sCheckbox as string, lState as long) as long
|
|
declare function HitOK() 'hits the OK button
|
|
declare function CallAPI(sFuncString as string, lState as long)
|
|
declare function SelectParam(sFuncString as string)
|
|
declare function SetParamValue(sFuncString as string)
|
|
'declare function SetParamValue(sFuncString as string,ParamValue as string)
|
|
declare function SelectBitFlag(sFuncString as string)
|
|
declare function EndMsg()
|
|
declare function CaptureEdit()
|
|
declare function MiddleSelect() 'not yet: sFuncString as string 'selects last item in .Listbox0
|
|
declare function lineGetProviderList()
|
|
declare function lineGetTranslateCaps()
|
|
declare function Box(sFuncString as string)
|
|
'declare function SelectLineApp(lLineApp as long) 'machine
|
|
declare function StartApps()
|
|
declare function StopApps()
|
|
declare function GenChaos() 'all globals
|
|
declare function lineInitialize(lLineApp as long) 'all globals; stipulate lLineApp for ease of array; for ex: lineInitialize(lLineApp); lLineApp being long
|
|
declare function LineShutdown(lLineApp as long) 'all globals
|
|
declare function SelectLineApp(lLineApp as long) 'all globals
|
|
declare function SelectLine(lLine as long) 'all globals; prep for lineMakeCall
|
|
declare function lineOpen(lLineApp as long, lLine as long, sPrivileges as string, sMediaModes as string)
|
|
declare function lineMakeCall(lLine as long, lCall as long, slpszDestAddress as string)
|
|
declare function lineDrop(lCall as long)
|
|
declare function lineDeallocateCall(lCall as long)
|
|
declare function lineAddToConference(lLine as long)
|
|
declare function lineAnswer()
|
|
declare function Abort()
|
|
declare function CheckErr(TAPIErr as string)
|
|
declare function lineClose(lLine)
|
|
declare function lineGetNewCalls(lLine as long)
|
|
declare function lineGetAddressStatus(lLine as long)
|
|
declare function lineGetCallInfo(lCall as long)
|
|
declare function lineGetCallStatus(lCall as long)
|
|
declare function lineSetAppSpecific(lCall as long)
|
|
declare function lineDial(lCall as long, slpszDestAddress as string)
|
|
declare function lineGetAddressCaps(lLineApp as long)
|
|
declare function lineGetAddressID(lLine as long)
|
|
declare function lineGetDevConfig()
|
|
declare function lineGetDevCaps(lLineApp as long)
|
|
declare function lineGetID(lLine as long) 'consider parameter Bit flags here
|
|
declare function lineGetLineDevStatus(lLine as long)
|
|
declare function lineGetNumRings(lLine as long)
|
|
declare function lineGetStatusMessages(lLine as long)
|
|
declare function lineHold(lCall as long)
|
|
declare function lineSetNumRings(lLine as long, sdwNumRings as string)
|
|
declare function lineSetStatusMessages(lLine as long)
|
|
declare sub play(text as string)
|
|
'$ENDIF
|
|
'/////////////////////////////////
|
|
'/////// END HEADER /////////////
|
|
'/////////////////////////////////
|
|
|
|
'prototypes
|
|
'lineInitialze()
|
|
'lineShutdown(hLineApp)
|
|
'lineOpen(hLineApp, dwDeviceID, lphLine, APIVersion, dwExtVersion, dwCallbackInstance, dwPrivileges, dwMediaModes, lpCallParams)
|
|
'
|
|
'BENCHMARKER 'hack hack hack
|
|
'delete benchmark file
|
|
if exists(sOutLogName) then
|
|
kill sOutLogName
|
|
end if
|
|
|
|
'timer is double precision
|
|
if exists(sOutBenchName) then
|
|
kill sOutBenchName
|
|
end if
|
|
|
|
StartTime=timer
|
|
|
|
for OutCount=1 to 100
|
|
' PerfBox(str$(OutCount))
|
|
GenTimeOut(str$(OutCount))
|
|
next OutCount
|
|
|
|
EndTime=timer
|
|
Benchmark=Endtime-StartTime
|
|
|
|
GenTimeOut("Benchmark: " + str$(Benchmark))
|
|
|
|
StatusBox Close
|
|
|
|
if Benchmark > 3 then
|
|
msgbox "YOUR SYSTEM REALLY SUCKS." + chr$(010) + chr$(010) + "Please use a faster system.", MB_OK OR MB_ICONEXCLAMATION, "Slow Bench Warning"
|
|
end if
|
|
|
|
function GenTimeOut(OutCount as string) 'generate/generic file-i/o
|
|
Open sOutBenchName for append as #1
|
|
print #1, OutCount + chr$(009) ' + time
|
|
Close #1
|
|
end function
|
|
|
|
function PerfBox(OutCount as string)
|
|
StatusBox "Profiling System Performance..." + chr$(010) + OutCount,0,0,300,100,TRUE,TRUE,"Courier",8,400
|
|
end function
|
|
|
|
'// set timout, now that we have benched
|
|
MY_TIMEOUT = 2 + (2 * Benchmark)
|
|
'//END BENCHMARKER
|
|
|
|
viewport on
|
|
viewport clear
|
|
|
|
'#if
|
|
'$IFDEF MSTEST32
|
|
'SET UP TRAP ROUTINE
|
|
TRAP KeyTrap FROM "T3Trap32.DLL" ALIAS "KeyTrap" 'or T3Trap16.DLL
|
|
Beep
|
|
STATUSBOX "HOT KEY PRESSED, ABORTING SCRIPT " + Time$
|
|
SLEEP 4
|
|
END 'ABORT SCRIPT
|
|
END TRAP
|
|
|
|
'MAIN SCRIPT
|
|
SetHotKey ASC("C"), 1 'TRAP Ctrl+c
|
|
Beep
|
|
STATUSBOX "Press CTRL+C to see this script ABORT"
|
|
Sleep 5'SLEEP FOREVER
|
|
STATUSBOX "This won't display, unless you BREAK and single step"
|
|
|
|
'$ELSE
|
|
on KeyPress (27,FSHIFT) call KeyPressHandler
|
|
sub KeyPressHandler (notification_data AS VARIANT)
|
|
statusbox close
|
|
'idyes:6 & idno:7
|
|
msgbox "Stop tests?", MB_YESNO OR MB_ICONQUESTION OR MB_DEFBUTTON2, "Interruption"
|
|
if idyes then
|
|
statusbox close
|
|
EndMsg()
|
|
End
|
|
end if
|
|
end sub
|
|
|
|
'$ENDIF
|
|
|
|
|
|
' // Run things
|
|
|
|
StartApps
|
|
|
|
'do these after apps are running, duh
|
|
hwndViewport = WFndWnd("Visual Test Viewport",FW_DEFAULT)
|
|
GenOut("Getting Some")
|
|
|
|
hwndTapiControl.TapiHandle= WFndWnd("TAPI32 Browser", FW_DEFAULT) 'find TAPI32 BROWSER
|
|
'by ID, note VT will probably be using the decimal form throughout:
|
|
|
|
WSetActWnd (hwndTapiControl.TapiHandle)
|
|
'maximize window so button clicks work
|
|
'WMaxWnd (hwndTapiControl.TapiHandle)
|
|
|
|
GenOut("Logfile= " + chr$(009) + curdir$+sOutLogName)
|
|
if Tracelevel > 2 then
|
|
GenOut("TAPI Browser handle= " + hex$(hwndTapiControl.TapiHandle))
|
|
GenOut("GetProcessHeap(): " + hex$(GetProcessHeap()))
|
|
GenOut("GetCurrentProcess(): " + hex$(GetCurrentProcess()))
|
|
GenOut("GetCurrentProcessID(): " + hex$(GetCurrentProcessID()))
|
|
GenOut("GetThread(): " + chr$(009) + hex$(GetCurrentThread()))
|
|
GenOut("GetCurrentThreadID(): " + hex$(GetCurrentThreadID()))
|
|
end if
|
|
GenOut(chr$(010)+chr$(010)+chr$(010))
|
|
|
|
WSetActWnd (hwndTapiControl.TapiHandle)
|
|
|
|
'ensure edit box is clean
|
|
'$IFDEF MSTEST32
|
|
WButtonClick _id(hwndTapiControl.ClearEditButton), MY_TIMEOUT 'do not uncheck this
|
|
'$ELSE
|
|
WButtonClick( _id(hwndTapiControl.ClearEditButton), MY_TIMEOUT ) 'do not uncheck this
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'START YOUR ENGINES
|
|
|
|
'lineGetProviderList()
|
|
WSetActWnd (hwndTapiControl.TapiHandle) 'scatter a few of these since ESP steals focus
|
|
'End Scenario
|
|
|
|
'********************
|
|
'********************
|
|
|
|
FUNKY:
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineMakeCall (stuff)"
|
|
'$ENDIF
|
|
Box("lineMakeCall (verify busy)")
|
|
GenOut("Scenario:" + chr$(009) + "lineMakeCall (verify busy)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineMakeCall lLine, lCall, BUSYLINE 'doing this stranglely for now
|
|
lineDrop(lCall)
|
|
lineDeallocateCall(lCall)
|
|
'lineClose(lLine)
|
|
'lineShutdown(lLineApp)
|
|
|
|
Box("lineMakeCall, (status)")
|
|
GenOut ("Scenario:" + chr$(009) + "lineMakeCall, (status)")
|
|
|
|
'line should be open from earlier routine
|
|
'lineInitialize(lLineApp)
|
|
'lineOpen(lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM)) 'doing this stranglely for now
|
|
lineMakeCall lLine, lCall, ANSWERLINE 'doing this stranglely for now
|
|
|
|
lineGetNewCalls(lLine)
|
|
lineGetAddressStatus(lLine)
|
|
lineGetCallInfo(lCall)
|
|
lineGetCallStatus(lCall)
|
|
lineSetAppSpecific(lCall)
|
|
|
|
lineDrop(lCall)
|
|
lineGetCallInfo(lCall)
|
|
lineGetCallStatus(lCall)
|
|
|
|
lineDeallocateCall(lCall)
|
|
|
|
Box("lineMakeCall, (lineGetAppSpecific)")
|
|
GenOut ("Scenario:" + chr$(009) + "lineMakeCall, (lineGetAppSpecific)")
|
|
|
|
lineMakeCall lLine, lCall, ANSWERLINE
|
|
lineDrop(lCall)
|
|
lineDeallocateCall(lCall)
|
|
|
|
Box("lineMakeCall, (Null lpszDestAddress)")
|
|
GenOut ("Scenario:" + chr$(009) + "lineMakeCall, (Null lpszDestAddress)")
|
|
|
|
lineMakeCall lLine, lCall, NOLINE
|
|
lineDial lCall, ANSWERLINE
|
|
|
|
lineDrop(lCall)
|
|
lineDeallocateCall(lCall)
|
|
lineClose(lLine)
|
|
lineShutdown(lLineApp)
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetAddressCaps (default)"
|
|
'$ENDIF
|
|
Box("lineGetAddressCaps (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetAddressCaps (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineGetAddressCaps(lLineApp)
|
|
lineShutdown(lLineApp)
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetAddressID (default)"
|
|
'$ENDIF
|
|
Box("lineGetAddressID (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetAddressID (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetAddressID(lLine)
|
|
lineClose(lLine)
|
|
lineShutdown(lLineApp)
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetAddressStatus (default)"
|
|
'$ENDIF
|
|
Box("lineGetAddressStatus (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetAddressStatus (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetAddressStatus(lLine)
|
|
lineClose(lLine)
|
|
lineShutdown(lLineApp)
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetDevConfig (default)"
|
|
'$ENDIF
|
|
Box("lineGetDevConfig (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetDevConfig (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineGetDevConfig 'no arguments, yet
|
|
lineShutdown(lLineApp)
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetDevCaps (default)"
|
|
'$ENDIF
|
|
Box("lineGetDevCaps (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetDevCaps (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineGetDevCaps(lLineApp)
|
|
lineShutdown(lLineApp)
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetID (default)"
|
|
'$ENDIF
|
|
Box("lineGetID (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetID (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetID(lLine)
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetLineDevStatus (default)"
|
|
'$ENDIF
|
|
Box("lineGetLineDevStatus (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetLineDevStatus (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetLineDevStatus(lLine)
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetNewCalls (default)"
|
|
'$ENDIF
|
|
Box("lineGetNewCalls (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetNewCalls (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetNewCalls(lLine)
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetNumRings (default)"
|
|
'$ENDIF
|
|
Box("lineGetNumRings (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetNumRings (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetNumRings(lLine)
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineGetStatusMessages (default)"
|
|
'$ENDIF
|
|
Box("lineGetStatusMessages (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineGetStatusMessages (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineGetStatusMessages(lLine)
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineHold (default)"
|
|
'$ENDIF
|
|
Box("lineHold (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineHold (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineMakeCall lLine, lCall, ANSWERLINE 'doing this stranglely for now
|
|
lineHold(lCall)
|
|
lineDrop(lCall)
|
|
lineDeallocateCall(lCall)
|
|
lineClose(lLine)
|
|
lineShutdown(lLineApp)
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineSetNumRings (default)"
|
|
'$ENDIF
|
|
Box("lineSetNumRings (default)")
|
|
GenOut("Scenario:" + chr$(009) + "lineSetNumRings (default)")
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
sdwNumRings="9"
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineSetNumRings lLine, sdwNumRings
|
|
lineShutdown(lLineApp) 'will close too
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
ENDME:
|
|
|
|
|
|
'END 'END 'END
|
|
|
|
'********************
|
|
'********************
|
|
'lineInitialize with one good pass, then individual null params
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineInitialize (many)"
|
|
'$ENDIF
|
|
Box("lineInitialize (many)")
|
|
WSetActWnd (hwndTapiControl.TapiHandle) 'freshen
|
|
|
|
for lLineApp= 0 to 4
|
|
CallAPI "lineInitialize",0
|
|
next lLineApp
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'Scenario "lineGetTranslateCaps"
|
|
'Box("lineGetTranslate")
|
|
' lineGetTranslateCaps()
|
|
'End Scenario
|
|
|
|
'********************
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineShutdown (many)"
|
|
'$ENDIF
|
|
Box("lineShutdown (many)")
|
|
|
|
for lLineApp= 0 to 4 'note # of lineInitializes, I was too lazy to set a constant for limit
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
next lLineApp
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateAPIVersion (valid)"
|
|
'$ENDIF
|
|
Box("lineNegotiateAPIVersion (valid)")
|
|
'*** disable params, lineInitialize, lineNegotiateAPIVersion with valids, lineShutdown
|
|
'disable params child
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
MiddleSelect
|
|
CallAPI "lineNegotiateAPIVersion",0
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateAPIVersion (invallow_valhi)"
|
|
'$ENDIF
|
|
Box("lineNegotiateAPIVersion (invallow_valhi)")
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineNegotiateAPIVersion with invallow and valhi
|
|
'*** disable params, lineShutdown
|
|
'no params
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineNegotiateAPIVersion",1
|
|
|
|
SelectParam("dwAPILowVersion")
|
|
SetParamValue("Invalid")
|
|
SelectParam("dwAPIHighVersion")
|
|
SetParamValue("Valid")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateAPIVersion (vallow_invalhi)"
|
|
'$ENDIF
|
|
Box("lineNegotiateAPIVersion (vallow_invalhi)")
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineNegotiateAPIVersion with vallow and invalhi
|
|
'*** disable params, lineShutdown
|
|
'need params
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineNegotiateAPIVersion",1
|
|
|
|
SelectParam("dwAPILowVersion")
|
|
SetParamValue("Invalid")
|
|
SelectParam("dwAPIHighVersion")
|
|
SetParamValue("Valid")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateAPIVersion (invallow_invalhi)"
|
|
'$ENDIF
|
|
Box("lineNegotiateAPIVersion (invallow_invalhi)")
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineNegotiateAPIVersion with invallow and invalhi
|
|
'*** disable params, lineShutdown
|
|
'no params
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineNegotiateAPIVersion",1
|
|
|
|
SelectParam("dwAPILowVersion")
|
|
SetParamValue("Invalid")
|
|
SelectParam("dwAPIHighVersion")
|
|
SetParamValue("Invalid")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateAPIVersion_invaldev"
|
|
'$ENDIF
|
|
Box("lineNegotiateAPIVersion (invaldev)")
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineNegotiateAPIVersion with invalid device
|
|
'*** disable params, lineShutdown
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineNegotiateAPIVersion",1
|
|
|
|
SelectParam("dwDeviceID")
|
|
SetParamValue("Invalid")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineNegotiateExtVersion"
|
|
'$ENDIF
|
|
Box("lineNegotiateExtVersion")
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineNegotiateExtVersion
|
|
'*** disable params, lineShutdown
|
|
'no params
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineNegotiateExtVersion",0
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineOpen with privilege
|
|
'*** disable params, lineShutdown
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "linOpen_privileges (none)"
|
|
'$ENDIF
|
|
Box("linOpen_privileges (none)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("None")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineOpen with privilege
|
|
'*** disable params, lineShutdown
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "linOpen_privileges (monitor)"
|
|
'$ENDIF
|
|
Box("linOpen_privileges (monitor)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Monitor")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineOpen with privilege
|
|
'*** disable params, lineShutdown
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "linOpen_privileges (owner)"
|
|
'$ENDIF
|
|
Box("linOpen_privileges (owner)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "linOpen_privileges (multi)"
|
|
'$ENDIF
|
|
Box("linOpen_privileges (multi)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("None")
|
|
HitOK
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Monitor")
|
|
HitOK
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
'*** BEGIN dwPrivileges, dwMediaModes strobing
|
|
'*** WATCH THIS: LOOP
|
|
'********************
|
|
'********************
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineOpen with defaults
|
|
'*** disable params, lineShutdown
|
|
|
|
'five times
|
|
for lLineApp = 0 to 4
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineOpen_MediaModes, sdwPrivileges, dwMediaModes.DATAMODEM (TB default)"
|
|
'$ENDIF
|
|
Box("lineOpen_MediaModes, dwPrivileges.NONE, dwMediaModes.DATAMODEM (TB default)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
CallAPI "lineOpen",0 'defaults are dwPrivileges.NONE, dwMediaModes.DATAMODEM
|
|
CallAPI "lineShutdown",0
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
next lLineApp
|
|
|
|
'********************
|
|
'********************
|
|
'*** matrix privileges and MediaModes (STRAIGHT THROUGH)
|
|
'*** dwMediaModes strobing
|
|
'*** [attemts most combos]
|
|
|
|
for ldwPrivilegesBitFlag = 1 to 3
|
|
'dwPrivileges string in the form of sdwPrivileges
|
|
|
|
for ldwMediaModesBitFlag = 1 to 14
|
|
|
|
'one day, change this to a cleaner array
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "lineOpen_MediaModes, (STRAIGHT THROUGH) " + sdwPrivileges(ldwPrivilegesBitFlag) + ", " + sdwMediaModes(ldwMediaModesBitFlag)
|
|
'$ENDIF
|
|
Box("lineOpen_MediaModes, (STRAIGHT THROUGH) " + sdwPrivileges(ldwPrivilegesBitFlag) + ", " + sdwMediaModes(ldwMediaModesBitFlag))
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag(sdwPrivileges(1)) 'clear default NONE (1)
|
|
SelectBitFlag(sdwPrivileges(ldwPrivilegesBitFlag)) 'set Bit flag
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag(sdwMediaModes(4)) 'clear default DATAMODEM (4)
|
|
SelectBitFlag(sdwMediaModes(ldwMediaModesBitFlag))
|
|
HitOK
|
|
|
|
MiddleSelect 'just select anything in the list box
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
next ldwMediaModesBitFlag
|
|
next ldwPrivilegesBitFlag
|
|
|
|
'********************
|
|
'********************
|
|
'*** END dwMediaModes (STRAIGHT THROUGH)
|
|
'********************
|
|
'********************
|
|
'********************
|
|
'********************
|
|
|
|
goto SKIPCHAOS
|
|
|
|
'********************
|
|
'********************
|
|
'*** matrix privileges and MediaModes (CHAOTIC)
|
|
'*** dwMediaModes strobing
|
|
'*** [try simultaneous operations]
|
|
CHAOS:
|
|
for GenCount=1 to 200
|
|
'not used: randomize TIMER 'for "bound-ed" chaos
|
|
'********************
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario ("lineOpen_MediaModes, (CHAOTIC)")
|
|
'$ENDIF
|
|
Box("lineOpen_MediaModes, (CHAOTIC)")
|
|
'do 5
|
|
for lLineApp= 0 to 4
|
|
LineInitialize(lLineApp) 'returns hLineApp(lLineApp)
|
|
next lLineApp
|
|
|
|
'begin Chaos translation here so I may retain my pretty matrix blocks & to increase hits
|
|
|
|
for lLineApp=0 to 4
|
|
GenChaos 'all globals
|
|
SelectLineApp(lLineApp)
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag(sdwPrivileges(1)) 'clear default NONE (1)
|
|
SelectBitFlag(sdwPrivileges(ldwPrivilegesBitFlagChaos)) 'set Bit flag
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag(sdwMediaModes(4)) 'clear default DATAMODEM (4)
|
|
SelectBitFlag(sdwMediaModes(ldwMediaModesBitFlagChaos))
|
|
HitOK
|
|
next lLineApp
|
|
|
|
'cleanup, do 5
|
|
'WILL NOT WORK WITHOUT HANDLES
|
|
for lLineApp= 0 to 4
|
|
LineShutdown(lLineApp)
|
|
next lLineApp
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
next GenCount
|
|
|
|
'********************
|
|
'********************
|
|
'*** END dwMediaModes (CHAOTIC)
|
|
'********************
|
|
'********************
|
|
'********************
|
|
'********************
|
|
|
|
SKIPCHAOS:
|
|
|
|
|
|
'********************
|
|
'********************
|
|
'********************
|
|
'********************
|
|
|
|
'********************
|
|
'********************
|
|
'*** disable params, lineInitialize
|
|
'*** enable params, lineOpen with privilege
|
|
'*** disable params, lineShutdown
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "linOpen_MediaModes (privileges_multi)"
|
|
'$ENDIF
|
|
Box("linOpen_MediaModes (privileges_multi)")
|
|
|
|
CallAPI "lineInitialize",0
|
|
|
|
|
|
'as owner
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag("DATAMODEM")
|
|
HitOK
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag("TELETEX")
|
|
HitOK
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag("TELEX")
|
|
HitOK
|
|
|
|
CallAPI "lineOpen",1
|
|
SelectParam("dwPrivileges")
|
|
SelectBitFlag("Owner")
|
|
SelectParam("dwMediaModes")
|
|
SelectBitFlag("INTERACTIVEVOICE")
|
|
HitOK
|
|
|
|
MiddleSelect
|
|
CallAPI "lineShutdown",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
'///////////////
|
|
|
|
' *************************
|
|
' ***** END TEST CASE *****
|
|
' *************************
|
|
|
|
|
|
'///////
|
|
'///////
|
|
'///////
|
|
|
|
|
|
'***** END END END END END END *****
|
|
|
|
StatusBox Close
|
|
EndMsg
|
|
End
|
|
|
|
'********************
|
|
'********************
|
|
|
|
JUNKY:
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
Scenario "Call Unimplemented APIs"
|
|
'$ENDIF
|
|
Box("Call Unimplemented APIs")
|
|
GenOut("Scenario:" + chr$(009) + "Call Unimplemented APIs")
|
|
|
|
'CallAPI "lineAddToConference",0 'requires two calls on one line
|
|
|
|
lLineApp=1
|
|
lLine=1
|
|
lCall=1
|
|
lineInitialize(lLineApp)
|
|
lineOpen lLineApp, lLine, sdwPrivileges(OWNER), sdwMediaModes(DATAMODEM) 'doing this stranglely for now
|
|
lineMakeCall lLine, lCall, BUSYLINE 'doing this stranglely for now
|
|
|
|
|
|
CallAPI "lineBlindTransfer",0 'requires call
|
|
CallAPI "lineCompleteCall",0 'requires call
|
|
'CallAPI "lineCompleteTransfer",0 'requires two calls on one line
|
|
CallAPI "lineDevSpecific",0 'requires line
|
|
CallAPI "lineDevSpecificFeature",0 'requires line
|
|
CallAPI "lineForward",0 'requires line
|
|
CallAPI "lineGatherDigits",0 'requires call
|
|
CallAPI "lineGenerateDigits",0 'requires call
|
|
CallAPI "lineGenerateTone",0 'requires call
|
|
|
|
|
|
lineDrop(lCall)
|
|
lineDeallocateCall(lCall)
|
|
|
|
|
|
CallAPI "lineGetConfRelatedCalls",0
|
|
CallAPI "lineGetRequest",0
|
|
CallAPI "lineMonitorDigits",0
|
|
CallAPI "lineMonitorMedia",0
|
|
CallAPI "lineMonitorTones",0
|
|
CallAPI "lineNegotiateExtVersion",0
|
|
CallAPI "linePark",0
|
|
CallAPI "linePickup",0
|
|
CallAPI "linePrepareAddToConference",0
|
|
CallAPI "lineRedirect",0
|
|
CallAPI "lineRegisterRequestRecipient",0
|
|
CallAPI "lineRemoveFromConference",0
|
|
CallAPI "lineSecureCall",0
|
|
CallAPI "lineSendUserUserInfo",0
|
|
CallAPI "lineSetAppSpecific",0
|
|
CallAPI "lineSetTerminal",0
|
|
CallAPI "lineSetTollList",0
|
|
CallAPI "lineSetupConference",0
|
|
CallAPI "lineSetupTransfer",0
|
|
CallAPI "lineSwapHold",0
|
|
CallAPI "lineUncompleteCall",0
|
|
CallAPI "lineUnhold",0
|
|
CallAPI "lineUnpark",0
|
|
|
|
'$IFDEF MSTEST32
|
|
'$ELSE
|
|
End Scenario
|
|
'$ENDIF
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
|
|
|
|
'********************
|
|
'********************
|
|
|
|
'Scenario "lineClose"
|
|
'
|
|
'do not need params
|
|
'SetCheckboxControl(_id(hwndTapiControl.ParamsCheckbox),0
|
|
'MiddleSelect
|
|
'SelectParam("lineClose")
|
|
'play "{ENTER}"
|
|
'
|
|
'CaptureEdit
|
|
'
|
|
'End Scenario
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'
|
|
'/**************************************************/
|
|
'FUNCTIONS
|
|
|
|
'Outputs, identical until global architecture change
|
|
function GenOut(sFuncString as string) 'generate/generic file-i/o
|
|
' // open logging file
|
|
box("Calling: " + sFuncString)
|
|
Open sOutLogName for append as #1
|
|
print #1, sFuncString + chr$(009) ' + time
|
|
print hwndViewport, sFuncString + chr$(009) '+ time
|
|
Close #1
|
|
end function
|
|
|
|
function GenOutFunc(sFuncString as string) 'generate file-i/o of current function
|
|
' // open logging file
|
|
box ("Calling: " + sFuncString)
|
|
Open sOutLogName for append as #1
|
|
print #1, sFuncString + chr$(009) + time$
|
|
print hwndViewport, sFuncString + chr$(009) + time$
|
|
Close #1
|
|
end function
|
|
|
|
|
|
'for TBPoke only: GetFunc runs the state core, remember to trim tabs
|
|
' this was from TBPoke, but it has been modified not to look for script file
|
|
function GetFunc (sFuncString as string)
|
|
sFuncString=""
|
|
'count the entries
|
|
lCountFunc=lCountFunc+1
|
|
sFuncString=trim$(sFuncString,009) 'trim tabs
|
|
sFuncString=trim$(sFuncString," ") 'whatever MST calls a space
|
|
sFuncString=trim$(sFuncString,255) 'trim truespace
|
|
if sFuncString=chr$(000) then sFuncString="COMMENT" 'ASCII null
|
|
end function
|
|
|
|
'Check for runaway file i/o read; consider it "IsCarriageReturn"
|
|
function IsRunaway(sFuncString as string) as string
|
|
if sFuncString="" then
|
|
lCountSpace=lCountSpace+1 'begin counting blank entries
|
|
if lCountSpace=MAX_BLANK then sFuncString="END"
|
|
else
|
|
lCountSpace=0
|
|
end if
|
|
end function
|
|
|
|
'Find comments
|
|
function IsComment(sFuncString as string) as string
|
|
select case(ucase$(left$(sFuncString,1)))
|
|
case ";"
|
|
sFuncString="COMMENT"
|
|
case "#"
|
|
sFuncString="COMMENT"
|
|
case "'"
|
|
sFuncString="COMMENT"
|
|
case ""
|
|
sFuncString="COMMENT"
|
|
'IsRunaway(sFuncString) 'count blanks to prevent infinite loop
|
|
'GenOut(sFuncString, hwndViewport)
|
|
end select
|
|
|
|
'find other comments
|
|
select case(left$(sFuncString,2))
|
|
case "//"
|
|
sFuncString="COMMENT"
|
|
end select
|
|
|
|
'find more comments, I know it is not model code, shut up
|
|
select case(left$(sFuncString,4))
|
|
case "REM " 'with space
|
|
sFuncString="COMMENT"
|
|
end select
|
|
|
|
end function 'IsComment
|
|
|
|
|
|
'toggle checkbox state, will leave focus on sCheckbox
|
|
function SetCheckboxControl(sCheckbox as string, lState as long) as long
|
|
select case(lState)
|
|
case 0
|
|
If WCheckState(sCheckbox) = CHECKED then
|
|
WCheckUnCheck sCheckbox,MY_TIMEOUT
|
|
if Tracelevel>=3 then GenOut ("Unchecking checkbox "+sCheckbox)
|
|
else
|
|
if Tracelevel>=2 then GenOut ("Error: Attempt to WCheckUnCheck unchecked checkbox "+sCheckbox)
|
|
end if
|
|
case 1
|
|
If WCheckState(sCheckbox) = UNCHECKED then
|
|
WCheckCheck sCheckbox,MY_TIMEOUT
|
|
if Tracelevel>=3 then GenOut ("Checking checkbox "+sCheckbox)
|
|
else
|
|
if Tracelevel>=2 then GenOut ("Error: Attempt to WCheckCheck checked checkbox "+sCheckbox)
|
|
end if
|
|
end select
|
|
end function
|
|
|
|
function HitOK 'hits the OK button
|
|
WButtonClick "OK", MY_TIMEOUT
|
|
CaptureEdit
|
|
|
|
end function
|
|
|
|
function CallAPI(sFuncString as string, lState as long)
|
|
if lState > 1 then GenOut("Error: lState is exceeds value of 1.")
|
|
GenOut("API:" + chr$(009) + sFuncString)
|
|
SetCheckboxControl _id(hwndTapiControl.ParamsCheckbox),lState
|
|
WListItemDblClk _id(hwndTapiControl.Listbox1), sFuncString, MY_TIMEOUT
|
|
if lState=0 then CaptureEdit 'so calling the API w/ default params gens output & HitOK gens output (see HitOK)
|
|
end function
|
|
|
|
function SelectParam(sFuncString as string)
|
|
GenOut("Parameter:" + chr$(009) + sFuncString)
|
|
WListFind "Parameters:", MY_TIMEOUT
|
|
WListItemDblClk "Parameters:", sFuncString, MY_TIMEOUT
|
|
end function
|
|
|
|
function SetParamValue(sFuncString as string)
|
|
GenOut("Parameter Value:" + chr$(009) + sFuncString)
|
|
WEditSetFocus "Value:", MY_TIMEOUT
|
|
select case(ucase$(sFuncString))
|
|
case ucase$("Null")
|
|
play "00000000"
|
|
case ucase$("Valid") 'WATCH THIS: dankn often displays English here
|
|
'leave it alone, default is VALID or valid value
|
|
'play "{DOWN}"
|
|
'play "{DOWN}"
|
|
case ucase$("Invalid")
|
|
play "ffffffff"
|
|
case else
|
|
GenOut("Error: Bad SetParamValue parameter: " + sFuncstring)
|
|
end select
|
|
end function
|
|
|
|
'global ParamValue as string 'put this at front
|
|
'function SetParamValue(sFuncString as string,ParamValue as string)
|
|
' SelectParam(sFuncString as string)
|
|
|
|
function SelectBitFlag(sFuncString as string)
|
|
GenOut("Select Bit Flag: " + sFuncString)
|
|
'lineOpen has defaults: dwPrivileges.NONE, dwMediaModes.DATAMODEM
|
|
WListFind "Bit flags:", MY_TIMEOUT
|
|
WListItemDblClk "Bit flags:", sFuncString, MY_TIMEOUT
|
|
'BitFlag[] sFuncString ;;;; soon add cleanup structure
|
|
end function
|
|
|
|
function EndMsg
|
|
sEndingMessage="TB BVT ended."
|
|
sEndTitle="Completed"
|
|
msgbox sEndingMessage, MB_OK, sEndTitle
|
|
end function
|
|
|
|
function CaptureEdit
|
|
'play "{ENTER}" 'assuming child window is in focus and OK button is selected
|
|
'GenOut("******************** TAPI Report ********************")
|
|
'GenOut(ListText(_id(hwndTapiControl.Listbox0, MY_TIMEOUT))
|
|
sleep 0.1 'take an i/o break
|
|
GenOut("TAPI Browser reports: ")
|
|
GenOut(EditText(_id(hwndTapiControl.Editbox) + chr$(010), MY_TIMEOUT))
|
|
'GenOut("******************** END REPORT *********************" + chr$(010 + chr$(010)
|
|
WButtonClick _id(hwndTapiControl.ClearEditButton), MY_TIMEOUT
|
|
end function
|
|
|
|
'>>++++
|
|
function MiddleSelect 'not yet: sFuncString as string 'selects last item in .Listbox0
|
|
WListSetFocus _id(hwndTapiControl.Listbox0), MY_TIMEOUT
|
|
'not yet: WListItemDblClk(_id(hwndTapiControl.Listbox0, sFuncString, MY_TIMEOUT)
|
|
play "{PGDN}"
|
|
end function
|
|
|
|
function lineGetProviderList
|
|
CallAPI "lineGetProviderList",0
|
|
end function
|
|
|
|
function lineGetTranslateCaps
|
|
CallAPI "lineGetTranslateCaps",0
|
|
Box("Dumping buffer")
|
|
sleep 1
|
|
Box("Dumping buffer")
|
|
sleep 1
|
|
end function
|
|
|
|
function Box(sFuncString as string)
|
|
'disabled, bug in statusbox is stealing focus
|
|
'StatusBox sFuncString + chr$(009),ScreenX-300,ScreenY-75,300,75,FALSE,FALSE,"Courier",8,400
|
|
end function
|
|
|
|
'function SelectLineApp(lLineApp as long) 'machine
|
|
' 'later revise to allow real-time monitor of handles
|
|
' 'select valid lineApp lLineApp, searching top to bottom, exit out having made selection
|
|
' 'It does look bad. If dankn's conventions stray too far, this will fail
|
|
' MiddleSelect
|
|
' if lLineApp > WListCount(_id(hwndTapiControl.Listbox0, MY_TIMEOUT) then
|
|
' GenOut("Error: BAD ONE, lLineApp of " + str$(lLineApp) + " exceeding WListCount of " + str$(WListCount(_id(hwndTapiControl.Listbox0, MY_TIMEOUT)))
|
|
' beep
|
|
' beep
|
|
' beep
|
|
' goto SKIPSelectLineApp
|
|
' end if
|
|
' play "{PGUP}"
|
|
' lCountLineApp=WListCount(_id(hwndTapiControl.Listbox0, MY_TIMEOUT)
|
|
' for GenCount = 1 to lCountLineApp
|
|
' 'do not down-arrow yet since first item is selected
|
|
' sLineApp=ListItemText(_id(hwndTapiControl.Listbox0, WListIndex(_id(hwndTapiControl.Listbox0,MY_TIMEOUT),MY_TIMEOUT)
|
|
' select case (left$(ucase$(sLineApp),9))
|
|
' case ucase$("LineApp=x") 'first half matches (this may happen with invalids too, so look on
|
|
' select case (val(right$(sLineApp,8)))
|
|
' case 0 'is an invalid, so index
|
|
' play "{DOWN}"
|
|
' case else 'hex value is non-zero, let us use it
|
|
' select case (WListIndex(_id(hwndTapiControl.Listbox0,MY_TIMEOUT))
|
|
' case (lLineApp) 'is this the index requested?
|
|
' GenCount=lCountLineApp 'return 'get out, leaving it focused
|
|
' case else 'is not lLineApp, so index
|
|
' play "{DOWN}"
|
|
' end select
|
|
' end select
|
|
' case else 'is not "LineApp=x", so index
|
|
' play "{DOWN}"
|
|
' end select 'THIS MESS DONE SINCE this shitty beta has horrible if-then nesting errors (not me!)
|
|
' next GenCount
|
|
' SKIPSelectLineApp: 'skip if lLineApp is bogus value
|
|
'end function
|
|
|
|
function StartApps
|
|
run "MTVIEW.EXE", nowait, SW_NORMAL
|
|
hwndViewport = WFndWnd("Visual Test Viewport",FW_DEFAULT,5) 'find Visual Test Viewport
|
|
if hwndViewport = 0 then
|
|
'$IFDEF MSTEST32
|
|
GenOut("MTVIEW.EXE application failed to start")
|
|
'$ELSE
|
|
fail "MTVIEW.EXE application failed to start"
|
|
'$ENDIF
|
|
end if
|
|
|
|
run "TB14.EXE" , nowait , SW_MAXIMIZE 'NOWAIT SW_NORMAL
|
|
sleep 2
|
|
hwndTapiControl.TapiHandle= WFndWnd("TAPI32 Browser", FW_DEFAULT,5) 'find TAPI32 BROWSER
|
|
if hwndTapiControl.TapiHandle= 0 then
|
|
'$IFDEF MSTEST32
|
|
GenOut("TB14.EXE TAPI Brower failed to start")
|
|
'$ELSE
|
|
fail "TB14.EXE TAPI Brower failed to start"
|
|
'$ENDIF
|
|
end if
|
|
end function
|
|
|
|
'not used:
|
|
function StopApps
|
|
hwndViewport = WFndWnd("Visual Test Viewport", FW_DEFAULT or FW_FOCUS)
|
|
if hwndViewport <> 0 then
|
|
Play "%{F4}" 'alt f4
|
|
end if
|
|
|
|
hwndTapiControl.TapiHandle = WFndWnd("TAPI32 Browser", FW_DEFAULT or FW_FOCUS)
|
|
if hwndTapiControl.TapiHandle <> 0 then
|
|
Play "%{F4}" 'alt f4
|
|
end if
|
|
end function
|
|
|
|
function GenChaos 'all globals
|
|
ldwPrivilegesBitFlagChaos=(int(rnd*3)+1)
|
|
ldwMediaModesBitFlagChaos=(int(rnd*14)+1)
|
|
Box("lineOpen_MediaModes, (CHAOS) LineApp " + str$(lLineApp) + ", " + sdwPrivileges(ldwPrivilegesBitFlagChaos) + ", " + sdwMediaModes(ldwMediaModesBitFlagChaos))
|
|
GenOut("lineOpen_MediaModes, (CHAOS)" + str$(ldwPrivilegesBitFlagChaos) +","+ str$(ldwMediaModesBitFlagChaos) + " LineApp " + str$(lLineApp) + ", " + sdwPrivileges(ldwPrivilegesBitFlagChaos) + ", " + sdwMediaModes(ldwMediaModesBitFlagChaos))
|
|
end function
|
|
|
|
function lineInitialize(lLineApp as long) 'all globals; stipulate lLineApp for ease of array; for ex: lineInitialize(lLineApp); lLineApp being long
|
|
CallAPI "lineInitialize",0 'create a LineApp
|
|
|
|
'lineApp is now open...
|
|
CallAPI "lineOpen",1 'cheat, use TB to provide clean handle
|
|
SelectParam("hLineApp") 'select the hLineApp of Params:
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
hLineApp(lLineApp)=EditText("Value:", MY_TIMEOUT) 'get pointer/handle string
|
|
if Tracelevel >= 1 then GenOut("New hLineApp=" + chr$(009) + hLineApp(lLineApp))
|
|
Abort
|
|
end function
|
|
|
|
function LineShutdown(lLineApp as long) 'all globals
|
|
CallAPI "lineShutdown",1
|
|
SelectParam("hLineApp")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'ready to enter handle
|
|
play hLineApp(lLineApp)
|
|
HitOK
|
|
end function
|
|
|
|
function SelectLineApp(lLineApp as long) 'all globals
|
|
MiddleSelect
|
|
WListItemClk _id(hwndTapiControl.Listbox0), "LineApp=x" + (hLineApp(lLineApp)), MY_TIMEOUT
|
|
end function
|
|
|
|
'not implemented
|
|
function SelectLine(lLine as long) 'all globals; prep for lineMakeCall
|
|
MiddleSelect
|
|
' (_id(hwndTapiControl.Listbox0, "Line=x" + (hLineApp(lLineApp)), MY_TIMEOUT)
|
|
end function
|
|
|
|
function lineOpen(lLineApp as long, lLine as long, sPrivileges as string, sMediaModes as string)
|
|
CallAPI "lineOpen",1 'child window is open and focused
|
|
SelectParam("hLineApp")
|
|
WEditSetFocus "Value:", MY_TIMEOUT
|
|
play hLineApp(lLineApp) 'handle of LineApp
|
|
|
|
SelectParam("dwPrivileges")
|
|
GenOut("Clearing default on following line:")
|
|
SelectBitFlag(sdwPrivileges(1)) 'clear default NONE (1)
|
|
SelectBitFlag(sPrivileges) 'set Bit flag
|
|
SelectParam("dwMediaModes")
|
|
GenOut("Clearing default on following line:")
|
|
SelectBitFlag(sdwMediaModes(4)) 'clear default DATAMODEM (4)
|
|
SelectBitFlag(sMediaModes)
|
|
|
|
HitOK
|
|
|
|
CallAPI "lineMakeCall",1 'cheat, use to get hLine value
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
hLine(lLine)=EditText("Value:", MY_TIMEOUT) 'get pointer/handle string
|
|
if Tracelevel >= 1 then GenOut("New hLine=" + chr$(009) + hLine(lLine))
|
|
Abort 'abort child
|
|
end function
|
|
|
|
function lineMakeCall(lLine as long, lCall as long, slpszDestAddress as string)
|
|
CallAPI "lineMakeCall",1 'child window is open and focused
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hLine(lLine) 'specify the handle
|
|
|
|
SelectParam("lpszDestAddress")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play slpszDestAddress
|
|
WButtonClick "OK", MY_TIMEOUT
|
|
sleep 5
|
|
|
|
'hide dialog
|
|
if slpszDestAddress <> " " then
|
|
WButtonFind "&Talk", 15 'use a way to wait for dialog
|
|
WSetActWnd (hwndTapiControl.TapiHandle) 'refocus TB
|
|
sleep 1
|
|
end if
|
|
|
|
'if slpszDestAddress <> " " then
|
|
' WSetWndPos ( WFndWnd("Call Status", FW_DEFAULT), ScreenX, ScreenY) 'find Call Status window
|
|
' sleep 15
|
|
'end if
|
|
|
|
'if slpszDestAddress <> " " then 'being caution of Talk/Hangup dialog
|
|
' sleep 12
|
|
' WButtonClick( "&Talk", MY_TIMEOUT + 10
|
|
'end if
|
|
'
|
|
|
|
CallAPI "lineDrop",1 'cheat, use to get hCall value
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT
|
|
hCall(lCall)=EditText("Value:", MY_TIMEOUT) 'get pointer/handle string
|
|
if Tracelevel >= 1 then GenOut("New hCall=" + chr$(009) + hCall(lCall))
|
|
Abort
|
|
end function
|
|
|
|
function lineDrop(lCall as long)
|
|
CallAPI "lineDrop",1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hCall(lCall) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineDeallocateCall(lCall as long)
|
|
CallAPI "lineDeallocateCall",1
|
|
Selectparam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hCall(lCall) 'specify handle
|
|
HitOK
|
|
end function
|
|
|
|
'not implemented; in-work
|
|
function lineAddToConference(lLine as long)
|
|
CallAPI "lineAddToConference",1
|
|
Selectparam("hLine")
|
|
'blah
|
|
end function
|
|
|
|
function lineAnswer
|
|
end function
|
|
|
|
function Abort
|
|
play "{ESC}" 'abort child
|
|
GenOut("Aborted child window: OK, probably getting handle here." + chr$(010))
|
|
end function
|
|
|
|
'not implemented
|
|
function CheckErr(TAPIErr as string)
|
|
'lineAddProvider returned LINEERR_INVALPOINTER
|
|
end function
|
|
|
|
function lineClose(lLine)
|
|
CallAPI "lineClose",1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hLine(lLine) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetNewCalls(lLine as long)
|
|
CallAPI "lineGetNewCalls",1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hLine(lLine) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetAddressStatus(lLine as long)
|
|
CallAPI "lineGetAddressStatus",1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hLine(lLine) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetCallInfo(lCall as long)
|
|
CallAPI "lineGetCallInfo", 1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hCall(lCall) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetCallStatus(lCall as long)
|
|
CallAPI "lineGetCallStatus", 1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus, no real reason
|
|
play hCall(lCall) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineSetAppSpecific(lCall as long)
|
|
CallAPI "lineSetAppSpecific", 1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hCall(lCall) 'specify the handle
|
|
HitOK
|
|
end function
|
|
|
|
function lineDial(lCall as long, slpszDestAddress as string)
|
|
CallAPI "lineDial", 1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hCall(lCall) 'specify the handle
|
|
|
|
SelectParam("lpszDestAddress")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play slpszDestAddress
|
|
|
|
WButtonClick "OK", MY_TIMEOUT
|
|
sleep 5
|
|
|
|
'hide dialog
|
|
WButtonFind "&Talk", 15 'use a way to wait for &Talk dialog
|
|
WSetActWnd (hwndTapiControl.TapiHandle) 'refocus TB
|
|
sleep 1
|
|
|
|
'WButtonClick( "&Talk", MY_TIMEOUT + 10
|
|
end function
|
|
|
|
function lineGetAddressCaps(lLineApp as long)
|
|
CallAPI "lineGetAddressCaps", 1
|
|
SelectParam("hLineApp")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLineApp(lLineApp)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetAddressID(lLine as long)
|
|
CallAPI "lineGetAddressID", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetDevConfig
|
|
'ensure a LineApp is open when calling lineGetDevConfig
|
|
CallAPI "lineGetDevConfig", 0
|
|
end function
|
|
|
|
function lineGetDevCaps(lLineApp as long)
|
|
Box("Dumping buffer")
|
|
CallAPI "lineGetDevCaps", 1
|
|
SelectParam("hLineApp")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLineApp(lLineApp)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetID(lLine as long) 'consider parameter Bit flags here
|
|
CallAPI "lineGetID", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetLineDevStatus(lLine as long)
|
|
CallAPI "lineGetLineDevStatus", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetNumRings(lLine as long)
|
|
CallAPI "lineGetNumRings", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
function lineGetStatusMessages(lLine as long)
|
|
CallAPI "lineGetStatusMessages", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
function lineHold(lCall as long)
|
|
CallAPI "lineHold", 1
|
|
SelectParam("hCall")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hCall(lCall)
|
|
HitOK
|
|
end function
|
|
|
|
function lineSetNumRings(lLine as long, sdwNumRings as string)
|
|
CallAPI "lineSetNumRings", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
|
|
SelectParam("dwNumRings")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play sdwNumRings
|
|
|
|
HitOK
|
|
end function
|
|
|
|
function lineSetStatusMessages(lLine as long)
|
|
CallAPI "lineSetStatusMessages", 1
|
|
SelectParam("hLine")
|
|
WEditSetFocus "Value:", MY_TIMEOUT 'set focus
|
|
play hLine(lLine)
|
|
HitOK
|
|
end function
|
|
|
|
sub play(text as string)
|
|
dokeys text
|
|
end sub
|
|
|
|
|
|
|
|
|
|
'truly the end
|