home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netdor3.zip / DISK_13 / IMAGE12.ZIP / CATALOG / LIBREABE.CMD < prev    next >
OS/2 REXX Batch file  |  1993-09-20  |  3KB  |  112 lines

  1. /*****************************************************************************
  2.  *                    Licensed Materials-Property of IBM                     *
  3.  *               5604-472 (c) Copyright IBM Corporation, 1993                *
  4.  *                           All rights reserved.                            *
  5.  *                  US Government Users Restricted Rights -                  *
  6.  *                 Use, duplication or disclosure restricted                 *
  7.  *                by GSA ADP Schedule Contract with IBM Corp.                *
  8.  *****************************************************************************
  9.  * Configuration back-end for LIBREA                                         *
  10.  *****************************************************************************/
  11. trace 'O'
  12. signal on syntax
  13. signal on novalue
  14. call on halt
  15. call rxfuncadd 'CADDINIT', 'RXCADD', 'CADDINIT'
  16. Ver = 'CAddInit'()
  17. if abbrev(Ver, 'ERROR:')
  18.   then exit 200
  19. Title = RxCAdd.STitle 'Installation'
  20. XCode = 0
  21. if 'REGFUNC'('COUENV') <> 0
  22.   then call AddExit 206, 'Error registering COUENV.DLL.'
  23. select
  24.   when RxCAdd.OpType = 'ADD'
  25.     then do
  26.         XCode = RunItl('LIBREABE.ITL')
  27.     end
  28.   when RxCAdd.OpType = 'REMOVE'
  29.     then do
  30.       XCode = RunItl('LIBREABE.ITL')
  31.     end
  32.   otherwise do
  33.     call 'MessageBox' Title, 'Unexpected operation type "'RxCAdd.OpType'"'
  34.     XCode = 201
  35.   end
  36. end
  37. call AddExit XCode
  38.  
  39. RunItl: procedure expose RXCADD.
  40. parse arg ItlName
  41. CDr = RxCouInfo('GET', 'REMOTE')
  42. CDr = strip(CDr, 'T', '\')||'\'
  43. List = 'VERSION STITLE OPTYPE PREVIOUS'
  44. do I = 1 to words(List)
  45.   Name = 'RXCADD.'word(List, I)
  46.   call value Name, value(Name), 'OS2ENVIRONMENT'
  47. end I
  48. do I = 1 to RXCADD.PROGINFO.0
  49.   call value 'RXCADD.PROGINFO.'I, RXCADD.PROGINFO.I, 'OS2ENVIRONMENT'
  50. end I
  51. if pos('\', ItlName) = 0
  52.   then do
  53.     parse source . . Me
  54.     ItlName = left(Me, lastpos('\', Me))||ItlName
  55.   end
  56. '@CALL' CDr'IMPIT.CMD /R:'ItlName '/NOPAUSE'
  57. return rc
  58.  
  59. AddExit:
  60. parse arg XCode, Msg
  61. if XCode = ''
  62.   then XCode = 0
  63. if Msg <> ''
  64.   then call 'MessageBox' Title, Msg
  65. call 'CAddComplete' XCode
  66. call 'CAddExit'
  67. exit XCode
  68.  
  69. /***********************************************************************
  70.  *                             ERROR TRAPS                             *
  71.  ***********************************************************************/
  72. BugInit:
  73. signal off error; signal off failure; signal off halt
  74. signal off novalue; signal off notready; signal off syntax
  75. parse upper source . . Me
  76. if symbol('TITLE') = 'LIT'
  77.   then Title = 'COREADD Failure'
  78. Me = Me':'||'0A'x
  79. if symbol('GLOBALS') = 'LIT'
  80.   then do
  81.     Globals = 'TrVal'
  82.     TrVal = 'O'
  83.   end
  84. return
  85.  
  86. Halt:
  87. Where = SigL
  88. call BugInit
  89. call 'MessageBox' Title, Me||'Execution halted by user in line' Where
  90. XXC = 204
  91. signal DebugExit
  92.  
  93. Syntax:
  94. Where = SigL
  95. call BugInit
  96. call 'MessageBox' Title,,
  97.     Me||'Syntax error' rc '('errortext(rc)') in line' Where'.'
  98. XXC = 203
  99. signal DebugExit
  100.  
  101. Novalue:
  102. Where = SigL
  103. call BugInit
  104. call 'MessageBox' Title, Me||'NOVALUE error ('condition('D')') in line' Where'.'
  105. XXC = 203
  106. signal DebugExit
  107.  
  108. DebugExit:
  109. call 'CAddComplete' XXC
  110. call 'CAddExit'
  111. exit XXC
  112.