51 lines
1,000 B
C++
51 lines
1,000 B
C++
/*
|
|
* Thread methods, local storage
|
|
*/
|
|
|
|
#ifndef DUI_CORE_THREAD_H_INCLUDED
|
|
#define DUI_CORE_THREAD_H_INCLUDED
|
|
|
|
#pragma once
|
|
|
|
namespace DirectUI
|
|
{
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Synchronization lock
|
|
|
|
class Lock
|
|
{
|
|
public:
|
|
Lock() { InitializeCriticalSection(&_cs); }
|
|
~Lock() { DeleteCriticalSection(&_cs); }
|
|
void Enter() { EnterCriticalSection(&_cs); }
|
|
void Leave() { LeaveCriticalSection(&_cs); }
|
|
|
|
private:
|
|
CRITICAL_SECTION _cs;
|
|
};
|
|
|
|
extern Lock* g_plkParser;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Initialization
|
|
|
|
HRESULT InitProcess();
|
|
HRESULT UnInitProcess();
|
|
|
|
HRESULT InitThread();
|
|
HRESULT UnInitThread();
|
|
|
|
// Control library class registration
|
|
HRESULT RegisterAllControls();
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Message pump
|
|
|
|
void StartMessagePump();
|
|
void StopMessagePump();
|
|
|
|
} // namespace DirectUI
|
|
|
|
#endif // DUI_CORE_THREAD_H_INCLUDED
|