<> <> <> <<>> DIRECTORY Jukebox USING [ Handle], PupDefs USING [ PupSocket ], Thrush USING [ ConversationHandle, IntervalSpec, nullConvHandle, PartyHandle, SHHH, SmartsHandle ], ThSmarts, ThSmartsPrivate USING [ ConvDesc, OpenConversations ], VoiceStream USING [ Handle ] ; BluejaySmarts: CEDAR DEFINITIONS = { jayShh: Thrush.SHHH; interfaceIsImported: BOOLEAN; encryptionRequested: BOOLEAN; JayInfo: TYPE = REF JayInfoBody; JayInfoBody: TYPE = RECORD [ smartsID: Thrush.SmartsHandle, partyID: Thrush.PartyHandle, shh: Thrush.SHHH, socket: PupDefs.PupSocket_NIL, stream: VoiceStream.Handle_NIL, thProcess: PROCESS_NIL, thAction: CONDITION, apprise: BOOL_FALSE, lastIntervalSpec: Thrush.IntervalSpec_NIL, -- a kludge! Need to save for ReportDone. conversations: ThSmartsPrivate.OpenConversations _ NIL, currentConvID: Thrush.ConversationHandle _ Thrush.nullConvHandle ]; infos: ARRAY[0..100) OF JayInfo; smartses: ARRAY[0..100) OF Thrush.SmartsHandle; numParties: NAT; haveJuke: BOOL; handle: Jukebox.Handle; BluejayRegister: PROC RETURNS[partyID: Thrush.PartyHandle, smartsID: Thrush.SmartsHandle]; }.