BluejayRegisterLocalImpl.mesa
Last modified by D. Swinehart, November 29, 1984 1:54:34 pm PST
DIRECTORY
BluejaySmarts,
Names  USING [ OwnNetAddress ],
ThParty  USING [ CreateParty ],
ThPartyPrivate USING [ RegisterLocal ],
Thrush  USING [ nullHandle, PartyHandle, ROPE, SmartsHandle, unencrypted ],
ThSmarts,
ThSmartsRpcControl USING [ InterfaceRecord, NewInterfaceRecord ]
;
BluejayRegisterLocalImpl: CEDAR PROGRAM
IMPORTS BluejaySmarts, Names, ThParty, ThPartyPrivate, ThSmarts, ThSmartsRpcControl
EXPORTS BluejaySmarts = {
BluejayRegister: PUBLIC PROC[bluejayInstance, thrushInstance, serverPassword: Thrush.ROPE]
RETURNS [partyID: Thrush.PartyHandle←Thrush.nullHandle,
smartsID: Thrush.SmartsHandle←Thrush.nullHandle] = {
smartsInterface: ThSmartsRpcControl.InterfaceRecord;
BluejaySmarts.jayShh ← Thrush.unencrypted;
BluejaySmarts.interfaceIsImported←TRUE;
Register First Jay Party.
partyID←ThParty.CreateParty[type: recording, rName: NIL];
IF partyID=Thrush.nullHandle THEN ERROR;
smartsInterface ← ThSmartsRpcControl.NewInterfaceRecord[];
smartsInterface.Progress ← ThSmarts.Progress;
smartsID ← ThPartyPrivate.RegisterLocal[
partyID: partyID, interface: smartsInterface,
properties: [x: voiceTerminal[machine: Names.OwnNetAddress[]]]];
};
}.