-- file: LaurelSendDefs.mesa
-- last edited: Mike Schroeder, April 2, 1981 10:30 AM
-- edited by Brotz, April 8, 1981 4:10 PM
DIRECTORY
ovD: FROM "OverviewDefs",
exD: FROM "ExceptionDefs";
LaurelSendDefs: DEFINITIONS = BEGIN
SendErrorType: TYPE =
{cancelCode, dlExpandError, dlSyntaxError, ftpError,
uncertainClosing, cantConnect, badSender, illegalFileExpansion,
illegalRecipient, messageSyntaxError, missingQualification, illegalFromField,
noRecipientsSpecified, unexpectedResponse, noValidRecipients};
SendMode: TYPE = {red, blue};
SendError: ERROR;
ParseForSend: PROCEDURE[expandPublicDLs:BOOLEAN, sendMode: SendMode]
RETURNS [unexpandedPublicDLs:CARDINAL, netMail:BOOLEAN,
fromField:BOOLEAN, replyTo: BOOLEAN];
GVSend: PROCEDURE[publicDLs:CARDINAL, sendMode: SendMode,
netMail:BOOLEAN, fromField:BOOLEAN, replyTo: BOOLEAN, formatProc: PROCEDURE];
MTPSend: PROCEDURE[sendMode: SendMode, netMail:BOOLEAN,
fromField:BOOLEAN, replyTo: BOOLEAN, formatProc: PROCEDURE];
DeliverBody: PROCEDURE
[netMail: BOOLEAN, fromField: BOOLEAN,
SendBlock: PROCEDURE [POINTER, CARDINAL]];
ReportRejectedRecipients: PUBLIC PROCEDURE [rejected: CARDINAL,
nameList: STRING, nameListFull: BOOLEAN];
ReportDelivery: PUBLIC PROCEDURE [chars, goodOther, totalOther: CARDINAL,
goodList: CARDINAL ← 0, totalList: CARDINAL ← 0];
InitReadChar: PROCEDURE;
ReadChar: PROCEDURE RETURNS [ch: CHARACTER];
BackupChar: PROCEDURE;
GetCharPosition: PUBLIC PROCEDURE RETURNS[ovD.CharIndex];
CancelDelivery: PROCEDURE;
AbortPoint: PROCEDURE;
NoticeUserAbort: PROCEDURE;
AskUser: PROCEDURE [exception: exD.Exception, string: STRING];
RetryThis: PROCEDURE[string: STRING, excep: exD.Exception ← exD.nil]
RETURNS [BOOLEAN];
ReportProgress: PROCEDURE[exception: exD.Exception, string: STRING,
displayCancelMessage: BOOLEAN];
ReportError: PROCEDURE[erc: SendErrorType, msg: STRING,
start, end: ovD.CharIndex];
MoveUnderline: PROCEDURE[start, end: ovD.CharIndex];
InsertReplyToField: PROCEDURE;
InitializeRecipientList: PROCEDURE[];
FlushRecipientList: PROCEDURE [];
EnumerateRecipientList: PROCEDURE [space: CARDINAL,
proc: PROCEDURE[s: STRING] RETURNS[BOOLEAN]]
RETURNS [outcome: BOOLEAN];
-- "s" is guarenteed to have at least "space" free characters at the end.
-- "proc" returning TRUE stops the enumeration.
-- "outcome" reports last value returned by "proc".
InsertRecipientInList: PROCEDURE [s: STRING];
GetRecipients: PROCEDURE RETURNS [CARDINAL];
ProtocolType: TYPE = {gv, mtp};
GetSendProtocol: PROCEDURE RETURNS [ProtocolType];
END.