Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || Rooms

DEFINITION StandardDoors


DEFINITION StandardDoors;

   IMPORT
      ConstStrings, Events, Rooms, Shards;

   TYPE
      Door = POINTER TO DoorRec;
      DoorRec =
	 RECORD
	    (Rooms.DoorRec)
	 END;

   CONST
      noPermission = 0;		(* operation was not permitted *)
      cannotLeave = 1;		(* cannot leave room *)
      notOperational = 2;	(* door has been shut down *)
      errorcodes = 3;

   TYPE
      ErrorEvent = POINTER TO ErrorEventRec;
      ErrorEventRec =
	 RECORD
	    (Events.EventRec)
	    errorcode: SHORTINT;
	 END;

   VAR
      errormsg: ARRAY errorcodes OF Events.Message;
      error: Events.EventType;

   PROCEDURE Create(VAR door: Rooms.Door; VAR auth: Shards.Lid;
		     name, comment: ConstStrings.String; room: Rooms.Room);
      (* comment may be NIL if door shall not speak when going thru *)

END StandardDoors.

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || Rooms

Andreas Borchert, 29. Januar 2001