home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vrxda.zip / Client.VRX < prev    next >
Text File  |  1995-08-24  |  7KB  |  268 lines

  1. /*:VRX         Main
  2. */
  3. /*  Main
  4. */
  5. Main:
  6. /*  Process the arguments.
  7.     Get the parent window.
  8. */
  9.     parse source . calledAs .
  10.     parent = ""
  11.     argCount = arg()
  12.     argOff = 0
  13.     if( calledAs \= "COMMAND" )then do
  14.         if argCount >= 1 then do
  15.             parent = arg(1)
  16.             argCount = argCount - 1
  17.             argOff = 1
  18.         end
  19.     end; else do
  20.         call VROptions 'ImplicitNames'
  21.         call VROptions 'NoEchoQuit'
  22.     end
  23.     InitArgs.0 = argCount
  24.     if( argCount > 0 )then do i = 1 to argCount
  25.         InitArgs.i = arg( i + argOff )
  26.     end
  27.     drop calledAs argCount argOff
  28.  
  29. /*  Load the windows
  30. */
  31.     call VRInit
  32.     parse source . . spec
  33.     _VREPrimaryWindowPath = ,
  34.         VRParseFileName( spec, "dpn" ) || ".VRW"
  35.     _VREPrimaryWindow = ,
  36.         VRLoad( parent, _VREPrimaryWindowPath )
  37.     drop parent spec
  38.     if( _VREPrimaryWindow == "" )then do
  39.         call VRMessage "", "Cannot load window:" VRError(), ,
  40.             "Error!"
  41.         _VREReturnValue = 32000
  42.         signal _VRELeaveMain
  43.     end
  44.  
  45. /*  Process events
  46. */
  47.     call Init
  48.     signal on halt
  49.     do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
  50.         _VREEvent = VREvent()
  51.         interpret _VREEvent
  52.     end
  53. _VREHalt:
  54.     _VREReturnValue = Fini()
  55.     call VRDestroy _VREPrimaryWindow
  56. _VRELeaveMain:
  57.     call VRFini
  58. exit _VREReturnValue
  59.  
  60. VRLoadSecondary:
  61.     __vrlsWait = abbrev( 'WAIT', translate(arg(2)), 1 )
  62.     if __vrlsWait then do
  63.         call VRFlush
  64.     end
  65.     __vrlsHWnd = VRLoad( VRWindow(), VRWindowPath(), arg(1) )
  66.     if __vrlsHWnd = '' then signal __vrlsDone
  67.     if __vrlsWait \= 1 then signal __vrlsDone
  68.     call VRSet __vrlsHWnd, 'WindowMode', 'Modal' 
  69.     __vrlsTmp = __vrlsWindows.0
  70.     if( DataType(__vrlsTmp) \= 'NUM' ) then do
  71.         __vrlsTmp = 1
  72.     end
  73.     else do
  74.         __vrlsTmp = __vrlsTmp + 1
  75.     end
  76.     __vrlsWindows.__vrlsTmp = VRWindow( __vrlsHWnd )
  77.     __vrlsWindows.0 = __vrlsTmp
  78.     do while( VRIsValidObject( VRWindow() ) = 1 )
  79.         __vrlsEvent = VREvent()
  80.         interpret __vrlsEvent
  81.     end
  82.     __vrlsTmp = __vrlsWindows.0
  83.     __vrlsWindows.0 = __vrlsTmp - 1
  84.     call VRWindow __vrlsWindows.__vrlsTmp 
  85.     __vrlsHWnd = ''
  86. __vrlsDone:
  87. return __vrlsHWnd
  88.  
  89. /*:VRX         DC_1_ClientListen
  90. */
  91. DC_1_ClientListen: 
  92.     ok = VRSet( "EF_2", "Value", "Server stops listen thread" )
  93.     ok = VRSet( "PB_3", "Enabled", 1 )
  94.     ok = VRSet( "PB_2", "Enabled", 0 )
  95. return
  96.  
  97. /*:VRX         DC_1_CSError
  98. */
  99. DC_1_CSError: 
  100.     dah = VRInfo( "DAHandle");
  101.     ErrNo = VRInfo( "ErrNum");
  102.     ErrSev = VRInfo( "ErrSev");
  103.     ErrMsg = VRInfo( "ErrMsg");
  104.     call VRMethod "DC_1", "ErrorMessage"    
  105. return
  106.  
  107. /*:VRX         DC_1_DataReady
  108. */
  109. DC_1_DataReady: 
  110.     hConn = VRInfo( "DAHandle");
  111.     CmdID = VRInfo( "CmdID");
  112.     RespID = VRInfo( "RespID");
  113.     Data = VRInfo( "Data");
  114.     ok = VRSet( "EF_2", "Value", data )
  115.     if CmdID = "STOP_LISTEN" then do
  116.         ok = VRSet( "PB_3", "Enabled", 1 )
  117.         ok = VRSet( "PB_2", "Enabled", 0 )
  118.     end
  119. return
  120.  
  121. /*:VRX         DC_1_Disconnect
  122. */
  123. DC_1_Disconnect: 
  124.     call VRSet "PB_4", "Caption", "Connect..."
  125.     ok = VRSet( "PB_2", "Enabled", 1 )
  126.     ok = VRSet( "PB_3", "Enabled", 0 )
  127.     ok = VRSet( "EF_2", "Value", "Server closed connection" )
  128. return
  129.  
  130. /*:VRX         dumpvars
  131. */
  132. dumpvars: 
  133. say '9020 VRXDA_INVALID_HANDLE' VRXDA_INVALID_HANDLE
  134. say '9024 VRXDA_ERROR_NAME' VRXDA_ERROR_NAME
  135. say '1411 VRXDA_ALREADY_IDENTIFIED' VRXDA_ALREADY_IDENTIFIED
  136. say '1418 VRXDA_OPEN_TIMED_OUT' VRXDA_OPEN_TIMED_OUT
  137. say '1419 VRXDA_CLOSED_MAY_REUSE' VRXDA_CLOSED_MAY_REUSE
  138. say '1420 VRXDA_INVALID_REUSE' VRXDA_INVALID_REUSE
  139. say '1421 VRXDA_STATE_CHECK' VRXDA_STATE_CHECK
  140. say '2023 VRXDA_MOD_LOAD_FAILED' VRXDA_MOD_LOAD_FAILED
  141. say '2024 VRXDA_ERR_ENTRY_POINT' VRXDA_ERR_ENTRY_POINT
  142. say '2025 VRXDA_ERR_START_PARTNER' VRXDA_ERR_START_PARTNER
  143. say '2027 VRXDA_PARTNER_CLOSED' VRXDA_PARTNER_CLOSED
  144. say '2028 VRXDA_INVALID_PARTNER' VRXDA_INVALID_PARTNER
  145. say '2029 VRXDA_ERR_CP_PAIRING' VRXDA_ERR_CP_PAIRING
  146. say '2030 VRXDA_ERR_CHAR_TABLE' VRXDA_ERR_CHAR_TABLE
  147. say '2031 VRXDA_ERR_CHAR_CONVERT' VRXDA_ERR_CHAR_CONVERT
  148. say '2032 VRXDA_PROFILE_MISMATCH' VRXDA_PROFILE_MISMATCH
  149. say '2100 VRXDA_ERR_APPC' VRXDA_ERR_APPC
  150. say '2200 VRXDA_ERR_NP' VRXDA_ERR_NP
  151. say '2300 VRXDA_ERR_NETBIOS' VRXDA_ERR_NETBIOS
  152. say '2301 VRXDA_SHORT_ON_NB_RESOURCES' VRXDA_SHORT_ON_NB_RESOURCES
  153. say '3001 VRXDA_INVALID_FILE_OK' VRXDA_INVALID_FILE_OK
  154. say '3002 VRXDA_INVALID_FILE' VRXDA_INVALID_FILE
  155. say '3003 VRXDA_NO_ENTRY' VRXDA_NO_ENTRY
  156. say '3004 VRXDA_ERR_MEMORY' VRXDA_ERR_MEMORY
  157. say '3005 VRXDA_ERR_WRITE' VRXDA_ERR_WRITE
  158. say '3006 VRXDA_ERR_READ' VRXDA_ERR_READ
  159. say '3007 VRXDA_BAD_SYMBOLIC_NAME' VRXDA_BAD_SYMBOLIC_NAME
  160. say '3100 VRXDA_ERR_SERVER_THREAD' VRXDA_ERR_SERVER_THREAD
  161. say '3101 VRXDA_ERR_CLIENT_THREAD' VRXDA_ERR_CLIENT_THREAD
  162. say '3102 VRXDA_ALREADY_CONNECTED' VRXDA_ALREADY_CONNECTED
  163.  
  164. say '0 RETURN_CODE_OK' RETURN_CODE_OK
  165. say '1 RETURN_CODE_WARNING' RETURN_CODE_WARNING
  166. say '2 RETURN_CODE_ERROR_OK' RETURN_CODE_ERROR_OK
  167. say '3 RETURN_CODE_ERROR' RETURN_CODE_ERROR
  168.  
  169. return
  170.  
  171. /*:VRX         Fini
  172. */
  173. Fini:
  174.     window = VRWindow()
  175.     call VRSet window, "Visible", 0
  176.     drop window
  177. return 0
  178.  
  179. /*:VRX         Halt
  180. */
  181. Halt:
  182.     signal _VREHalt
  183. return
  184.  
  185. /*:VRX         Init
  186. */
  187. Init:
  188.  
  189.     call VRRedirectStdIO 'off'
  190.     window = VRWindow()
  191.     call VRMethod window, "CenterWindow"
  192.     call VRSet window, "Visible", 1
  193.     call VRMethod window, "Activate"
  194.     drop window
  195.     ok = VRMethod( "DC_1", "LoadVars");
  196.     if \VRGet( "DC_1", "Connected") then do
  197.         call VRSet "PB_4", "Caption", "Connect..."
  198.         ok = VRSet( "PB_2", "Enabled", 1 )
  199.         ok = VRSet( "PB_3", "Enabled", 0 )
  200.     end
  201.     else
  202.         ok = VRMethod( "DC_1", "SetClientData", "Captain Hook or Peter Pan?");
  203. return
  204.  
  205. /*:VRX         PB_1_Click
  206. */
  207. PB_1_Click: 
  208.     str = VRGet( "EF_1", "Value" )
  209.     value = VRGet( "EF_3", "Value" )
  210.     set = VRGet( "CB_1", "Set" )
  211.     ok = VRMethod( "DC_1", "SendData", value, str, 0, 0, 1, set);
  212. return
  213.  
  214. /*:VRX         PB_2_Click
  215. */
  216. PB_2_Click: 
  217.     ok = VRMethod( "DC_1", "StopListen")
  218.     if ok then do
  219.         ok = VRSet( "PB_3", "Enabled", 1 )
  220.         ok = VRSet( "PB_2", "Enabled", 0 )
  221.     end
  222. return
  223.  
  224. /*:VRX         PB_3_Click
  225. */
  226. PB_3_Click: 
  227.     ok = VRMethod( "DC_1", "StartListen")
  228.     if ok then do
  229.         ok = VRSet( "PB_2", "Enabled", 1 )
  230.         ok = VRSet( "PB_3", "Enabled", 0 )
  231.     end
  232. return
  233.  
  234. /*:VRX         PB_4_Click
  235. */
  236. PB_4_Click: 
  237.     if VRGet( "DC_1", "Connected") then do
  238.         ok = VRMethod( "DC_1", "CloseConnection");
  239.         call VRSet "PB_4", "Caption", "Connect..."
  240.         ok = VRSet( "PB_2", "Enabled", 1 )
  241.         ok = VRSet( "PB_3", "Enabled", 0 )
  242.     end
  243.     else do
  244.         ok = VRMethod( "DC_1", "OpenConnection");
  245.         call VRSet "PB_4", "Caption", "Disconnect..."
  246.         call PB_3_Click
  247.         ok = VRMethod( "DC_1", "SetClientData", "Captain Hook or Peter Pan?");
  248.     end
  249. return
  250.  
  251. /*:VRX         Quit
  252. */
  253. Quit:
  254.     if VRGet( "DC_1", "Connected") then
  255.         call VRMethod "DC_1", "CloseConnection"
  256.  
  257.     window = VRWindow()
  258.     call VRSet window, "Shutdown", 1
  259.     drop window
  260. return
  261.  
  262. /*:VRX         Window1_Close
  263. */
  264. Window1_Close:
  265.     call Quit
  266. return
  267.  
  268.