init
This commit is contained in:
195
Servers/服务器组件/协调服务器/CorrespondServerDlg.cpp
Normal file
195
Servers/服务器组件/协调服务器/CorrespondServerDlg.cpp
Normal file
@@ -0,0 +1,195 @@
|
||||
#include "Stdafx.h"
|
||||
#include "Resource.h"
|
||||
#include "CorrespondServerDlg.h"
|
||||
#include "ServerCtrlDlg.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
BEGIN_MESSAGE_MAP(CCorrespondServerDlg, CDialog)
|
||||
ON_WM_QUERYENDSESSION()
|
||||
ON_BN_CLICKED(IDC_STOP_SERVICE, OnBnClickedStopService)
|
||||
ON_BN_CLICKED(IDC_START_SERVICE, OnBnClickedStartService)
|
||||
ON_BN_CLICKED(IDC_SYSTEM_OPTION, OnBnClickedSystemOption)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//构造函数
|
||||
CCorrespondServerDlg::CCorrespondServerDlg() : CDialog(IDD_DLG_CORRESPOND_SERVER)
|
||||
{
|
||||
}
|
||||
|
||||
//析构函数
|
||||
CCorrespondServerDlg::~CCorrespondServerDlg()
|
||||
{
|
||||
}
|
||||
|
||||
//控件绑定
|
||||
VOID CCorrespondServerDlg::DoDataExchange(CDataExchange * pDX)
|
||||
{
|
||||
__super::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_TRACE_MESSAGE, m_TraceServiceControl);
|
||||
}
|
||||
|
||||
//初始化函数
|
||||
BOOL CCorrespondServerDlg::OnInitDialog()
|
||||
{
|
||||
__super::OnInitDialog();
|
||||
|
||||
//设置标题
|
||||
SetWindowText(TEXT("协调服务器 -- [ 停止 ]"));
|
||||
|
||||
//设置图标
|
||||
HICON hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
|
||||
SetIcon(hIcon,TRUE);
|
||||
SetIcon(hIcon,FALSE);
|
||||
|
||||
//设置组件
|
||||
m_ServiceUnits.SetServiceUnitsSink(this);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//确定消息
|
||||
VOID CCorrespondServerDlg::OnOK()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//取消函数
|
||||
VOID CCorrespondServerDlg::OnCancel()
|
||||
{
|
||||
//关闭询问
|
||||
if (m_ServiceUnits.GetServiceStatus()!=ServiceStatus_Stop)
|
||||
{
|
||||
LPCTSTR pszQuestion=TEXT("协调服务器正在运行中,您确实要关闭服务器吗?");
|
||||
if (AfxMessageBox(pszQuestion,MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)!=IDYES) return;
|
||||
}
|
||||
|
||||
//停止服务
|
||||
m_ServiceUnits.ConcludeService();
|
||||
|
||||
__super::OnCancel();
|
||||
}
|
||||
|
||||
//消息解释
|
||||
BOOL CCorrespondServerDlg::PreTranslateMessage(MSG * pMsg)
|
||||
{
|
||||
//按键过滤
|
||||
if ((pMsg->message==WM_KEYDOWN)&&(pMsg->wParam==VK_ESCAPE))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return __super::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
//服务状态
|
||||
VOID CCorrespondServerDlg::OnServiceUnitsStatus(enServiceStatus ServiceStatus)
|
||||
{
|
||||
//状态设置
|
||||
switch (ServiceStatus)
|
||||
{
|
||||
case ServiceStatus_Stop: //停止状态
|
||||
{
|
||||
//设置标题
|
||||
SetWindowText(TEXT("协调服务器 -- [ 停止 ]"));
|
||||
|
||||
//设置按钮
|
||||
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_START_SERVICE)->EnableWindow(TRUE);
|
||||
|
||||
//提示信息
|
||||
LPCTSTR pszDescribe=TEXT("服务停止成功");
|
||||
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
|
||||
|
||||
break;
|
||||
}
|
||||
case ServiceStatus_Config: //配置状态
|
||||
{
|
||||
//设置标题
|
||||
SetWindowText(TEXT("协调服务器 -- [ 初始化 ]"));
|
||||
|
||||
//设置按钮
|
||||
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_START_SERVICE)->EnableWindow(FALSE);
|
||||
|
||||
//提示信息
|
||||
LPCTSTR pszDescribe=TEXT("正在初始化组件...");
|
||||
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
|
||||
|
||||
break;
|
||||
}
|
||||
case ServiceStatus_Service: //服务状态
|
||||
{
|
||||
//设置标题
|
||||
SetWindowText(TEXT("协调服务器 -- [ 运行 ]"));
|
||||
|
||||
//设置按钮
|
||||
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_START_SERVICE)->EnableWindow(FALSE);
|
||||
|
||||
//提示信息
|
||||
LPCTSTR pszDescribe=TEXT("服务启动成功");
|
||||
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//启动服务
|
||||
VOID CCorrespondServerDlg::OnBnClickedStartService()
|
||||
{
|
||||
//启动服务
|
||||
try
|
||||
{
|
||||
m_ServiceUnits.StartService();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//停止服务
|
||||
VOID CCorrespondServerDlg::OnBnClickedStopService()
|
||||
{
|
||||
//停止服务
|
||||
try
|
||||
{
|
||||
m_ServiceUnits.ConcludeService();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//系统配置;
|
||||
VOID CCorrespondServerDlg::OnBnClickedSystemOption()
|
||||
{
|
||||
CServerCtrlDlg mDlg(this);
|
||||
mDlg.DoModal();
|
||||
}
|
||||
|
||||
//关闭询问
|
||||
BOOL CCorrespondServerDlg::OnQueryEndSession()
|
||||
{
|
||||
//提示消息
|
||||
if (m_ServiceUnits.GetServiceStatus()!=ServiceStatus_Stop)
|
||||
{
|
||||
CTraceService::TraceString(TEXT("服务正在运行中,系统要求注销回话请求失败"),TraceLevel_Warning);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
Reference in New Issue
Block a user