Files
SimpleRemoter/server/2015Remote/2015Remote.h

91 lines
1.6 KiB
C
Raw Normal View History

// 2015Remote.h : PROJECT_NAME Ӧ<>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
//
#pragma once
#ifndef __AFXWIN_H__
#error "<22>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>stdafx.h<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PCH <20>ļ<EFBFBD>"
#endif
#include "resource.h" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "common/iniFile.h"
#include "IOCPServer.h"
// CMy2015RemoteApp:
// <20>йش<D0B9><D8B4><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2015Remote.cpp
//
class CMy2015RemoteApp : public CWinApp
{
private:
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1>
config* m_iniFile = nullptr;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
std::vector<Server*> m_iocpServer;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HANDLE m_Mutex = nullptr;
public:
CMy2015RemoteApp();
CImageList m_pImageList_Large; //ϵͳ<CFB5><CDB3>ͼ<EFBFBD><CDBC>
CImageList m_pImageList_Small; //ϵͳСͼ<D0A1><CDBC>
virtual BOOL InitInstance();
config* GetCfg() const {
return m_iniFile;
}
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0
UINT StartServer(pfnNotifyProc NotifyProc, pfnOfflineProc OffProc, USHORT uPort) {
auto svr = new IOCPServer();
UINT ret = svr->StartServer(NotifyProc, OffProc, uPort);
if (ret != 0) {
SAFE_DELETE(svr);
return ret;
}
m_iocpServer.push_back(svr);
return 0;
}
// <20>ͷŷ<CDB7><C5B7><EFBFBD><EFBFBD><EFBFBD> SOCKET
void Destroy() {
for (int i=0; i<m_iocpServer.size(); ++i)
{
m_iocpServer[i]->Destroy();
}
}
// <20>ͷŷ<CDB7><C5B7><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
void Delete() {
for (int i = 0; i < m_iocpServer.size(); ++i)
{
SAFE_DELETE(m_iocpServer[i]);
}
m_iocpServer.clear();
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void UpdateMaxConnection(int maxConn) {
for (int i = 0; i < m_iocpServer.size(); ++i)
{
m_iocpServer[i]->UpdateMaxConnection(maxConn);
}
}
DECLARE_MESSAGE_MAP()
2019-01-13 00:04:50 +08:00
virtual int ExitInstance();
};
extern CMy2015RemoteApp theApp;
CMy2015RemoteApp* GetThisApp();
config& GetThisCfg();
#define THIS_APP GetThisApp()
#define THIS_CFG GetThisCfg()