ThrushSunRPCConvert.mesa
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Created By: Ken Pier, May 9, 1990 5:33:40 pm PDT
This module contains procedures for translating SunRPC data types to Thrush data types and Thrush data types to SunRPC data types.
Pier, May 18, 1990 10:47:37 am PDT
Polle Zellweger (PTZ) October 29, 1990 3:28:06 pm PST
DIRECTORY
BasicTime USING [ GMT ],
GVBasics USING [Password],
Pup USING [ Address ],
RefID USING [ ID ],
Rope USING [ ROPE ],
RPC USING [ InterfaceName, VersionRange ],
ThParty,
ThPartySunRPC,
Thrush,
ThrushSunRPC,
VoiceRopeServer,
VoiceRopeServerSunRPC
;
ThrushSunRPCConvert: CEDAR DEFINITIONS ~ {
SrToAccessList: PROC [srAccessList: ThPartySunRPC.AccessList]
RETURNS
[accessList: ThParty.AccessList];
AccessListToSr: PROC [accessList: ThParty.AccessList]
RETURNS
[srAccessList: ThPartySunRPC.AccessList];
SrToActionReport: PROC [srActionReport: ThrushSunRPC.ActionReport]
RETURNS
[actionReport: Thrush.ActionReport];
ActionReportToSr: PROC [actionReport: Thrush.ActionReport]
RETURNS
[srActionReport: ThrushSunRPC.ActionReport];
SrToAddress: PROC [srAddress: ThrushSunRPC.Address]
RETURNS
[address: Thrush.NetAddress];
AddressToSr: PROC [address: Pup.Address] RETURNS [srAddress: ThrushSunRPC.Address];
SrToATOM: PROC [srAtom: Rope.ROPE] RETURNS [atom: ATOM];
ATOMToSr: PROC [atom: ATOM] RETURNS [srAtom: Rope.ROPE];
SrToAttributes: PROC [srAttributes: ThPartySunRPC.Attributes]
RETURNS
[attributes: ThParty.Attributes];
AttributesToSr: PROC [attributes: ThParty.Attributes]
RETURNS
[srAttributes: ThPartySunRPC.Attributes];
SrToCandidateList: PROC [srCandidates: ThPartySunRPC.CandidateList]
RETURNS
[candidates: LIST OF ThParty.ConversationInfo];
CandidateListToSr: PROC [candidates: LIST OF ThParty.ConversationInfo]
RETURNS
[srCandidates: ThPartySunRPC.CandidateList];
SrToConvEvent: PROC [srConvEvent: ThrushSunRPC.ConvEvent]
RETURNS
[convEvent: Thrush.ConvEvent];
ConvEventToSr: PROC [convEvent: Thrush.ConvEvent]
RETURNS
[srConvEvent: ThrushSunRPC.ConvEvent];
SrToConversationInfo: PROC [srCInfo: ThPartySunRPC.ConversationInfo]
RETURNS
[cInfo: ThParty.ConversationInfo];
ConversationInfoToSr: PROC [cInfo: ThParty.ConversationInfo]
RETURNS
[srCInfo: ThPartySunRPC.ConversationInfo];
SrToConversationInfoRec: PROC [srCInfo: ThPartySunRPC.ConversationInfo]
RETURNS
[cInfoRec: ThParty.ConversationInfoRec];
ConversationInfoRecToSr: PROC [cInfoRec: ThParty.ConversationInfoRec]
RETURNS
[srCInfo: ThPartySunRPC.ConversationInfo];
SrToConvID: PROC [srConvID: ThrushSunRPC.ConversationID]
RETURNS
[convID: Thrush.ConversationID] ~ INLINE {
convID ← LOOPHOLE[srConvID]; -- eventually a BasicTime.GMT
};
ConvIDToSr: PROC [convID: Thrush.ConversationID]
RETURNS [srConvID: ThrushSunRPC.ConversationID] ~ INLINE {
srConvID ← LOOPHOLE[convID];
};
SrToConvType: PROC [srType: ThPartySunRPC.ConvType]
RETURNS [type: ThParty.ConvType] ~ INLINE {
type ← VAL[ORD[srType]];
};
ConvTypeToSr: PROC [type: ThParty.ConvType]
RETURNS [srType: ThPartySunRPC.ConvType] ~ INLINE {
srType ← VAL[ORD[type]];
};
SrToCredentials: PROC [srCredentials: ThrushSunRPC.Credentials]
RETURNS
[credentials: Thrush.Credentials];
CredentialsToSr: PROC [credentials: Thrush.Credentials]
RETURNS
[srCredentials: ThrushSunRPC.Credentials];
SrToEncryptionKey: PROC [srKey: ThrushSunRPC.EncryptionKey]
RETURNS
[key: Thrush.EncryptionKey] ~ INLINE {
key ← LOOPHOLE[srKey]; -- Could be dangerous!
};
EncryptionKeyToSr: PROC [key: Thrush.EncryptionKey]
RETURNS
[srKey: ThrushSunRPC.EncryptionKey] ~ INLINE {
srKey ← LOOPHOLE[key]; -- Could be dangerous!
};
SrToEnergySequence: PROC [srEnergySequence: VoiceRopeServerSunRPC.EnergySequence]
RETURNS [energySequence: VoiceRopeServer.EnergySequence];
EnergySequenceToSr: PROC [energySequence: VoiceRopeServer.EnergySequence]
RETURNS [srEnergySequence: VoiceRopeServerSunRPC.EnergySequence];
SrToGMT: PROC [srTime: ThrushSunRPC.GMT] RETURNS [time: BasicTime.GMT] ~ INLINE {
time ← LOOPHOLE[srTime];
};
GMTToSr: PROC [time: BasicTime.GMT] RETURNS [srTime: ThrushSunRPC.GMT] ~ INLINE {
srTime ← LOOPHOLE[time];
};
SrToInterfaceName: PROC [srInterface: ThrushSunRPC.InterfaceName]
RETURNS
[interface: RPC.InterfaceName];
InterfaceNameToSr: PROC [interface: RPC.InterfaceName]
RETURNS
[srInterface: ThrushSunRPC.InterfaceName];
SrToInterfaceSpec: PROC [srInterfaceSpec: ThrushSunRPC.InterfaceSpec]
RETURNS
[interfaceSpec: Thrush.InterfaceSpec];
InterfaceSpecToSr: PROC [interfaceSpec: Thrush.InterfaceSpec]
RETURNS
[srInterfaceSpec: ThrushSunRPC.InterfaceSpec];
SrToIntervalSpecs: PROC [srIntervalSpecs: VoiceRopeServerSunRPC.IntervalSpecs]
RETURNS [intervalSpecs: VoiceRopeServer.IntervalSpecs];
IntervalSpecsToSr: PROC [intervalSpecs: VoiceRopeServer.IntervalSpecs]
RETURNS [srIntervalSpecs: VoiceRopeServerSunRPC.IntervalSpecs];
SrToKeyTable: PROC [srKeyTable: ThrushSunRPC.KeyTable]
RETURNS
[keyTable: Thrush.KeyTable];
KeyTableToSr: PROC [keyTable: Thrush.KeyTable]
RETURNS
[srKeyTable: ThrushSunRPC.KeyTable];
SrToPartyInfo: PROC [srPInfo: ThPartySunRPC.PartyInfo]
RETURNS
[pInfo: ThParty.PartyInfo];
PartyInfoToSr: PROC [pInfo: ThParty.PartyInfo]
RETURNS
[srPInfo: ThPartySunRPC.PartyInfo];
SrToPartyInfoSpec: PROC [srPartySpec: ThPartySunRPC.PartyInfoSpec]
RETURNS
[partySpec: ThParty.PartyInfoSpec];
PartyInfoSpecToSr: PROC [partySpec: ThParty.PartyInfoSpec]
RETURNS
[srPartySpec: ThPartySunRPC.PartyInfoSpec];
SrToPassword: PROC [srPassword: ThrushSunRPC.Password]
RETURNS
[password: GVBasics.Password] ~ INLINE {
password ← LOOPHOLE[srPassword]; -- verify Password format if needed
};
PasswordToSr: PROC [password: GVBasics.Password]
RETURNS
[srPassword: ThrushSunRPC.Password] ~ INLINE {
srPassword ← LOOPHOLE[password]; -- verify Password format if needed
};
SrToROPE: PROC [srRope: Rope.ROPE]
RETURNS [rope: Rope.ROPE];
ROPEToSr: PROC [rope: Rope.ROPE]
RETURNS [srRope: Rope.ROPE];
SrToSmartsProperties: PROC [srProperties: ThPartySunRPC.SmartsProperties]
RETURNS
[properties: ThParty.SmartsProperties];
SmartsPropertiesToSr: PROC [properties: ThParty.SmartsProperties]
RETURNS
[srProperties: ThPartySunRPC.SmartsProperties];
SrToState: PROC [srState: ThrushSunRPC.StateInConv]
RETURNS [state: Thrush.StateInConv] ~ INLINE {
state ← VAL[ORD[srState]];
};
StateToSr: PROC [state: Thrush.StateInConv]
RETURNS [srState: ThrushSunRPC.StateInConv] ~ INLINE {
srState ← VAL[ORD[state]];
};
SrToUsers: PROC [srUsers: VoiceRopeServerSunRPC.Users]
RETURNS [users: VoiceRopeServer.Users];
UsersToSr: PROC [users: VoiceRopeServer.Users]
RETURNS [srUsers: VoiceRopeServerSunRPC.Users];
SrToVersionRange: PROC [srVersion: ThrushSunRPC.VersionRange]
RETURNS [version: RPC.VersionRange];
VersionRangeToSr: PROC [version: RPC.VersionRange]
RETURNS [srVersion: ThrushSunRPC.VersionRange];
SrToVisitorList: PROC [srVisitorList: ThPartySunRPC.VisitorList]
RETURNS
[visitorList: LIST OF Thrush.PartyID];
VisitorListToSr: PROC [visitorList: LIST OF Thrush.PartyID]
RETURNS
[srVisitorList: ThPartySunRPC.VisitorList];
SrToVoiceBlock: PROC [srVoiceBlock: VoiceRopeServerSunRPC.VoiceBlock]
RETURNS [voiceBlock: VoiceRopeServer.VoiceBlock];
VoiceBlockToSr: PROC [voiceBlock: VoiceRopeServer.VoiceBlock]
RETURNS [srVoiceBlock: VoiceRopeServerSunRPC.VoiceBlock];
SrToVoiceRope: PROC [srVoiceRope: VoiceRopeServerSunRPC.VoiceRope]
RETURNS [voiceRope: VoiceRopeServer.VoiceRope];
VoiceRopeToSr: PROC [voiceRope: VoiceRopeServer.VoiceRope]
RETURNS [srVoiceRope: VoiceRopeServerSunRPC.VoiceRope];
}.
Polle Zellweger (PTZ) May 14, 1990 2:54:47 pm PDT
changes to: SrToState, StateToSr
Polle Zellweger (PTZ) May 24, 1990 9:30:54 pm PDT
new: SrToConversationInfoRec, ConversationInfoRecToSr
changes to: SrToConversationInfo, ConversationInfoToSr
Polle Zellweger (PTZ) October 29, 1990 12:05:26 pm PST
Allow detection of NIL ropes across a SunRPC connection.
new: ROPEToSr, SrToROPE