NameDBBackDoor.Mesa
Copyright Ó 1988 by Xerox Corporation. All rights reserved.
Last modified by Swinehart, August 25, 1988 9:08:29 am PDT
Export more of the implementation of NameDBImpl, for use by user-level utilities.
DIRECTORY
BasicTime USING [ GMT, nullGMT ],
LoganBerry USING [ Entry ],
Rope USING [ ROPE ],
RPC USING [ EncryptionKey ]
;
NameDBBackDoor: CEDAR DEFINITIONS = {
ROPE: TYPE = Rope.ROPE;
AttributeSeq: TYPE = LoganBerry.Entry;
KeyRope: PROC[key: RPC.EncryptionKey] RETURNS[keyRope: ROPE];
FetchAttribute: PROC[
attributes: AttributeSeq, attribute: ATOM, default: ROPENIL]
RETURNS [value: ROPE, valueLoc: AttributeSeq←NIL];
ExtractAttribute: PROC[
attributes: AttributeSeq, attribute: ATOM]
RETURNS [newAttributes: AttributeSeq←NIL];
StoreAttribute: PROC[attributes: AttributeSeq, attribute: ATOM, value: ROPE]
RETURNS[newAttributes: AttributeSeq];
Append: PROC[
a1, a2: AttributeSeq]
RETURNS [newAttributes: AttributeSeq];
RelTime: PROC[ropeTime: ROPE] RETURNS [relativeToNow: INT];
TimeRope: PROC [time: BasicTime.GMT ← BasicTime.nullGMT] RETURNS[nowRope: ROPE];
TAttr: PROC[attribute: ATOM, prefix: Rope.ROPE] RETURNS [tAttr: ATOM]
}.