123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- class LogicDriver;
- namespace DiosCtrlBox
- {
- class LogicDriverThreadLocker
- {
- public:
- LogicDriverThreadLocker();
- ~LogicDriverThreadLocker();
- public:
- static LogicDriverThreadLocker *Instance();
- void Initialize(LogicDriver *logicDriver);
- DWORD Lock();
- void UnLock();
- private:
- static LogicDriverThreadLocker *m_Instance;
- LogicDriver *m_logicDriver;
- };
- class AutoLockLogicDriverThread
- {
- public:
- AutoLockLogicDriverThread()
- {
- LogicDriverThreadLocker::Instance()->Lock();
- }
- ~AutoLockLogicDriverThread()
- {
- LogicDriverThreadLocker::Instance()->UnLock();
- }
- };
- }
|