<<>> <> <> <> <> <> <<>> DIRECTORY Rope USING [ROPE], MailBasics USING [RNameList], MailSend USING [MailSendHandle]; MailSendSidedoor: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; AbortSendProc: TYPE = PROC[msH: MailSend.MailSendHandle, lastTime: BOOL] RETURNS [abort: BOOL]; MailSendSidedoorProcsRef: TYPE = REF MailSendSidedoorProcs; MailSendSidedoorProcs: TYPE = RECORD [ which: ATOM, SendWithAbort: PROC[msH: MailSend.MailSendHandle, validate, sendEvenIfInvalidNames, allowDLRecipients: BOOL, abortSend: AbortSendProc] RETURNS [sent: BOOL, failureReason: ROPE, invalidNames, dlsNotAllowed, fakeDls: MailBasics.RNameList] ]; SendWithAbort: PROC [msH: MailSend.MailSendHandle, validate, sendEvenIfInvalidNames, allowDLRecipients: BOOL, abortSend: AbortSendProc, transport: ATOM ¬ $any] RETURNS [sent: BOOL, failureReason: ROPE, invalidNames, dlsNotAllowed, fakeDls: MailBasics.RNameList]; <> <> <> <> <> <> <> <> <> <> <> RegisterMailSendSidedoorProcs: PROC[newProcs: MailSendSidedoorProcsRef]; GetRegisteredSendSidedoorProcsList: PROC RETURNS[LIST OF MailSendSidedoorProcsRef]; <> <<>> GetRegisteredMailSendSidedoorProcs: PROC[which: ATOM] RETURNS[MailSendSidedoorProcsRef]; <<>> END.