UserProfileBackdoor.mesa;
Edited by Bob Hagmann on November 27, 1984 8:32:43 am PST
DIRECTORY
Rope USING [ROPE],
UserProfile USING [ProfileChangedProc, ProfileChangeReason]
;
UserProfileBackdoor: CEDAR DEFINITIONS = BEGIN
This interface allows clients to register procedures in UserProfile to implement guest processes.
GuestProcsRec: TYPE = RECORD [
IsGuestProcess: PROC [] RETURNS [isGuest: BOOL],
Boolean: PROC [key: Rope.ROPE, default: BOOLEANFALSE] RETURNS [value: BOOLEAN],
Number: PROC [key: Rope.ROPE, default: INT ← 0] RETURNS [value: INT],
Token: PROC [key: Rope.ROPE, default: Rope.ROPENIL] RETURNS [value: Rope.ROPE],
ListOfTokens: PROC [key: Rope.ROPE, default: LIST OF Rope.ROPENIL] RETURNS [value: LIST OF Rope.ROPE],
Line: PROC [key: Rope.ROPE, default: Rope.ROPENIL] RETURNS [value: Rope.ROPE],
GetProfileName: PROC RETURNS [Rope.ROPE],
CallWhenProfileChanges: PROC [proc: UserProfile.ProfileChangedProc],
ProfileChanged: PROC [reason: UserProfile.ProfileChangeReason]
];
RegisterGuestProcs: PROC [newProcs: REF GuestProcsRec];
END.