-- EnvelopeContents2P0V0ClientImpl.Mesa
-- Copyright Ó 1991 by Xerox Corporation. All rights reserved.
-- Copyright (C) 1989 by Xerox Corporation. All rights reserved.
-- Generated by Willie-sue.pa at February 13, 1989 6:53:32 pm PST
-- using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST
DIRECTORY
CrRPC,
CHNameP2V0,
MailTransportP17V5,
EnvelopeFormatP1517V1,
EnvelopeContents2P0V0;
EnvelopeContents2P0V0ClientImpl: CEDAR PROGRAM
IMPORTS CrRPC
EXPORTS EnvelopeContents2P0V0 ~ {
OPEN EnvelopeContents2P0V0;
GetError: CrRPC.GetErrorProc ~ {
ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"];
};
-- Remote Procedures --
ItemFromOriginator: PUBLIC ItemFromOriginatorType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc1[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~25 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromX400SpecificReportInformation: PUBLIC ItemFromX400SpecificReportInformationType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc3[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~32 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromConverted: PUBLIC ItemFromConvertedType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc4[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~35 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromPreviousRecipients: PUBLIC ItemFromPreviousRecipientsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc5[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~28 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromPriority: PUBLIC ItemFromPriorityType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
CrRPC.PutCard16[s, ORD[value]];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~34 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromMessageID: PUBLIC ItemFromMessageIDType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
FOR i6: CARDINAL IN [0..5) DO
CrRPC.PutCard16[s, value[i6]];
ENDLOOP;
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~21 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromAddressChangeNotice: PUBLIC ItemFromAddressChangeNoticeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc1[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~30 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromAuthenticationLevelOfSender: PUBLIC ItemFromAuthenticationLevelOfSenderType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
CrRPC.PutCard16[s, ORD[value]];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~36 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromContentsSize: PUBLIC ItemFromContentsSizeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
CrRPC.PutCard32[s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~24 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromTransportOptions: PUBLIC ItemFromTransportOptionsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
CrRPC.PutBool[s, value.returnOfContents];
CrRPC.PutBool[s, value.alternateRecipientAllowed];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromContentsType: PUBLIC ItemFromContentsTypeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
CrRPC.PutCard32[s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~22 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromReturnToName: PUBLIC ItemFromReturnToNameType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc1[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~27 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromTableOfContents: PUBLIC ItemFromTableOfContentsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc7[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~23 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromOtherRecipients: PUBLIC ItemFromOtherRecipientsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc5[h, s, value];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~33 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromReport: PUBLIC ItemFromReportType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc8[h, s, value.originalEnvelope];
MProc9[h, s, value.fateOfThisReport];
MProc10[h, s, value.reportType];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~26 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromGatewayPostmark: PUBLIC ItemFromGatewayPostmarkType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc1[h, s, value.postedAt];
CrRPC.PutCard32[s, value.time];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~29 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ItemFromPostmark: PUBLIC ItemFromPostmarkType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, length];
MProc1[h, s, value.postedAt];
CrRPC.PutCard32[s, value.time];
};
GetResults: CrRPC.GetResultsProc ~ {
item ¬ UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~0, remotePgmVersion~0, remoteProc~20 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
-- Unmarshal / Marshal Procs --
MProc7: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.TableOfContents] ~ {
CrRPC.PutCard16[s, val.length];
FOR i11: CARDINAL IN [0..val.length) DO
CrRPC.PutCard32[s, val.body[i11].type];
CrRPC.PutCard32[s, val.body[i11].sizeInBytes];
ENDLOOP;
};
MProc3: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.X400SpecificReportInformation] ~ {
CrRPC.PutCard16[s, val.length];
FOR i12: CARDINAL IN [0..val.length) DO
MProc13[h, s, val.body[i12]];
ENDLOOP;
};
UProc2: PROC [h: CrRPC.Handle, s: CrRPC.STREAM] RETURNS [res: MailTransportP17V5.Opaque] ~ {
{
length15: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[MailTransportP17V5.OpaqueObject[length15]];
FOR i14: CARDINAL IN [0..length15) DO
res.body[i14] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
};
MProc13: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.X400ReportItem] ~ {
CrRPC.PutCard16[s, val.length];
FOR i16: CARDINAL IN [0..val.length) DO
CrRPC.PutCard16[s, val.body[i16]];
ENDLOOP;
};
MProc10: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.RepType] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val SELECT FROM
it: REF EnvelopeFormatP1517V1.RepTypeObject.dlMember => {
MProc1[h, s, it.dlMember.dlName];
MProc18[h, s, it.dlMember.invalidDLRecipients];
};
it: REF EnvelopeFormatP1517V1.RepTypeObject.other => {
MProc19[h, s, it.other.succeeded];
MProc20[h, s, it.other.failed];
};
ENDCASE;
};
MProc9: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.Fate] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val SELECT FROM
it: REF EnvelopeFormatP1517V1.FateObject.delivered => {
CrRPC.PutCard16[s, ORD[it.delivered]];
};
it: REF EnvelopeFormatP1517V1.FateObject.notDelivered => {
CrRPC.PutCard16[s, ORD[it.notDelivered.reason]];
MProc1[h, s, it.notDelivered.reportCreationPostmark.postedAt];
CrRPC.PutCard32[s, it.notDelivered.reportCreationPostmark.time];
};
ENDCASE;
};
MProc5: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.RecipientList] ~ {
CrRPC.PutCard16[s, val.length];
FOR i22: CARDINAL IN [0..val.length) DO
MProc1[h, s, val.body[i22].name];
CrRPC.PutCard16[s, val.body[i22].recipientID];
CrRPC.PutCard16[s, ORD[val.body[i22].report]];
ENDLOOP;
};
MProc19: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.SucList] ~ {
CrRPC.PutCard16[s, val.length];
FOR i23: CARDINAL IN [0..val.length) DO
MProc1[h, s, val.body[i23].recipient.name];
CrRPC.PutCard16[s, val.body[i23].recipient.recipientID];
CrRPC.PutCard16[s, ORD[val.body[i23].recipient.report]];
CrRPC.PutCard32[s, val.body[i23].when];
ENDLOOP;
};
MProc4: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.Converted] ~ {
CrRPC.PutCard16[s, val.length];
FOR i24: CARDINAL IN [0..val.length) DO
CrRPC.PutCard16[s, ORD[val.body[i24]]];
ENDLOOP;
};
MProc1: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.RName] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val SELECT FROM
it: REF MailTransportP17V5.RNameObject.xns => {
CrRPC.PutRope[s, it.xns.organization];
CrRPC.PutRope[s, it.xns.domain];
CrRPC.PutRope[s, it.xns.object];
};
it: REF MailTransportP17V5.RNameObject.gateway => {
CrRPC.PutRope[s, it.gateway.country];
CrRPC.PutRope[s, it.gateway.adminDomain];
CrRPC.PutRope[s, it.gateway.privateDomain];
CrRPC.PutRope[s, it.gateway.organization];
MProc26[h, s, it.gateway.organizationalUnits];
MProc27[h, s, it.gateway.personal];
MProc28[h, s, it.gateway.gatewaySpecificInformation];
};
ENDCASE;
};
MProc20: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.FailList] ~ {
CrRPC.PutCard16[s, val.length];
FOR i29: CARDINAL IN [0..val.length) DO
MProc1[h, s, val.body[i29].recipient.name];
CrRPC.PutCard16[s, val.body[i29].recipient.recipientID];
CrRPC.PutCard16[s, ORD[val.body[i29].recipient.report]];
CrRPC.PutCard16[s, ORD[val.body[i29].reason]];
ENDLOOP;
};
MProc8: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Envelope] ~ {
CrRPC.PutCard16[s, val.length];
FOR i30: CARDINAL IN [0..val.length) DO
CrRPC.PutCard32[s, val.body[i30].type];
MProc31[h, s, val.body[i30].value];
ENDLOOP;
};
MProc27: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.PerChoice] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val SELECT FROM
it: REF MailTransportP17V5.PerChoiceObject.whole => {
CrRPC.PutRope[s, it.whole];
};
it: REF MailTransportP17V5.PerChoiceObject.broken => {
CrRPC.PutRope[s, it.broken.given];
CrRPC.PutRope[s, it.broken.initials];
CrRPC.PutRope[s, it.broken.family];
CrRPC.PutRope[s, it.broken.generation];
};
ENDCASE;
};
MProc26: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.OrgUnits] ~ {
CrRPC.PutCard16[s, val.length];
FOR i33: CARDINAL IN [0..val.length) DO
CrRPC.PutRope[s, val.body[i33]];
ENDLOOP;
};
MProc18: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: EnvelopeFormatP1517V1.InvalRecip] ~ {
CrRPC.PutCard16[s, val.length];
FOR i34: CARDINAL IN [0..val.length) DO
MProc1[h, s, val.body[i34].recipient.name];
CrRPC.PutCard16[s, val.body[i34].recipient.recipientID];
CrRPC.PutCard16[s, ORD[val.body[i34].recipient.report]];
CrRPC.PutCard16[s, ORD[val.body[i34].reason]];
ENDLOOP;
};
MProc31: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.Opaque] ~ {
CrRPC.PutCard16[s, val.length];
FOR i35: CARDINAL IN [0..val.length) DO
CrRPC.PutCard16[s, val.body[i35]];
ENDLOOP;
};
MProc28: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: MailTransportP17V5.GatewaySpecInfo] ~ {
CrRPC.PutCard16[s, val.length];
FOR i36: CARDINAL IN [0..val.length) DO
CrRPC.PutRope[s, val.body[i36].type];
CrRPC.PutRope[s, val.body[i36].value];
ENDLOOP;
};
}...