VoiceRopeServerSunRPCToVoiceRopeServer.mesa
Copyright Ó 1990 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.
DIRECTORY
VoiceRopeServer,
VoiceRopeServerSunRPC,
VoiceRopeServerSunRPCServer,
Thrush,
ThrushSunRPC,
ThrushSunRPCConvert;
VoiceRopeServerSunRPCToVoiceRopeServer: CEDAR PROGRAM
IMPORTS VoiceRopeServer, ThrushSunRPCConvert
EXPORTS VoiceRopeServerSunRPCServer
~ {
OPEN VoiceRopeServerSunRPC, VoiceRopeServerSunRPCServer, ThrushSunRPCConvert;
Conversation Management
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];
};
}.
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