RemoteViewersTerminalsKernel.Mesa
Copyright Ó 1990, 1992 by Xerox Corporation. All rights reserved.
Last tweaked by Mike Spreitzer on July 14, 1992 8:32 am PDT
RemoteViewersTerminalsKernel:
CEDAR
DEFINITIONS = {
OPEN HAT:HostAndTerminalOps, TMS:TerminalMultiServing;
ROPE: TYPE ~ Rope.ROPE;
Host: TYPE ~ TMS.Host;
PVRMismatch: ERROR [other: HAT.ProtocolVersionRange];
SetViewersImpl:
PROC [
pvr: HAT.ProtocolVersionRange,
style: ROPE,
MakeAnother: PROC];
Will raise PVRMismatch if it's been previously called with a different pvr.
ViewersServer: TYPE ~ REF ViewersServerPrivate;
ViewersServerPrivate:
TYPE ~
RECORD [
style: ROPE,
StartServing: PROC [server: ViewersServer, host: Host],
Work: PROC [server: ViewersServer, in, out: IO.STREAM, host: Host, sessionDescr: ROPE, version: HAT.ProtocolVersion, Push: PushProc],
StopServing: PROC [ViewersServer],
Wake:
PROC [ViewersServer]
RETURNS [wasAwake:
BOOL],
Make your terminal visible, even if not serving.
data: REF ANY ¬ NIL
];
PushProc: TYPE ~ PROC [IO.STREAM];
AddViewersServer: PROC [ViewersServer];
GetViewersServerForHost: PROC [Host] RETURNS [ViewersServer];
}.