MailFormatP1516V3AuxImpl.Mesa
Copyright Ó 1989, 1991 by Xerox Corporation. All rights reserved.
Generated by Willie-sue.pa at February 13, 1989 6:37:15 pm PST
using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST
DIRECTORY
Convert,
Rope,
MailFormatP1516V3,
MailTransportP17V5Aux,
MailFormatP1516V3Aux;
MailFormatP1516V3AuxImpl: CEDAR PROGRAM
IMPORTS Convert, Rope, MailTransportP17V5Aux
EXPORTS MailFormatP1516V3Aux ~ {
OPEN MailFormatP1516V3, MailFormatP1516V3Aux;
ROPE: TYPE ~ Rope.ROPE;
ExposeAttribute: PUBLIC PROC [arg: Attribute, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "type~", Convert.RopeFromCard[arg.type], ", "];
res ¬ Rope.Cat[res, "value~", ExposeVal[arg.value, (level+1)], "]"];
};
ExposeForwardedHeadings: PUBLIC PROC [arg: ForwardedHeadings, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeForwardedMessageInfo[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeHeadingAtt: PUBLIC PROC [arg: HeadingAtt, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeAttribute[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeVal: PUBLIC PROC [arg: Val, 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, "]"];
};
ExposeNullRecord: PUBLIC PROC [arg: NullRecord, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[]";
};
ExposeSensitivity: PUBLIC PROC [arg: Sensitivity, level: NAT] RETURNS [res: ROPE] ~ {
SELECT arg FROM
personal => res ¬ "personal";
private => res ¬ "private";
companyConfidential => res ¬ "companyConfidential";
ENDCASE => ERROR
};
ExposeIPMessageIDList: PUBLIC PROC [arg: IPMessageIDList, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeIPMessageID[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeIPMessageID: PUBLIC PROC [arg: IPMessageID, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "originator~", MailTransportP17V5Aux.ExposeRName[arg.originator, (level+1)], ", "];
res ¬ Rope.Cat[res, "uniqueString~", arg.uniqueString, "]"];
};
ExposeImmutable: PUBLIC PROC [arg: Immutable, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[]";
};
ExposeHeadingBodyPart: PUBLIC PROC [arg: HeadingBodyPart, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeAttribute[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeassocBP: PUBLIC PROC [arg: assocBP, 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, "]"];
};
ExposeForwardedMessageInfo: PUBLIC PROC [arg: ForwardedMessageInfo, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "envelope~", ExposeEnvelopeAtt[arg.envelope, (level+1)], ", "];
res ¬ Rope.Cat[res, "heading~", ExposeHeadingAtt[arg.heading, (level+1)], ", "];
res ¬ Rope.Cat[res, "associatedBodyParts~", ExposeassocBP[arg.associatedBodyParts, (level+1)], ", "];
res ¬ Rope.Cat[res, "indexOfParentHeading~", ExposeIndexOfParentHeading[arg.indexOfParentHeading, (level+1)], "]"];
};
ExposeRNameList: PUBLIC PROC [arg: RNameList, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, MailTransportP17V5Aux.ExposeRName[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeImportance: PUBLIC PROC [arg: Importance, level: NAT] RETURNS [res: ROPE] ~ {
SELECT arg FROM
low => res ¬ "low";
normal => res ¬ "normal";
high => res ¬ "high";
ENDCASE => ERROR
};
ExposeEnvelopeAtt: PUBLIC PROC [arg: EnvelopeAtt, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, MailTransportP17V5Aux.ExposeEnvelopeItem[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeIndexOfParentHeadingKind: PUBLIC PROC [arg: IndexOfParentHeadingKind, level: NAT] RETURNS [res: ROPE] ~ {
SELECT arg FROM
null => res ¬ "null";
nested => res ¬ "nested";
ENDCASE => ERROR
};
ExposeIndexOfParentHeading: PUBLIC PROC [arg: IndexOfParentHeading, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ Rope.Cat["IndexOfParentHeading(", ExposeIndexOfParentHeadingKind[arg.type, (level+1)], "): "];
WITH arg SELECT FROM
it: REF IndexOfParentHeadingObject.null => {
res ¬ Rope.Concat[res, ExposeNullRecord[it.null, (level+1)]] };
it: REF IndexOfParentHeadingObject.nested => {
res ¬ Rope.Concat[res, ExposeNestedIndex[it.nested, (level+1)]] };
ENDCASE => ERROR
};
ExposeNestedIndex: PUBLIC PROC [arg: NestedIndex, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "index~", Convert.RopeFromCard[arg.index], "]"];
};
}...