文件名
语法
ChangeState(REF stateData:EMAStateRec, VAL transition:INTEGER, REF mainData:EMAMainDataRec )
参数
stateData (I/O) - 状态说明记录
transition (I) - 请求的机器转换
返回
1 = 成功
0 = 失败,未初始化或未毁坏的状态结构
-1 = 失败,非法状态转换,未更改的状态
-2 = 失败,已更改为“失败状态”的状态
副作用
无
说明
此例行程序试图基于当前状态与状态转换表将该状态机器移到下一状态。注:此例行程序不执行任何 GUI 操作。如果需要,希望调用者调用 UpdateMainGUI。
调用的对话框窗体
无
文件名
语法
ContinueMessageProcessing ( REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
仅当系统已在处理消息且准备读取/处理下一消息时,才调用此例行程序。
调用的对话框窗体
无
文件名
语法
DisconnectFromEA(REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录
返回
1 = 成功
0 = 失败
Globals Changed: 设置 mainData 结构中的 TPM 数据与 stateData。
副作用
无
说明
此例行程序执行从 TPM 数据库断开连接所需的步骤。它向 TMG 管理员的当前列表发送一个 TMG 强制呼叫(通过电子邮件)。
调用的对话框窗体
无
文件名
语法
DisconnectFromEMail(REF mainData:EMAMainDataRec )
参数
mainData - EMA 环境记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序执行从电子邮件系统断开连接所需的步骤。它在数据库中创建一个新的问题门票提醒支持中心 TMG 已关闭。
调用的对话框窗体
无
文件名
语法
EMAInitialize ( REF mainData:EMAMainDataRec )
参数
mainData (I/O) - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
执行常规启动操作(已创建窗口之后)。
调用的对话框窗体
无
文件名
语法
EMAMainEvent ( REF mainData: EMAMainDataRec )
参数
mainData - 此窗口的实例数据
返回
1 = 通知窗口系统 EMAMainEvent 已成功,请继续。
0 = 通知窗口系统放弃操作或问题。
副作用
可能出现各种窗口,且实例数据记录将被修改。
说明
这是此模块的主窗口事件处理器例行程序。特别说明:TSD 脚本计时器系统依靠计时器设置、关闭与正常运行的基本操作系统。TMG 的大部分都是按照计时器设置的。(中央计时器用于 TMG 电子邮件服务器帐户的定期轮询。另一个计时器的设置是为了在每个外来邮件消息的处理之间引入一个“事件窗口”。)由于 StopTimer 消息的 SendMessaging 的细微差别,来自已停止的计时器的潜在的 $MsgTimer 事件仍可能被传递出去。如果可发送 StopTimer 消息以响应其他事件,则上述事项会给状态机器带来一些问题。该代码会变得非常错综复杂。为了解决这些计时问题,仅当某计时器收到来自要停止的计时器的 $MsgTimer 事件时,该代码才使该计时器停止运行。因此,仅当对该计时器来说,活动的 $MsgTimer 已到达时,转换为意味着“计时器已停止”状态的状态机器中的转换才能(实际上)完成。
调用的对话框窗体
无
文件名
语法
EMAStartup( VAL args:LIST OF STRING )
参数
MonitorData - 包含一个监视器记录
返回
1 = 成功
0 = 失败
副作用
主窗口出现。
说明
这是此 KB 文件的主驱动程序函数。它为该程序建立主窗口并将控件传递到该事件处理器例行程序中。
调用的对话框窗体
无
文件名
语法
HandleEMailError(REF status:INTEGER, REF mainData:EMAMainDataRec, VAL routineName:STRING, VAL noStateTransition:BOOLEAN ):INTEGER IS
参数
mainData - TMG 环境记录(具有 dlgWindow)
status - 由 TMG EMailXxx 例行程序返回的状态
routineName - 已产生错误的例行程序
noStateTransition - 防止状态转换为电子邮件错误
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
此例行程序用来从 TMG 的 EMailXxx 例行程序中选取标准返回状态并做出决定。如果该状态意味着致命的非持续性电子邮件错误,则该例行程序转到该电子邮件错误状态(除非设置了 noStateTransition 自变量,否则会这样做)。
调用的对话框窗体
无
文件名
语法
HandleEmailPollingEvent ( REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
执行响应轮询计时器事件的操作。此例行程序基本上是一个“如果已有一条消息到达,则处理新消息”的例行程序。假定主计时器已“关闭”,且该例行程序必须确定它是否该转换到该处理状态。如果未出现转换,则必须从此例行程序重新启动该计时器。对于非消息处理状态来说,目标是使主 GUI 的“当前未处理的消息计数”字段保持最新(以“轮询间隔”率)。
调用的对话框窗体
无
文件名
语法
HandleMenuSelection ( REF mainData: EMAMainDataRec, VAL dlgWindow: WINDOW, VAL menuID: INTEGER )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
可能出现多个框,消息可以被发送,数据可以被修改。
说明
从应用程序菜单条执行各种选择的相应功能。
调用的对话框窗体
无
文件名
语法
HandleRIFailure(REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序执行试图插入 TPM 数据库时处理参考完整性失败所需的步骤。它向 TMG 管理员的当前列表发送一个 TMG 强制呼叫(通过电子邮件)。
调用的对话框窗体
无
文件名
语法
InitializeState(REF stateData:EMAStateRec )
参数
stateData (I/O) - 状态说明记录
返回
1 = 成功
0 = 失败,状态未初始化
副作用
无
说明
此例行程序将初始化状态机器,准备对 ChangeState 进行后续调用。
调用的对话框窗体
无
文件名
语法
MungeEMailStatus ( REF status:INTEGER, REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
status - EMailXxxx 调用的状态变量
返回
1 = 成功
0 = 失败
副作用
无
说明
如果环境设置允许,此例行程序可用来虚假运行致命的电子邮件错误。它将所输入的状态变量修改为致命错误。
调用的对话框窗体
无
文件名
语法
PerformSelectAction ( REF mainData: EMAMainDataRec, VAL dlgHandle: WINDOW, VAL controlName: STRING, VAL controlID: INTEGER )
参数
mainDlgData - 此窗口的实例数据
dlgHandle - 对话框的窗口句柄
controlName - 所选控件的名称
controlID - 所选控件的编号标识
返回
1 = 成功
0 = 失败
副作用
TDT 不确保 StopTimer 消息防止任何潜在的计时器消息被发送出去。(因此,启动新计时器之前,以前的计时器必须停止运行。)m_mainData 模块记录可能被触及。
说明
此例行程序执行主窗口对话框中控件的操作。它完全由处理按钮事件组成,因为在主界面对话框中没有其他用户活动的控件。
调用的对话框窗体
无
文件名
语法
PlaceholderEvent
参数
无
返回
无
副作用
m_aboutData.aboutWindow 字段可能被清除。
说明
此例行程序为“关于框“窗口提供基本事件处理。
调用的对话框窗体
无
文件名
语法
ProcessAMessage( REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
日志、用户与统计框可能被更新。
说明
此例行程序处理单个电子邮件消息。(假定调用者已读取了一个邮件消息。)此例行程序分析并执行该命令。它验证该用户、将回答发送给该用户并更新主 GUI。
调用的对话框窗体
无
文件名
语法
ReconnectToEA(REF mainData:EMAMainDataRec )
参数
mainData (I/O) - TMG 环境记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序执行重新连接到 TPM 数据库所需的步骤并(如果成功)使转换摆脱 EA_CONNECT_ERROR 状态。
调用的对话框窗体
无
文件名
语法
ReconnectToEMail(REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序执行重新连接到电子邮件系统所需的步骤并(如果成功)使转换摆脱 EMAIL_CONNECT_ERROR 状态。
调用的对话框窗体
无
文件名
语法
SendReplyAsAttachment( VAL outputBody: STRING )
参数
mainData (I/O) - TMG 环境记录(具有 dlgWindow)
返回
TRUE
FALSE
副作用
无
说明
此函数确定外出消息的正文是否超过最大定义长度,在这种情况下将该消息的正文作为附件发送出去。
调用的对话框窗体
无
文件名
语法
SendUserReply ( REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
此例行程序选取用命令行数据输出部分的内容并将其作为电子邮件回答发送给在“发件人”字段中指定的用户。此情况的例外是需要管理员注意的一般失败。注:与此模块中的其他电子邮件例行程序不同,如果发送失败,此例行程序不会转换到电子邮件错误状态。
调用的对话框窗体
无
文件名
语法
ShutDownAndCloseWindow (REF mainData:EMAMainDataRec, VAL promptUser:BOOLEAN )
参数
mainData - EMA 环境记录(具有 dlgWindow)
promptUser - 指示退出时是否提示的标志
返回
1 = 成功
0 = 失败,或用户说“否”
副作用
邮件连接停机且文件关闭。
说明
使应用程序停止运行并用所提供的句柄关闭窗口。
调用的对话框窗体
无
文件名
语法
StartEmailTimer(REF mainData:EMAMainDataRec, VAL timerSpeed:INTEGER )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败,或计时器已经打开(基于 mainData)
副作用
设置状态数据 timerOn;检索 configData。
说明
此例行程序执行适当的操作启动 TMG 电子邮件计时器。
调用的对话框窗体
无
文件名
语法
StartIntraMessageTimer(REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败,或计时器已经打开(基于 mainData)
副作用
设置状态数据 timer2On。
说明
此例行程序执行适当的操作启动内部消息计时器。
调用的对话框窗体
无
文件名
语法
StartMessageProcessing( REF mainData:EMAMainDataRec )
参数
mainData - TMG 环境记录(具有 dlgWindow)
返回
1 = 成功
0 = 失败
副作用
邮件与 TPM 注册记录可以修改。
说明
当计时器已关闭且系统需要检查是否有任何新消息时,调用此例行程序。
调用的对话框窗体
无
文件名
语法
StopEmailTimer(REF mainData:EMAMainDataRec, VAL shouldBeOn:BOOLEAN )
参数
mainData - TMG 环境记录(具有 dlgWindow)
shouldBeOn - 指示计时器应该打开的标志
返回
1 = 成功
0 = 失败,或计时器已经关闭(基于 mainData)
副作用
设置状态数据 timerOn
说明
此例行程序执行适当的操作关闭 TMG 电子邮件计时器。
调用的对话框窗体
无
文件名
语法
StopIntraMessageTimer(REF mainData: EMAMainDataRec, VAL shouldBeOn: BOOLEAN )
参数
mainData - TMG 环境记录(具有 dlgWindow)
shouldBeOn - 指示计时器应该打开与运行的标志
返回
1 = 成功
0 = 失败,或计时器已经关闭(基于 mainData)
副作用
设置状态数据 timer2On
说明
此例行程序执行适当的操作毁坏内部消息计时器。(该计时器停止运行,不管它是否已经打开。)
调用的对话框窗体
无
文件名
语法
TransferAttribsToModuleRec(VAL mainAttribList:LIST OF DBDialogAttribRec, REF mainData:EMAMainDataRec )
参数
mainAttribList (O) - 数据返回值
返回
1 = 成功
0 = 失败
副作用
无
说明
此函数将“DB 属性”列表转移到模块数据结构中。
调用的对话框窗体
无
文件名
语法
TransferModuleRecToAttribs(REF mainAttribList:LIST OF DBDialogAttribRec, REF mainData:EMAMainDataRec )
参数
mainAttribList (O) - 数据返回值
返回
1 = 成功
0 = 失败
副作用
无
说明
此函数将要传输的模块数据结构内容“DB 属性”列表转移到数据库。
调用的对话框窗体
无
文件名
语法
UpdateCurrentProcessGUI(VAL mainWindow:WINDOW, VAL mailData:EMailDataRec, VAL cliData:CLIDataRec )
参数
mainData (I/O) - 应用程序的主要数据记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序将基于当前状态更新主界面与系统中的数据。
调用的对话框窗体
无
文件名
语法
UpdateMainGUI(VAL mainWindow: WINDOW, VAL mainData: EMAMainDataRec )
参数
mainData - 应用程序的主要数据记录
返回
1 = 成功
2 = GUI 未更新,当前状态 = 以前状态
副作用
无
说明
此例行程序将基于当前状态更新主界面与系统中的数据。
调用的对话框窗体
无
文件名
语法
UpdateMainGUIState(VAL mainWindow:WINDOW, VAL curState:INTEGER )
参数
mainData - 应用程序的主要数据记录
curState - 当前应用程序状态索引
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序将基于应用程序的状态更新主界面用户输入控件。
调用的对话框窗体
无
文件名
语法
UpdateServerStateGUI(VAL mainWindow:WINDOW, VAL curState:INTEGER )
参数
mainData - 应用程序的主要数据记录
curState - 当前应用程序状态索引
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序将基于当前状态更新主界面与系统中的数据。
调用的对话框窗体
无
文件名
语法
UpdateSummaryGUI(VAL mainWindow:WINDOW, VAL messageCount:INTEGER, VAL unreadableMessageCount:INTEGER )
参数
mainData - 应用程序的主要数据记录
返回
1 = 成功
0 = 失败
副作用
无
说明
此例行程序更新主界面摘要部分。
调用的对话框窗体
无