抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留

This commit is contained in:
Zhang Jianjun
2026-02-02 16:09:02 +08:00
parent f148ca49e3
commit 4a2a284ac0
292 changed files with 350450 additions and 0 deletions

59
include/sEvent.h Normal file
View File

@@ -0,0 +1,59 @@
#pragma once
struct sEvent
{
sEvent() = default;
~sEvent()
{
if (e) CloseHandle(e);
}
// event句柄默认构造为0Reset()或Set()时自动创建
HANDLE e = nullptr;
std::string errStr;
bool Reset()
{
if (!e) // not created yet
return (nullptr !=(e = CreateEvent(NULL, TRUE, FALSE, NULL)));// ManualReset, InitialState=FALSE
else
return bool(ResetEvent(e));
}
bool Set()
{
if(!e)// not created yet
return (nullptr !=(e = CreateEvent(NULL, TRUE, TRUE, NULL))); // ManualReset, InitialState=TRUE
else
return bool(SetEvent(e));
}
int Wait(int timeout)
{
uint32_t wait_res = WaitForSingleObject(e, timeout);
if(wait_res == WAIT_OBJECT_0) {
errStr.clear();
return 0;
}else if(wait_res == WAIT_TIMEOUT) {
errStr = "Timeout";
return -1;
} if (WAIT_FAILED == wait_res) {
errStr = fmt::format("Fail({})", GetLastError());
return -2;
}else if(WAIT_ABANDONED == wait_res){
errStr = "Abandoned";
return -3;
}
else {
errStr = fmt::format("Unknown error ({})", wait_res);
return -4;
}
}
inline operator HANDLE() const
{
return e;
}
};