DIRECTORY BasicTime USING [nullGMT, GMT], MailBasics USING [RName, RNameList], MailSend USING [MailSendHandle], MailSendSidedoor USING [AbortSendProc], Menus USING [Menu], Rope USING [ROPE], ViewerClasses USING [Viewer], ViewerEvents USING [EventRegistration], ViewerTools USING [TiogaContents], SendMailParseMsg USING [SendParseStatus], SendMailOps USING [Form, OutBoxMsg]; SendMailInternal: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; TiogaContents: TYPE = ViewerTools.TiogaContents; Viewer: TYPE = ViewerClasses.Viewer; SendingRec: TYPE = REF SendMsgRecObject; SendMsgRecObject: TYPE = RECORD[ fullText: ROPE, -- text to be sent from: MailBasics.RName, -- The From: field to: MailBasics.RNameList, cc: MailBasics.RNameList, subject: ROPE, -- The Subject: field voiceID: ROPE, -- the ID for a voice message replyTo: BOOL ¬ FALSE, -- is this field present numRecipients: INT ¬ 0, numPublicDLs: INT ¬ 0, numPrivateDLs: INT ¬ 0, endHeadersPos: INT ¬ 0 -- for adding Reply-To: field ]; SenderInfo: TYPE = REF SenderInfoObject; SenderInfoObject: TYPE = RECORD [ senderV: Viewer, sendingTransports: LIST OF ATOM, -- $gv, $xns, etc thisMenu: Menus.Menu, -- different ones avilable replyToResponse: HowToReplyTo ¬ self, numCharsToDelete: INT ¬ 0, currentOutBox: SendMailOps.OutBoxMsg ¬ NIL, closeEvent, destroyEvent, editEvent: ViewerEvents.EventRegistration ¬ NIL, openEvent, focusEvent: ViewerEvents.EventRegistration ¬ NIL, dontClose: BOOL ¬ FALSE, successfullySent, userResponded, confirmed: BOOL ¬ FALSE, aborted: BOOL ¬ FALSE, timeToWait: CONDITION, startSendTime: BasicTime.GMT ¬ BasicTime.nullGMT, validateFlag: BOOL ¬ TRUE, sendHandle: MailSend.MailSendHandle ¬ NIL ]; maxWithNoReplyTo: INT = 20; HowToReplyTo: TYPE = {self, all, cancel}; SendParseStatus: TYPE = SendMailParseMsg.SendParseStatus; sendCaption: ROPE; needToAuthenticate: BOOL; replyToSelf: BOOL; alwaysNewSender: BOOL; sendMenu, formsMenu, sendingMenu, blankMenu, confirmMenu, replyToMenu: Menus.Menu; standardDefaultText: ViewerTools.TiogaContents; standardAnswerText: ViewerTools.TiogaContents; standardForwardText: ViewerTools.TiogaContents; defaultForm: SendMailOps.Form; localRNameList: LIST OF ROPE; InsertIntoViewer: PROC [v: Viewer, what: ROPE, where: INT, labelFont: ROPE ¬ NIL, changeSelection: BOOL ¬ FALSE]; ShowErrorFeedback: PROC[v: Viewer, start, end: INT]; DeleteChars: PROC[v: Viewer, num: INT]; CheckForAbortSend: PROC[senderInfo: SenderInfo] RETURNS[BOOL]; SenderAbortProc: MailSendSidedoor.AbortSendProc; Confirmation: PROC[senderInfo: SenderInfo] RETURNS [BOOL]; ReplyToResponse: PROC[senderInfo: SenderInfo] RETURNS [HowToReplyTo]; GrabFocus: PROC[senderV: Viewer]; ClearFileAssoc: PROC[v: Viewer]; SenderNewVersion: PROC[viewer: Viewer]; UnsetNewVersion: PROC[viewer: Viewer]; LockViewerOpen: PROC[viewer: Viewer]; ReleaseOpenViewer: PROC[viewer: Viewer]; GetSendForm: PROC[fileName: ROPE] RETURNS[text: TiogaContents]; InternalDisplayTioga: PROC[senderInfo: SenderInfo, tc: TiogaContents, grab: BOOL]; InsertForm: PROC[ sender: SenderInfo, form: SendMailOps.Form, force: BOOL ]; DoPlaceHolders: PROC[senderV: Viewer, fieldsList: LIST OF ROPE]; ParseText: PROC[msg: SendingRec, transport: ATOM] RETURNS[status: SendParseStatus, sPos, mPos: INT]; DoUserNameAndRegistry: PROC; EntryInsertForm: PROC[senderInfo: SenderInfo, form: SendMailOps.Form]; EntryPlaceHolders: PROC[senderInfo: SenderInfo, fieldsList: LIST OF ROPE]; InternalDestroySplits: PROC[keepThisOne: Viewer]; END.  SendMailInternal.mesa - internal interface for the implementation modules Copyright Σ 1984, 1985, 1988, 1989, 1990, 1992 by Xerox Corporation. All rights reserved. Willie-Sue on August 4, 1989 1:34:05 pm PDT Donahue, September 2, 1983 9:35 am Russ Atkinson (RRA) March 21, 1985 0:12:03 am PST Willie-s, October 7, 1991 2:26 pm PDT *********************************************************** the rope supplied is inserted into the contents of the specified viewer at the given location. If a label font is specified, then any characters appearing before a ":" in the string are given the specified font (this is used to put message header labels in appropriate fonts) procs moved to SendMailOpsImpl, needed in SendMailControlImpl exported from SendMailControlImpl for use by SendMailOpsImpl ΚO•NewlineDelimiter –(cedarcode) style™codešΟbœ4™IKšœ ΟeœO™ZKšœ+™+KšΟy"™"KšœΟkœ ™1K™%—K˜š  ˜ Kšœ  œ  œ˜Kšœ  œ˜$Kšœ  œ˜ Kšœ œ˜'Kšœ œ˜Kšœ œ œ˜Kšœ œ ˜Kšœ  œ˜'Kšœ  œ˜"Kšœ œ˜)Kšœ  œ˜$K˜—KšΟnœ œ  œ ˜+K˜Kš œ œ œ˜Kšœ œ˜0Kšœ œ˜$K˜Kšœ  œ œ˜(šœ œ œ˜ Kšœ  œΟc˜"Kšœ’˜+Kšœ˜Kšœ˜Kšœ  œ’˜$Kšœ  œ’˜,Kšœ  œ œ’˜/Kšœ œ˜Kšœ œ˜Kšœ œ˜Kšœ œ’˜4K˜K˜—Kšœ  œ œ˜(šœ œ œ˜!K˜Kšœ œ œ œ’˜2Kšœ’˜1K˜%Kšœ œ˜Kšœ' œ˜+KšœF œ˜JKšœ9 œ˜=Kšœ  œ œ˜Kšœ, œ œ˜9Kšœ  œ œ˜Kšœ   œ˜Kšœ œ˜1Kšœ œ œ˜Kšœ& ˜)šœ˜K˜——Kšœ œ˜Kšœ œ˜)K˜šœ œ$˜9K˜—Kšœ  œ˜Kšœ œ˜Kšœ  œ˜Kšœ œ˜K˜K˜RK˜Kšœ/˜/Kšœ.˜.Kšœ/˜/Kšœ˜Kšœ œ œ œ˜K˜Kšœ;™;˜š‘œ œ œ  œ  œ œ œ œ˜qKšœ”™”—K˜Kš‘œ œ œ˜4K˜Kš‘ œ œ œ˜'K˜Kš‘œ œ œ œ˜>K˜š‘œ!˜0K˜—Kš‘ œ œ œ œ˜:K˜Kš‘œ œ œ˜EK˜Kš‘ œ œ˜!K˜Kš‘œ œ ˜ K˜Kš‘œ œ˜'K˜Kš‘œ œ˜&K˜Kš‘œ œ˜%K˜š‘œ œ˜(K˜——K™=˜Kš‘ œ œ  œ œ˜?K˜Kš‘œ œ2 œ˜RK˜Kš‘ œ œ5 œ˜LK˜š ‘œ œ œ œ œ˜@K˜—š ‘ œ œ œ œ& œ˜dK˜——K˜K™<˜š‘œ œ˜K˜—Kš‘œ œ1˜FK˜Kš ‘œ œ% œ œ œ˜JK˜Kš‘œ œ˜1—K˜Kš œ˜K˜—…— Ί)