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]; }. ŠBluejaySmarts.mesa Initial skeleton Implementation for Bluejay Smarts Last modified by D. Swinehart, June 18, 1984 6:18:04 pm PDT Êž˜Jšœ™Jšœ2™2Jšœ;™;J™šÏk ˜ Jšœ œ ˜Jšœ œ˜JšœœBœ˜dJ˜ Jšœœ!˜6Jšœ œ ˜J˜J˜—šœœ˜$J˜—Jšœœ˜Jšœœ˜Jšœœ˜J˜Jšœ œœ ˜ šœ œœ˜J˜J˜Jšœ œ˜Jšœœ˜Jšœœ˜Jšœ œœ˜Jšœ œ˜Jšœ œœ˜Jšœ&œÏc)˜TJšœ3œ˜7J˜@J˜J˜—Jšœœ œ ˜ Jšœ œ œ˜/Jšœ œ˜Jšœ œ˜Jšœ˜J˜JšÏnœœœ=˜ZJ˜J˜J˜J˜—…—Lt