mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 15:14:59 -06:00
4.58 beta
This commit is contained in:
committed by
Kornel Lesiński
parent
bd1fa36322
commit
3901bf0ab8
@@ -66,6 +66,11 @@ bool ConvertFileTimeToString(const FILETIME &ft, char *s, bool includeTime, bool
|
||||
{
|
||||
*s++ = ':';
|
||||
UIntToStringSpec(st.wSecond, s, 2);
|
||||
/*
|
||||
s += 2;
|
||||
*s++ = '.';
|
||||
UIntToStringSpec(st.wMilliseconds, s, 3);
|
||||
*/
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
@@ -26,9 +26,9 @@ public:
|
||||
operator HANDLE() { return _object.handle; }
|
||||
CBaseEvent() { Event_Construct(&_object); }
|
||||
~CBaseEvent() { Close(); }
|
||||
HRes Close() { return Event_Close(&_object); }
|
||||
WRes Close() { return Event_Close(&_object); }
|
||||
#ifdef _WIN32
|
||||
HRes Create(bool manualReset, bool initiallyOwn, LPCTSTR name = NULL,
|
||||
WRes Create(bool manualReset, bool initiallyOwn, LPCTSTR name = NULL,
|
||||
LPSECURITY_ATTRIBUTES securityAttributes = NULL)
|
||||
{
|
||||
_object.handle = ::CreateEvent(securityAttributes, BoolToBOOL(manualReset),
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
return 0;
|
||||
return ::GetLastError();
|
||||
}
|
||||
HRes Open(DWORD desiredAccess, bool inheritHandle, LPCTSTR name)
|
||||
WRes Open(DWORD desiredAccess, bool inheritHandle, LPCTSTR name)
|
||||
{
|
||||
_object.handle = ::OpenEvent(desiredAccess, BoolToBOOL(inheritHandle), name);
|
||||
if (_object.handle != 0)
|
||||
@@ -46,27 +46,27 @@ public:
|
||||
}
|
||||
#endif
|
||||
|
||||
HRes Set() { return Event_Set(&_object); }
|
||||
WRes Set() { return Event_Set(&_object); }
|
||||
// bool Pulse() { return BOOLToBool(::PulseEvent(_handle)); }
|
||||
HRes Reset() { return Event_Reset(&_object); }
|
||||
HRes Lock() { return Event_Wait(&_object); }
|
||||
WRes Reset() { return Event_Reset(&_object); }
|
||||
WRes Lock() { return Event_Wait(&_object); }
|
||||
};
|
||||
|
||||
class CManualResetEvent: public CBaseEvent
|
||||
{
|
||||
public:
|
||||
HRes Create(bool initiallyOwn = false)
|
||||
WRes Create(bool initiallyOwn = false)
|
||||
{
|
||||
return ManualResetEvent_Create(&_object, initiallyOwn ? 1: 0);
|
||||
}
|
||||
HRes CreateIfNotCreated()
|
||||
WRes CreateIfNotCreated()
|
||||
{
|
||||
if (IsCreated())
|
||||
return 0;
|
||||
return ManualResetEvent_CreateNotSignaled(&_object);
|
||||
}
|
||||
#ifdef _WIN32
|
||||
HRes CreateWithName(bool initiallyOwn, LPCTSTR name)
|
||||
WRes CreateWithName(bool initiallyOwn, LPCTSTR name)
|
||||
{
|
||||
return CBaseEvent::Create(true, initiallyOwn, name);
|
||||
}
|
||||
@@ -76,11 +76,11 @@ public:
|
||||
class CAutoResetEvent: public CBaseEvent
|
||||
{
|
||||
public:
|
||||
HRes Create()
|
||||
WRes Create()
|
||||
{
|
||||
return AutoResetEvent_CreateNotSignaled(&_object);
|
||||
}
|
||||
HRes CreateIfNotCreated()
|
||||
WRes CreateIfNotCreated()
|
||||
{
|
||||
if (IsCreated())
|
||||
return 0;
|
||||
@@ -92,13 +92,13 @@ public:
|
||||
class CObject: public CHandle
|
||||
{
|
||||
public:
|
||||
HRes Lock(DWORD timeoutInterval = INFINITE)
|
||||
WRes Lock(DWORD timeoutInterval = INFINITE)
|
||||
{ return (::WaitForSingleObject(_handle, timeoutInterval) == WAIT_OBJECT_0 ? 0 : ::GetLastError()); }
|
||||
};
|
||||
class CMutex: public CObject
|
||||
{
|
||||
public:
|
||||
HRes Create(bool initiallyOwn, LPCTSTR name = NULL,
|
||||
WRes Create(bool initiallyOwn, LPCTSTR name = NULL,
|
||||
LPSECURITY_ATTRIBUTES securityAttributes = NULL)
|
||||
{
|
||||
_handle = ::CreateMutex(securityAttributes, BoolToBOOL(initiallyOwn), name);
|
||||
@@ -106,14 +106,14 @@ public:
|
||||
return 0;
|
||||
return ::GetLastError();
|
||||
}
|
||||
HRes Open(DWORD desiredAccess, bool inheritHandle, LPCTSTR name)
|
||||
WRes Open(DWORD desiredAccess, bool inheritHandle, LPCTSTR name)
|
||||
{
|
||||
_handle = ::OpenMutex(desiredAccess, BoolToBOOL(inheritHandle), name);
|
||||
if (_handle != 0)
|
||||
return 0;
|
||||
return ::GetLastError();
|
||||
}
|
||||
HRes Release()
|
||||
WRes Release()
|
||||
{
|
||||
return ::ReleaseMutex(_handle) ? 0 : ::GetLastError();
|
||||
}
|
||||
@@ -133,15 +133,15 @@ class CSemaphore
|
||||
public:
|
||||
CSemaphore() { Semaphore_Construct(&_object); }
|
||||
~CSemaphore() { Close(); }
|
||||
HRes Close() { return Semaphore_Close(&_object); }
|
||||
WRes Close() { return Semaphore_Close(&_object); }
|
||||
operator HANDLE() { return _object.handle; }
|
||||
HRes Create(UInt32 initiallyCount, UInt32 maxCount)
|
||||
WRes Create(UInt32 initiallyCount, UInt32 maxCount)
|
||||
{
|
||||
return Semaphore_Create(&_object, initiallyCount, maxCount);
|
||||
}
|
||||
HRes Release() { return Semaphore_Release1(&_object); }
|
||||
HRes Release(UInt32 releaseCount) { return Semaphore_ReleaseN(&_object, releaseCount); }
|
||||
HRes Lock() { return Semaphore_Wait(&_object); }
|
||||
WRes Release() { return Semaphore_Release1(&_object); }
|
||||
WRes Release(UInt32 releaseCount) { return Semaphore_ReleaseN(&_object, releaseCount); }
|
||||
WRes Lock() { return Semaphore_Wait(&_object); }
|
||||
};
|
||||
|
||||
class CCriticalSection
|
||||
|
||||
@@ -19,10 +19,10 @@ public:
|
||||
CThread() { Thread_Construct(&thread); }
|
||||
~CThread() { Close(); }
|
||||
bool IsCreated() { return Thread_WasCreated(&thread) != 0; }
|
||||
HRes Close() { return Thread_Close(&thread); }
|
||||
HRes Create(THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE *startAddress)(void *), LPVOID parameter)
|
||||
WRes Close() { return Thread_Close(&thread); }
|
||||
WRes Create(THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE *startAddress)(void *), LPVOID parameter)
|
||||
{ return Thread_Create(&thread, startAddress, parameter); }
|
||||
HRes Wait() { return Thread_Wait(&thread); }
|
||||
WRes Wait() { return Thread_Wait(&thread); }
|
||||
|
||||
#ifdef _WIN32
|
||||
DWORD Resume() { return ::ResumeThread(thread.handle); }
|
||||
|
||||
Reference in New Issue
Block a user