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.ROPENIL;
BootLark: PROC[lark: Rope.ROPE, serverInstance: Rope.ROPENIL]
RETURNS [outcome: BOOLTRUE] ={
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"];
}.
Swinehart, September 9, 1985 10:47:13 am PDT
Created -- allows rudimentary control of larks by end-user RPC command.
Expect this to grow.
changes to: DIRECTORY, LarkRemoteControl