Oberon || Library || Module Index || Search Engine || Definition || Module

Ulm's Oberon Library:


WebNames - provide a name space for web objects


TYPE NameSpace = POINTER TO NameSpaceRec;
TYPE NameSpaceRec =

PROCEDURE GetObject(space: NameSpace; path: Streams.Stream; VAR obj: NamedObjects.Object): BOOLEAN; PROCEDURE InsertObject(space: NameSpace; path: Streams.Stream; obj: NamedObjects.Object): BOOLEAN; PROCEDURE DeleteObject(space: NameSpace; path: Streams.Stream): BOOLEAN; PROCEDURE CreateNameSpace(VAR space: NameSpace);


The module WebNames uses a name space to insert, delete and resolve WebObjects. The hierachic name for each object ist evaluated to a sequence of flat names which are arranged like files and directories in a Unix file system. URL escape sequences (a percent sign and a two digit hex number, %XX) are allowed in the names. They are resolved before performing an operation. Simultaneous operations by different tasks are allowed. Synchronization problems are considered.

CreateNameSpace creates a new name space.

InsertObject inserts an object into the given name-space space under the supplied path. Necessary directory-nodes are inserted, too. With a successful insert the result is TRUE.

DeleteObject deletes object with given path from name-space space. Directory-nodes up to last fork are also deleted. The procedure returns FALSE if there are errors.

GetObject fetches object of a given path from name-space space. Returns FALSE if there are errors or if there is no object with that path in the space.


All procedures return TRUE on success, otherwise FALSE.


add Names functionality to arbitrary objects
abstraction for name hierarchies
stream operations


Manfred Rueß, University of Ulm


There may remain directory nodes if there is an error when deleting nodes.
Edited by: borchert, last change: 1998/04/24, revision: 1.1, converted to HTML: 1998/04/24

Oberon || Library || Module Index || Search Engine || Definition || Module