Oberon || Library || Module Index || Search Engine || Definition || Module
TYPE Object = Services.Object; TYPE ErrorEvent = POINTER TO ErrorEventRec; TYPE ErrorEventRec = RECORD (Events.EventRec) errorcode: SHORTINT; END; VAR errormsg: ARRAY errorcodes OF Events.Message; VAR error: Events.EventType;
PROCEDURE Create(VAR node: Names.Node; object: Object); PROCEDURE Destroy(node: Names.Node): BOOLEAN; PROCEDURE Get(node: Names.Node; VAR object: Object; errors: RelatedEvents.Object): BOOLEAN; PROCEDURE GuardedGet(node: Names.Node; guard: Services.Type; VAR object: Object; errors: RelatedEvents.Object): BOOLEAN;
Create creates a node representing object, i.e., messages sent to node will reach object, too. If object is NIL Create creates a node representing itself.
In order not to introduce a new termination method for the original object via Names.Destroy, destroy permission of node is especially restricted. A filter object node can however be revoked with Destroy.
Get assigns object the object which is represented by node. GuardedGet does the same, but only if the object's type is an extension of guard.
Oberon || Library || Module Index || Search Engine || Definition || Module