DIRECTORY Convert, Rope, EnvelopeFormatP1517V1, MailTransportP17V5Aux, EnvelopeFormatP1517V1Aux; EnvelopeFormatP1517V1AuxImpl: CEDAR PROGRAM IMPORTS Convert, Rope, MailTransportP17V5Aux EXPORTS EnvelopeFormatP1517V1Aux ~ { OPEN EnvelopeFormatP1517V1, EnvelopeFormatP1517V1Aux; ROPE: TYPE ~ Rope.ROPE; ExposeReport: PUBLIC PROC [arg: Report, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "originalEnvelope~", MailTransportP17V5Aux.ExposeEnvelope[arg.originalEnvelope, (level+1)], ", "]; res ¬ Rope.Cat[res, "fateOfThisReport~", ExposeFate[arg.fateOfThisReport, (level+1)], ", "]; res ¬ Rope.Cat[res, "reportType~", ExposeRepType[arg.reportType, (level+1)], "]"]; }; ExposeNonDelType: PUBLIC PROC [arg: NonDelType, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "reason~", ExposeReason[arg.reason, (level+1)], ", "]; res ¬ Rope.Cat[res, "reportCreationPostmark~", ExposePostmark[arg.reportCreationPostmark, (level+1)], "]"]; }; ExposeNonDeliveredRecipient: PUBLIC PROC [arg: NonDeliveredRecipient, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "recipient~", MailTransportP17V5Aux.ExposeRecipient[arg.recipient, (level+1)], ", "]; res ¬ Rope.Cat[res, "reason~", ExposeReason[arg.reason, (level+1)], "]"]; }; ExposePriority: PUBLIC PROC [arg: Priority, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM nonUrgent => res ¬ "nonUrgent"; normal => res ¬ "normal"; urgent => res ¬ "urgent"; unspecified => res ¬ "unspecified"; ENDCASE => ERROR }; ExposeFailList: PUBLIC PROC [arg: FailList, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeNonDeliveredRecipient[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeFate: PUBLIC PROC [arg: Fate, level: NAT] RETURNS [res: ROPE] ~ { res ¬ Rope.Cat["Fate(", ExposeFateKind[arg.type, (level+1)], "): "]; WITH arg SELECT FROM it: REF FateObject.delivered => { res ¬ Rope.Concat[res, ExposeDelType[it.delivered, (level+1)]] }; it: REF FateObject.notDelivered => { res ¬ Rope.Concat[res, ExposeNonDelType[it.notDelivered, (level+1)]] }; ENDCASE => ERROR }; ExposeFateKind: PUBLIC PROC [arg: FateKind, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM delivered => res ¬ "delivered"; notDelivered => res ¬ "notDelivered"; ENDCASE => ERROR }; ExposeX400SpecificReportInformation: PUBLIC PROC [arg: X400SpecificReportInformation, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeX400ReportItem[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeReason: PUBLIC PROC [arg: Reason, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM noSuchRecipient => res ¬ "noSuchRecipient"; noMailboxForRecipient => res ¬ "noMailboxForRecipient"; illegalName => res ¬ "illegalName"; timeout => res ¬ "timeout"; reportNotAllowed => res ¬ "reportNotAllowed"; messageTooLong => res ¬ "messageTooLong"; ambiguousRName => res ¬ "ambiguousRName"; illegalCharacters => res ¬ "illegalCharacters"; unsupportedBodyparts => res ¬ "unsupportedBodyparts"; unsupportedContentsType => res ¬ "unsupportedContentsType"; transientProblem => res ¬ "transientProblem"; contentSyntaxError => res ¬ "contentSyntaxError"; tooManyRecipients => res ¬ "tooManyRecipients"; protocolViolation => res ¬ "protocolViolation"; x400PragmaticConstraintViolation => res ¬ "x400PragmaticConstraintViolation"; x400NoBilateralAgreement => res ¬ "x400NoBilateralAgreement"; accessRightsInsufficientForDL => res ¬ "accessRightsInsufficientForDL"; other => res ¬ "other"; ENDCASE => ERROR }; ExposeSucList: PUBLIC PROC [arg: SucList, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeDeliveredRecipient[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeTableOfContents: PUBLIC PROC [arg: TableOfContents, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeTOCEntry[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeDeliveredRecipient: PUBLIC PROC [arg: DeliveredRecipient, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "recipient~", MailTransportP17V5Aux.ExposeRecipient[arg.recipient, (level+1)], ", "]; res ¬ Rope.Cat[res, "when~", Convert.RopeFromCard[arg.when], "]"]; }; ExposeX400ReportItem: PUBLIC PROC [arg: X400ReportItem, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, Convert.RopeFromCard[arg.body[i]]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeConvertedItem: PUBLIC PROC [arg: ConvertedItem, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM ia5TextToTeletex => res ¬ "ia5TextToTeletex"; teletexToTelex => res ¬ "teletexToTelex"; teletexToIA5Text => res ¬ "teletexToIA5Text"; telexToTeletex => res ¬ "telexToTeletex"; ENDCASE => ERROR }; ExposeRepTypeKind: PUBLIC PROC [arg: RepTypeKind, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM dlMember => res ¬ "dlMember"; other => res ¬ "other"; ENDCASE => ERROR }; ExposeTOCEntry: PUBLIC PROC [arg: TOCEntry, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "type~", Convert.RopeFromCard[arg.type], ", "]; res ¬ Rope.Cat[res, "sizeInBytes~", Convert.RopeFromCard[arg.sizeInBytes], "]"]; }; ExposeDLMem: PUBLIC PROC [arg: DLMem, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "dlName~", MailTransportP17V5Aux.ExposeRName[arg.dlName, (level+1)], ", "]; res ¬ Rope.Cat[res, "invalidDLRecipients~", ExposeInvalRecip[arg.invalidDLRecipients, (level+1)], "]"]; }; ExposeOtherRep: PUBLIC PROC [arg: OtherRep, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "succeeded~", ExposeSucList[arg.succeeded, (level+1)], ", "]; res ¬ Rope.Cat[res, "failed~", ExposeFailList[arg.failed, (level+1)], "]"]; }; ExposePostmark: PUBLIC PROC [arg: Postmark, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "postedAt~", MailTransportP17V5Aux.ExposeRName[arg.postedAt, (level+1)], ", "]; res ¬ Rope.Cat[res, "time~", Convert.RopeFromCard[arg.time], "]"]; }; ExposeTransportOptions: PUBLIC PROC [arg: TransportOptions, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; res ¬ Rope.Cat[res, "returnOfContents~", Convert.RopeFromBool[arg.returnOfContents], ", "]; res ¬ Rope.Cat[res, "alternateRecipientAllowed~", Convert.RopeFromBool[arg.alternateRecipientAllowed], "]"]; }; ExposeInvalRecip: PUBLIC PROC [arg: InvalRecip, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeNonDeliveredRecipient[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeAuthenticationLevelOfSender: PUBLIC PROC [arg: AuthenticationLevelOfSender, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM strong => res ¬ "strong"; simple => res ¬ "simple"; foreign => res ¬ "foreign"; unknown => res ¬ "unknown"; ENDCASE => ERROR }; ExposeRepType: PUBLIC PROC [arg: RepType, level: NAT] RETURNS [res: ROPE] ~ { res ¬ Rope.Cat["RepType(", ExposeRepTypeKind[arg.type, (level+1)], "): "]; WITH arg SELECT FROM it: REF RepTypeObject.dlMember => { res ¬ Rope.Concat[res, ExposeDLMem[it.dlMember, (level+1)]] }; it: REF RepTypeObject.other => { res ¬ Rope.Concat[res, ExposeOtherRep[it.other, (level+1)]] }; ENDCASE => ERROR }; ExposeConverted: PUBLIC PROC [arg: Converted, level: NAT] RETURNS [res: ROPE] ~ { res ¬ "["; FOR i: CARDINAL IN [0..arg.length) DO res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeConvertedItem[arg.body[i], (level+1)]]; ENDLOOP; res ¬ Rope.Concat[res, "]"]; }; ExposeDelType: PUBLIC PROC [arg: DelType, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM contentsTruncated => res ¬ "contentsTruncated"; noProblem => res ¬ "noProblem"; ENDCASE => ERROR }; }... δ EnvelopeFormatP1517V1AuxImpl.Mesa Copyright Σ 1989, 1991 by Xerox Corporation. All rights reserved. Generated by Willie-sue.pa at February 13, 1989 6:32:50 pm PST using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST ΚΒ•NewlineDelimiter –(cedarcode) style™šœ!™!Jšœ Οeœ6™BJšœ>™>Jšœ7™7Icode˜—šΟk ˜ K˜K˜K˜K˜K˜—K˜šΟnœžœž˜+Kšžœ%˜,Kšžœ˜$Kšžœ1˜5K˜Kšžœžœžœ˜K˜š Ÿ œžœžœžœžœžœ˜KK˜ K˜vK˜\K˜RK˜—K˜š Ÿœžœžœžœžœžœ˜SK˜ K˜JK˜kK˜—K˜š Ÿœžœžœ%žœžœžœ˜iK˜ K˜iK˜IK˜—K˜š Ÿœžœžœžœžœžœ˜Ošžœž˜K˜K˜K˜K˜#Kšžœž˜—K˜—K˜š Ÿœžœžœžœžœžœ˜OK˜ šžœžœžœž˜%Kš œžœžœžœžœ7˜dKšžœ˜—K˜K˜—K˜š Ÿ œžœžœžœžœžœ˜GK˜Dšžœžœž˜šœžœ˜!K˜A—šœžœ˜$K˜G—Kšžœž˜—K˜—K˜š Ÿœžœžœžœžœžœ˜Ošžœž˜K˜K˜%Kšžœž˜—K˜—K˜š Ÿ#œžœžœ-žœžœžœ˜yK˜ šžœžœžœž˜%Kš œžœžœžœžœ0˜]Kšžœ˜—K˜K˜—K˜š Ÿ œžœžœžœžœžœ˜Kšžœž˜K˜+K˜7K˜#K˜K˜-K˜)K˜)K˜/K˜5K˜;K˜-K˜1K˜/K˜/K˜MK˜=K˜GK˜Kšžœž˜—K˜—K˜š Ÿ œžœžœžœžœžœ˜MK˜ šžœžœžœž˜%Kš œžœžœžœžœ4˜aKšžœ˜—K˜K˜—K˜š Ÿœžœžœžœžœžœ˜]K˜ šžœžœžœž˜%Kš œžœžœžœžœ*˜WKšžœ˜—K˜K˜—K˜š Ÿœžœžœ"žœžœžœ˜cK˜ K˜iK˜BK˜—K˜š Ÿœžœžœžœžœžœ˜[K˜ šžœžœžœž˜%Kš œžœžœžœžœ%˜RKšžœ˜—K˜K˜—K˜š Ÿœžœžœžœžœžœ˜Yšžœž˜K˜-K˜)K˜-K˜)Kšžœž˜—K˜—K˜š Ÿœžœžœžœžœžœ˜Ušžœž˜K˜K˜Kšžœž˜—K˜—K˜š Ÿœžœžœžœžœžœ˜OK˜ K˜CK˜PK˜—K˜š Ÿ œžœžœžœžœžœ˜IK˜ K˜_K˜gK˜—K˜š Ÿœžœžœžœžœžœ˜OK˜ K˜QK˜KK˜—K˜š Ÿœžœžœžœžœžœ˜OK˜ K˜cK˜BK˜—K˜š Ÿœžœžœ žœžœžœ˜_K˜ K˜[K˜lK˜—K˜š Ÿœžœžœžœžœžœ˜SK˜ šžœžœžœž˜%Kš œžœžœžœžœ7˜dKšžœ˜—K˜K˜—K˜š Ÿ!œžœžœ+žœžœžœ˜ušžœž˜K˜K˜K˜K˜Kšžœž˜—K˜—K˜š Ÿ œžœžœžœžœžœ˜MK˜Jšžœžœž˜šœžœ˜#K˜>—šœžœ˜ K˜>—Kšžœž˜—K˜—K˜š Ÿœžœžœžœžœžœ˜QK˜ šžœžœžœž˜%Kš œžœžœžœžœ/˜\Kšžœ˜—K˜K˜—K˜š Ÿ œžœžœžœžœžœ˜Mšžœž˜K˜/K˜Kšžœž˜—K˜—K˜—K˜K˜—…—<'β