DIRECTORY IO USING [STREAM], Rope USING [ROPE], UserCredentials USING [defaultOptions, LoginOptions, State]; UserCredentialsBackdoor: CEDAR DEFINITIONS = BEGIN ROPE: TYPE ~ Rope.ROPE; STREAM: TYPE ~ IO.STREAM; GuestProcsRec: TYPE = RECORD [ IsGuestProcess: PROC [] RETURNS [isGuest: BOOL], GetState: PROC RETURNS [UserCredentials.State], ChangeState: PROC [new: UserCredentials.State] RETURNS [old: UserCredentials.State], Login: PROC [ startInteraction: PROC RETURNS [in, out: STREAM], endInteraction: PROC [in, out: STREAM], options: UserCredentials.LoginOptions _ UserCredentials.defaultOptions ], Get: PROC RETURNS [name, password: ROPE] ]; RegisterGuestProcs: PROC [newProcs: REF GuestProcsRec]; END. $UserCredentialsBackdoor.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Bob Hagmann, February 4, 1985 10:51:28 am PST Doug Wyatt, February 27, 1985 10:45:12 am PST This interface allows clients to register procedures in UserCredentials to implement guest processes. Κƒ– "cedar" style˜codešœΟc™Kšœ Οmœ1™