DIRECTORY VoiceRopeServer, VoiceRopeServerSunRPC, VoiceRopeServerSunRPCServer, Thrush, ThrushSunRPC, ThrushSunRPCConvert; VoiceRopeServerSunRPCToVoiceRopeServer: CEDAR PROGRAM IMPORTS VoiceRopeServer, ThrushSunRPCConvert EXPORTS VoiceRopeServerSunRPCServer ~ { OPEN VoiceRopeServerSunRPC, VoiceRopeServerSunRPCServer, ThrushSunRPCConvert; Forget: PUBLIC ForgetType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Forget[shhh: Thrush.none, vr: SrToVoiceRope[vr], class: SrToROPE[class], refID: SrToROPE[refID] ]; nb ฌ ATOMToSr[thNB]; }; Record: PUBLIC RecordType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.Record[shhh: Thrush.none, credentials: SrToCredentials[credentials], serviceID: serviceID, recordedParty: recordedParty, intID: intID, queueIt: queueIt]; nb ฌ ATOMToSr[thNB]; voiceRope ฌ VoiceRopeToSr[thVr]; }; Play: PUBLIC PlayType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Play[shhh: Thrush.none, voiceRope: SrToVoiceRope[voiceRope], credentials: SrToCredentials[credentials], serviceID: serviceID, intID: intID, queueIt: queueIt]; nb ฌ ATOMToSr[thNB]; }; Cat: PUBLIC CatType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.Cat[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr1: SrToVoiceRope[vr1], vr2: SrToVoiceRope[vr2], vr3: SrToVoiceRope[vr3], vr4: SrToVoiceRope[vr4], vr5: SrToVoiceRope[vr5]]; nb ฌ ATOMToSr[thNB]; new ฌ VoiceRopeToSr[thVr]; }; Stop: PUBLIC StopType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Stop[shhh: Thrush.none, credentials: SrToCredentials[creentials], serviceID: serviceID]; nb ฌ ATOMToSr[thNB]; }; Substr: PUBLIC SubstrType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.Substr[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], start: start, len: len]; nb ฌ ATOMToSr[thNB]; new ฌ VoiceRopeToSr[thVr]; }; Replace: PUBLIC ReplaceType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.Replace[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], start: start, len: len, with: SrToVoiceRope[with]]; nb ฌ ATOMToSr[thNB]; new ฌ VoiceRopeToSr[thVr]; }; DescribeRope: PUBLIC DescribeRopeType = { thNB: Thrush.NB; thIntervalSpecs: VoiceRopeServer.IntervalSpecs; [thNB, length, thIntervalSpecs] ฌ VoiceRopeServer.DescribeRope[shhh: Thrush.none, vr: SrToVoiceRope[vr], minSilence: minSilence]; nb ฌ ATOMToSr[thNB]; noise ฌ IntervalSpecsToSr[thIntervalSpecs]; }; SetPermissions: PUBLIC SetPermissionsType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.SetPermissions[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], playAccess: SrToUsers[playAccess], editAccess: SrToUsers[editAccess]]; nb ฌ ATOMToSr[thNB]; }; Pause: PUBLIC PauseType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Pause[shhh: Thrush.none, credentials: SrToCredentials[cedentials], serviceID: serviceID]; nb ฌ ATOMToSr[thNB]; }; Resume: PUBLIC ResumeType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Resume[shhh: Thrush.none, credentials: SrToCredentials[credentials], serviceID: serviceID]; nb ฌ ATOMToSr[thNB]; }; GetEnergies: PUBLIC GetEnergiesType = { thNB: Thrush.NB; thEnergies: VoiceRopeServer.EnergySequence; [thNB, thEnergies] ฌ VoiceRopeServer.GetEnergies[shhh: Thrush.none, vr: SrToVoiceRope[vr], samplesPerSegment: samplesPerSegment]; nb ฌ ATOMToSr[thNB]; energies ฌ EnergySequenceToSr[thEnergies]; }; GetPermissions: PUBLIC GetPermissionsType = { thNB: Thrush.NB; thPlayAccess, thEditAccess: VoiceRopeServer.Users; [thNB, thPlayAccess, thEditAccess] ฌ VoiceRopeServer.GetPermissions[shhh: Thrush.none, vr: SrToVoiceRope[vr]]; nb ฌ ATOMToSr[thNB]; playAccess ฌ UsersToSr[thPlayAccess]; editAccess ฌ UsersToSr[thEditAccess]; }; Length: PUBLIC LengthType = { thNB: Thrush.NB; [thNB, len] ฌ VoiceRopeServer.Length[shhh: Thrush.none, vr: SrToVoiceRope[vr]]; nb ฌ ATOMToSr[thNB]; }; GetByInterest: PUBLIC GetByInterestType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.GetByInterest[shhh: Thrush.none, class: SrToROPE[class], refID: SrToROPE[refID] ]; nb ฌ ATOMToSr[thNB]; voiceRope ฌ VoiceRopeToSr[thVr]; }; StoreBlock: PUBLIC StoreBlockType = { thNB: Thrush.NB; thVr: VoiceRopeServer.VoiceRope; [thNB, thVr] ฌ VoiceRopeServer.StoreBlock[shhh: Thrush.none, block: SrToVoiceBlock[block], key: SrToEncryptionKey[key]]; nb ฌ ATOMToSr[thNB]; voiceRope ฌ VoiceRopeToSr[thVr]; }; Retain: PUBLIC RetainType = { thNB: Thrush.NB; thNB ฌ VoiceRopeServer.Retain[shhh: Thrush.none, callerRName: SrToROPE[callerRName], vr: SrToVoiceRope[vr], class: SrToROPE[class], refID: SrToROPE[refID], other: SrToROPE[other] ]; nb ฌ ATOMToSr[thNB]; }; FetchBlock: PUBLIC FetchBlockType = { thNB: Thrush.NB; thVb: VoiceRopeServer.VoiceBlock; [thNB, thVb] ฌ VoiceRopeServer.FetchBlock[shhh: Thrush.none, vr: SrToVoiceRope[vr], start: start, len: len, decrypt: decrypt]; nb ฌ ATOMToSr[thNB]; block ฌ VoiceBlockToSr[thVb]; }; }. ธ VoiceRopeServerSunRPCToVoiceRopeServer.mesa Copyright ำ 1990, 1992 by Xerox Corporation. All rights reserved. Pier, May 18, 1990 11:55:07 am PDT Polle Zellweger, December 27, 1990 6:37 pm PST Exports VoiceRopeServerSunRPCServer, which is called by VoiceRopeServerSunRPCServerStub, and calls the real VoiceRopeServer routines. Conversation Management Polle Zellweger (PTZ) October 29, 1990 5:16:53 pm PST Allow detection of NIL ropes across a SunRPC connection. changes to: Forget, GetByInterest, Retain Polle Zellweger, December 27, 1990 6:15:26 pm PST Added callerRName field to operations that need to know the caller's name. changes to: Retain, Cat, Substr, Replace, SetPermissions สฎ•NewlineDelimiter –(cedarcode) style™codešœ+™+Kšœ ฯeœ7™BK™"K™.—K˜Kšœ…™…K™šฯk ˜ Kšœ˜Kšœ˜Kšœ˜Kšœ˜K˜ Kšœ˜—K˜šฯn&œžœž˜5Kšžœ%˜,Kšžœ˜#—Kšœ˜K˜KšžœI˜MK˜™J™šŸœžœ˜Kšœ žœ˜K˜yK˜K˜K˜—šŸœžœ˜Kšœ žœ˜Kšœ ˜ KšœŸœ“˜ธK˜K˜ K˜K˜—šŸœžœ ˜Kšœ žœ˜KšœŸœš˜ตK˜K˜K˜—šŸœžœ ˜Kšœ žœ˜Kšœ ˜ KšœŸœต˜ืK˜K˜Kšœ˜K˜—šŸœžœ ˜Kšœ žœ˜KšœŸœžœ@˜oK˜K˜K˜—šŸœžœ˜Kšœ žœ˜Kšœ ˜ KšœŸœg˜ŒK˜K˜K˜K˜—šŸœžœ˜Kšœ žœ˜Kšœ ˜ KšœŸœ‚˜จK˜K˜K˜K˜—šŸ œžœ˜)Kšœ žœ˜Kšœ/˜/Kšœ2Ÿ œC˜K˜K˜+K˜K˜—šŸœžœ˜-Kšœ žœ˜Kšœฯbœ•˜บK˜K˜K˜—šŸœžœ˜Kšœ žœ˜KšœŸœT˜pK˜K˜K˜—šŸœžœ˜Kšœ žœ˜KšœŸœU˜rK˜K˜K˜—šŸ œžœ˜'Kšœ žœ˜Kšœ+˜+Kšœ%Ÿ œQ˜K˜K˜*K˜K˜—šŸœžœ˜-Kšœ žœ˜Kšœ2˜2Kšœ5Ÿœ+˜nK˜K˜%K˜%K˜K˜—šŸœžœ˜Kšœ žœ˜KšœŸœžœ˜OK˜K˜K˜—šŸ œžœ˜+Kšœ žœ˜Kšœ ˜ KšœŸ œE˜qK˜K˜ K˜K˜—šŸ œžœ˜%Kšœ žœ˜Kšœ ˜ KšœŸ œO˜xK˜K˜ K˜K˜—šŸœžœ˜Kšœ žœ˜KšœŸœ˜˜ตK˜K˜K˜—šŸ œžœ˜%Kšœ žœ˜Kšœ!˜!KšœŸ œU˜~K˜K˜K˜——K˜Kšœ˜™5K™8Kšœ ฯr™)—™1K™JKšœ ก,™8——…—†์