Log.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. MODULE Log;
  2. (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/Log.odc *)
  3. (* DO NOT EDIT *)
  4. IMPORT Kernel;
  5. TYPE
  6. Hook* = POINTER TO ABSTRACT RECORD (Kernel.Hook) END;
  7. VAR
  8. synch*: BOOLEAN; (* ~synch => output only on FlushBuf *)
  9. force*: BOOLEAN; (* force => every call causes a Views.Restore *)
  10. hook: Hook;
  11. PROCEDURE (log: Hook) Guard* (o: ANYPTR): BOOLEAN, NEW, ABSTRACT;
  12. PROCEDURE (log: Hook) ClearBuf*, NEW, ABSTRACT;
  13. PROCEDURE (log: Hook) FlushBuf*, NEW, ABSTRACT;
  14. PROCEDURE (log: Hook) Beep*, NEW, ABSTRACT;
  15. PROCEDURE (log: Hook) Char* (ch: CHAR), NEW, ABSTRACT;
  16. PROCEDURE (log: Hook) Int* (n: INTEGER), NEW, ABSTRACT;
  17. PROCEDURE (log: Hook) Real* (x: REAL), NEW, ABSTRACT;
  18. PROCEDURE (log: Hook) String* (IN str: ARRAY OF CHAR), NEW, ABSTRACT;
  19. PROCEDURE (log: Hook) Bool* (x: BOOLEAN), NEW, ABSTRACT;
  20. PROCEDURE (log: Hook) Set* (x: SET), NEW, ABSTRACT;
  21. PROCEDURE (log: Hook) IntForm* (x: INTEGER; base, minWidth: INTEGER; fillCh: CHAR;
  22. showBase: BOOLEAN), NEW, ABSTRACT;
  23. PROCEDURE (log: Hook) RealForm* (x: REAL; precision, minW, expW: INTEGER;
  24. fillCh: CHAR), NEW, ABSTRACT;
  25. PROCEDURE (log: Hook) Tab*, NEW, ABSTRACT;
  26. PROCEDURE (log: Hook) Ln*, NEW, ABSTRACT;
  27. PROCEDURE (log: Hook) Para*, NEW, ABSTRACT;
  28. PROCEDURE (log: Hook) View* (v: ANYPTR), NEW, ABSTRACT;
  29. PROCEDURE (log: Hook) ViewForm* (v: ANYPTR; w, h: INTEGER), NEW, ABSTRACT;
  30. PROCEDURE (log: Hook) ParamMsg* (IN s, p0, p1, p2: ARRAY OF CHAR), NEW, ABSTRACT;
  31. PROCEDURE SetHook*(h: Hook);
  32. BEGIN
  33. hook := h
  34. END SetHook;
  35. PROCEDURE ClearBuf*;
  36. BEGIN
  37. IF hook # NIL THEN hook.ClearBuf END
  38. END ClearBuf;
  39. PROCEDURE FlushBuf*;
  40. BEGIN
  41. IF hook # NIL THEN hook.FlushBuf END
  42. END FlushBuf;
  43. PROCEDURE Guard* (o: ANYPTR): BOOLEAN;
  44. BEGIN
  45. RETURN (hook # NIL) & hook.Guard(o)
  46. END Guard;
  47. PROCEDURE Beep*;
  48. BEGIN
  49. IF hook # NIL THEN hook.Beep() END
  50. END Beep;
  51. PROCEDURE Char* (ch: CHAR);
  52. BEGIN
  53. IF hook # NIL THEN hook.Char(ch) END
  54. END Char;
  55. PROCEDURE Int* (n: INTEGER);
  56. BEGIN
  57. IF hook # NIL THEN hook.Int(n) END
  58. END Int;
  59. PROCEDURE Real* (x: REAL);
  60. BEGIN
  61. IF hook # NIL THEN hook.Real(x) END
  62. END Real;
  63. PROCEDURE String* (str: ARRAY OF CHAR);
  64. BEGIN
  65. IF hook # NIL THEN hook.String(str) END
  66. END String;
  67. PROCEDURE Bool* (x: BOOLEAN);
  68. BEGIN
  69. IF hook # NIL THEN hook.Bool(x) END
  70. END Bool;
  71. PROCEDURE Set* (x: SET);
  72. BEGIN
  73. IF hook # NIL THEN hook.Set(x) END
  74. END Set;
  75. PROCEDURE IntForm* (x: INTEGER; base, minWidth: INTEGER; fillCh: CHAR; showBase: BOOLEAN);
  76. BEGIN
  77. IF hook # NIL THEN hook.IntForm(x, base, minWidth, fillCh, showBase) END
  78. END IntForm;
  79. PROCEDURE RealForm* (x: REAL; precision, minW, expW: INTEGER; fillCh: CHAR);
  80. BEGIN
  81. IF hook # NIL THEN hook.RealForm(x, precision, minW, expW, fillCh) END
  82. END RealForm;
  83. PROCEDURE Tab*;
  84. BEGIN
  85. IF hook # NIL THEN hook.Tab END
  86. END Tab;
  87. PROCEDURE Ln*;
  88. BEGIN
  89. IF hook # NIL THEN hook.Ln END
  90. END Ln;
  91. PROCEDURE Para*;
  92. BEGIN
  93. IF hook # NIL THEN hook.Para END
  94. END Para;
  95. PROCEDURE View* (v: ANYPTR);
  96. BEGIN
  97. IF hook # NIL THEN hook.View(v) END
  98. END View;
  99. PROCEDURE ViewForm* (v: ANYPTR; w, h: INTEGER);
  100. BEGIN
  101. IF hook # NIL THEN hook.ViewForm(v, w, h) END
  102. END ViewForm;
  103. PROCEDURE ParamMsg* (s, p0, p1, p2: ARRAY OF CHAR);
  104. BEGIN
  105. IF hook # NIL THEN hook.ParamMsg(s, p0, p1, p2) END
  106. END ParamMsg;
  107. PROCEDURE Msg* (s: ARRAY OF CHAR);
  108. BEGIN
  109. ParamMsg(s, "", "", "")
  110. END Msg;
  111. BEGIN
  112. synch := TRUE; force := FALSE
  113. END Log.