home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 10 / Fresh_Fish_10_2352.bin / new / dev / obero / oberon-a / examples / libraries / utility / hooks1.mod next >
Text File  |  1995-07-02  |  1KB  |  61 lines

  1. (*************************************************************************
  2.  
  3.      $RCSfile: Hooks1.mod $
  4.   Description: Example of a callback hook function.
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 1.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/07/02 17:00:43 $
  10.  
  11.   Copyright © 1994-1995, Frank Copeland.
  12.   This example program is part of Oberon-A.
  13.   See Oberon-A.doc for conditions of use and distribution.
  14.  
  15. *************************************************************************)
  16.  
  17. <* STANDARD- *>
  18.  
  19. MODULE Hooks1;
  20.  
  21. IMPORT SYS := SYSTEM, e := Exec, u := Utility, d := Dos;
  22.  
  23. CONST
  24.   VersionTag = "$VER: Hook1 1.4 (4.6.95)\r\n";
  25.   VersionStr = "Hook1 1.4 (4.6.95)\r\n";
  26.   AuthorStr = "Written by Frank Copeland\n";
  27.  
  28. VAR
  29.   myHook : u.HookPtr;
  30.  
  31. (*------------------------------------*)
  32. PROCEDURE* MyFunction
  33.   ( hook : u.HookPtr; obj : e.APTR; data : e.APTR )
  34.   : e.APTR;
  35.  
  36. <*$StackChk-*>
  37. BEGIN (* MyFunction *)
  38.   d.PrintF ("Inside MyFunction\n\n", NIL);
  39.   RETURN SYS.VAL (e.APTR, 1)
  40. END MyFunction;
  41.  
  42. (*------------------------------------*)
  43. PROCEDURE Main ();
  44.  
  45. BEGIN (* Main *)
  46.   ASSERT (u.base # NIL, 100);
  47.   NEW (myHook); u.InitHook (myHook, MyFunction);
  48.   IF u.CallHookPkt (myHook, NIL, NIL) = 1 THEN
  49.     d.PrintF ("Hook returned OK\n", NIL)
  50.   ELSE
  51.     d.PrintF ("Some problem with hook\n", NIL)
  52.   END
  53. END Main;
  54.  
  55. BEGIN (* Hooks1 *)
  56.   d.PrintF (VersionStr, NIL);
  57.   d.PrintF (AuthorStr, NIL);
  58.   d.PrintF ("\n", NIL);
  59.   Main ();
  60. END Hooks1.
  61.