home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 20 / AACD20.BIN / AACD / Utilities / MultiRen / Developers / Template.mrp.e < prev    next >
Text File  |  2000-07-03  |  2KB  |  104 lines

  1. /* Template for making plugins for MultiRen in E.
  2.    Please use this template and change NOTHING in main() except
  3.    for the $VERsion-string!
  4.  
  5.    By Deniil 715! 2000-07-04, rev #2.
  6. */
  7.  
  8. CONST NUMSTRINGS_FOR_THIS_PLUGIN=1, -> Change this if you return more than 1 string
  9.       FILE_NAME_LENGTH=512,
  10.       COM_ASK=1,
  11.       COM_EXTRACT=2,
  12.       COM_CONFIGURE=3,
  13.       COM_ABOUT=4,
  14.       COM_QUIT=5,
  15.       ERR_OK=0,
  16.       ERR_NOMEM=1,
  17.       ERR_NOFILE=2,
  18.       ERR_NOSIG=3,
  19.       ERR_NOTIMPL=4,
  20.       ERR_UNKNOWN=5,
  21.       ERR_OTHER=6,
  22.       ERR_WRONGFORMAT=7,
  23.       ERR_NOINFO=8,
  24.       ERR_FATAL=20
  25.  
  26. OBJECT multiren_plugin
  27.  id:LONG
  28.  task:LONG
  29.  sig:LONG
  30.  return:INT
  31.  command:CHAR
  32.  numstrings:CHAR               -> You will
  33.  stringlist[256]:ARRAY OF LONG -> only use
  34.  name:PTR TO CHAR              -> these 4
  35.  newname:CHAR                  -> elements
  36. ENDOBJECT
  37.  
  38. DEF mrp:PTR TO multiren_plugin
  39.  
  40. PROC main()
  41.  DEF sel, sigbit, sig, mtask, msig
  42.  '$VER: Template v1.1 rev.#2 by Deniil 715! (2000-07-04)'
  43.  IF arg
  44.   IF mrp:=Val(arg)
  45.    IF mrp.id="MRPO"
  46.     IF (sigbit:=AllocSignal(-1))>=0
  47.      sig:=Shl(1,sigbit)
  48.      LOOP
  49.       sel:=mrp.command
  50.       SELECT sel
  51.       CASE COM_ASK
  52.        mtask:=mrp.task
  53.        msig:=mrp.sig
  54.        mrp.return:=ask()
  55.        SetProgramName(mrp.name)
  56.        mrp.task:=FindTask(NIL)
  57.        mrp.sig:=sig
  58.       CASE COM_EXTRACT   ; mrp.return:=extract()
  59.       CASE COM_CONFIGURE ; mrp.return:=config()
  60.       CASE COM_ABOUT     ; mrp.return:=about()
  61.       CASE COM_QUIT
  62.        FreeSignal(sigbit)
  63.        mrp.return:=cleanup()
  64.        Signal(mtask,msig)
  65.        RETURN
  66.       DEFAULT ; mrp.return:=ERR_UNKNOWN
  67.       ENDSELECT
  68.       Signal(mtask,msig)
  69.       Wait(sig)
  70.      ENDLOOP
  71.     ELSE
  72.      mrp.return:=ERR_NOSIG
  73.      Signal(mrp.task,mrp.sig)
  74.      RETURN
  75.     ENDIF
  76.    ENDIF
  77.   ENDIF
  78.  ENDIF
  79.  WriteF('This is a plugin for MultiRen!\n' +
  80.         'It is not supposed to be executed stand alone!\n' +
  81.         'Use it through the Renplacer tool in MultiRen instead!\n')
  82. ENDPROC ERR_FATAL
  83.  
  84. PROC ask()
  85.  mrp.numstrings:=NUMSTRINGS_FOR_THIS_PLUGIN
  86.  mrp.stringlist[0]:='<template>'
  87.  mrp.name:='<template>'
  88.  mrp.newname:=0 -> 0 = Request Old name, 1 = Request New name
  89. ENDPROC ERR_OK
  90.  
  91. PROC extract()
  92.  mrp.stringlist[0]:='<template>'
  93. ENDPROC ERR_OK
  94.  
  95. PROC config() IS ERR_NOTIMPL
  96.  
  97. PROC about()
  98.  req('About template..')
  99. ENDPROC ERR_OK
  100.  
  101. PROC cleanup() IS ERR_OK
  102.  
  103. PROC req(body,gads=NIL) IS EasyRequestArgs(NIL,
  104.          [20,0,'Template',body,IF gads THEN gads ELSE 'OK'],NIL,NIL)