(*
  .name         CmdNodes
  .task         datatype CmdNode
  .release      1.0
  .language     Oberon-2
  .translator   Amiga Oberon 3.2
  .system req.  AmigaOS 2.04 or higher
  .author       Joachim Barheine
  .address      Hochgrevestr. 3, 38640 Goslar
  .copyright    (c) 1995 by J.Barheine
*)

(* .info: 28/03/95, 17:49:11, version 1 *)

MODULE CmdNodes;

IMPORT
  IO:= IOServer,
  K:= Kernel,
  W:= Windows;

TYPE
  ExecRexxEntry* = PROCEDURE (w: W.Window; string: ARRAY OF CHAR;
                              isFile: BOOLEAN): BOOLEAN;
  HandleRexxEntry* = PROCEDURE (w: W.Window): SHORTINT;

  CmdNode* = UNTRACED POINTER TO CmdNodeDesc;
  CmdNodeDesc* = RECORD (K.ANYDesc)
    string- : K.DynString;
    itemID- : INTEGER;              (* K.undef --> no connencted item *)
    isFile- , global- : BOOLEAN;    (* string is command file? *)
  END;

VAR
  ExecRexx*: ExecRexxEntry;
  HandleRexx*: HandleRexxEntry;

PROCEDURE CreateNode* (string: K.DynString; itemID: INTEGER;
                       isFile, global: BOOLEAN): CmdNode;

VAR
  n: CmdNode;

BEGIN
  NEW(n);
  n.string:= string;
  n.itemID:= itemID;
  n.isFile:= isFile;
  n.global:= global;
  RETURN n;
END CreateNode;

END CmdNodes.