LarkRemoteControlImpl.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last Edited by: Swinehart, September 9, 1985 1:10:10 pm PDT
DIRECTORY
Commander USING [ CommandProc, Register ],
CommandTool USING [ NextArgument ],
Convert USING [ IntFromRope ],
LarkRemoteControl USING [ BootLark ],
LarkRemoteControlRpcControl USING [ ImportInterface ],
Rope USING [ ROPE ],
RPC USING [ ImportFailed ],
UserProfile USING [ Token ]
;
LarkRemoteControlImpl:
CEDAR
PROGRAM
IMPORTS Commander, CommandTool, Convert, LarkRemoteControl, LarkRemoteControlRpcControl, RPC, UserProfile = {
instance: Rope.ROPE ← NIL;
BootLark:
PROC[lark: Rope.
ROPE, serverInstance: Rope.
ROPE←
NIL]
RETURNS [outcome: BOOL←TRUE] ={
IF serverInstance#NIL THEN instance ← serverInstance;
IF instance=
NIL
THEN instance ←
UserProfile.Token[key: "NamesGVInstance", default: "Strowger.Lark"];
LarkRemoteControlRpcControl.ImportInterface[
[type: "LarkRemoteControl.Lark", instance: instance]!
RPC.ImportFailed => GOTO ImportFailed];
RETURN[LarkRemoteControl.BootLark[[[173B], [Convert.IntFromRope[lark, 8]]]]];
EXITS ImportFailed => NULL;
};
BootLarkCmd: Commander.CommandProc = {
machine: Rope.ROPE = CommandTool.NextArgument[cmd];
serverInstance: Rope.ROPE = CommandTool.NextArgument[cmd];
IF machine = NIL THEN RETURN;
[]𡤋ootLark[machine, serverInstance];
};
BootTSCmd: Commander.CommandProc = {
serverInstance: Rope.ROPE = CommandTool.NextArgument[cmd];
[]𡤋ootLark["101", serverInstance];
Should be changed to look up Text-To-Speech.Lark and all that.
};
Commander.Register["BootLark", BootLarkCmd, "BootLark 110 hardware-boots lark number 110"];
Commander.Register["BootTextToSpeech", BootTSCmd, "BootTextToSpeech hardware-boots the text-to-speech server when it's hung"];
}.