抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留
This commit is contained in:
62
include/sApp.h
Normal file
62
include/sApp.h
Normal file
@@ -0,0 +1,62 @@
|
||||
#pragma once
|
||||
#include "GdCPP_Exports.h"
|
||||
#include "IpHelper.h"
|
||||
|
||||
struct GDCPP_API sApp
|
||||
{
|
||||
// 当前执行文件的完整路径
|
||||
fs::path ExeFullPath;
|
||||
|
||||
// 当前执行exe所在目录
|
||||
fs::path ExeDir;
|
||||
|
||||
// Exe文件名,可以根据不同名称执行不同的内容
|
||||
std::wstring wstrExeName;
|
||||
|
||||
// 工作目录,是Log、Setting目录的主目录
|
||||
// 初始化默认等于ExeDir。
|
||||
// 如果exe所在目录是Debug或Release,ExeDir就上移一层,到x64
|
||||
// 应用层可以另外指定工作目录
|
||||
fs::path WorkDir;
|
||||
|
||||
// 参数目录,默认为WorkDir下的Setting。应用层可以另外指定
|
||||
fs::path SettingDir;
|
||||
// Log目录,默认为WorkDir下的Log。应用层可以另外指定
|
||||
fs::path LogDir;
|
||||
|
||||
// exe文件的版本
|
||||
std::wstring exeFileVerStr;
|
||||
|
||||
std::wstring exeProductVerStr;
|
||||
|
||||
// exe的HINSTANCE
|
||||
HINSTANCE hInstance_Exe=0;
|
||||
|
||||
CAdapterList NetAdapter;
|
||||
|
||||
// @brief 跟具体应用关系不大的常规初始操作,与应用相关的放到init()。
|
||||
// 初始化CTick,获取exe路径,设置工作目录、Log目录、Dump。在InitInstance()开头调用
|
||||
// @return 是否有错。没错返回0;已知错误:
|
||||
virtual int preInit();
|
||||
|
||||
// 与应用相关的初始化,每个应用相差很大,
|
||||
// 继承类不需要调用sApp::init(),只是给个参考。
|
||||
// 通常先调整工作目录,初始化Log,后面的操作都需要用到Log了
|
||||
virtual int init();
|
||||
|
||||
virtual int deinit();
|
||||
|
||||
// 初始化gdi用到的变量,
|
||||
// 保存下来用于在deinit()里判断是否初始化过gdi
|
||||
ULONG_PTR m_gdiplusToken=0;
|
||||
|
||||
// 初始化socket用到的变量,
|
||||
// 保存下来用于在deinit()里用判断是否初始化过socket
|
||||
WSADATA wsaData={0,0};
|
||||
|
||||
void initGDI();
|
||||
bool initSocket();
|
||||
virtual void RestartWindows();
|
||||
virtual void ShutdownWindows();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user