G4C  - Routines.g - general purpose routines by D.Keletsekis (c)
;and butchered by Kevin Anderson    andersok@mail.bogo.co.uk

xRoutine ViewFile
if $rtn_var < '  '			; no variable..
   return
endif

DoCase $rtn_var
Case   H= 'FORM????ILBM'		; ILBM file
Case   H= 'FORM????ANIM'		; Animation file
Case   H= 'GIF'				; GIF file
Case   H= '??????JFIF'			; JPEG file
       RUN 'c:ppshow $rtn_var'
       return
       break
Case   H= 'FORM????8SVX'		; Sound sample
Case   H= 'RIFF????'                    ; Wav file
       RUN 'c:play16 $rtn_var'
       return
       break
Case   H= 'PP'				; PowerPacked file
       RUN 'c:ppmore $rtn_var'
       return
       break
Case   H= ?ime                          ; Base64 MIME file
       CLI 'Base64Decode $rtn_var autoname $.A.NetBar'
       return
       break
Case   H= ?egin????                     ; UUencoded file ?
       CD $.A.NetBar
       CLI 'c:uuhx x $rtn_var' 
       return
       break
Case   H= ??-lh				; LhA file
       CLI 'c:Lha x $rtn_var $.A.NetBar'
       return
       break
Case   H= lzx                           ; lzx file
       CLI 'c:lzx x $rtn_var $.A.NetBar'
       return
       break
Case   H= `                             ; Arj file (I hope)
       cd $.A.NetBar
       CLI 'unarj e $rtn_var'
       return
       break
Case   H= PK				; Zip file
       CLI 'c:unzip $rtn_var -d $.A.NetBar'
       return
       break
Case   H= '@' 				; Amigaguide (probably)
       RUN 'c:amigaguide $rtn_var'
       return
       break
Case   H= '%%%'				; A program/executable ? Tell user
       GoSub Rt.g ProgQuery
       return
       break

EndCase

Gosub Rt.g ProgQuery

;************** Program file type Query routine ***************

xRoutine ProgQuery

       EzReq 'Sorry but I cannot resolve the\nFileType what shall I do ?' Quit|Select NoWay
       If $NoWay = 0
         SetVar     SfileVar $rtn_var
         GuiLoad    :NetView		; no problem if already loaded
       Else
         ;Get the hell out of here
       EndIf
Return

delvar rtn_var
