Files
core/ASCImageStudio3/AVSImageView5/Tracking/TemporaryCS.h
Elen.Subbotina 70e623d70b восстановление
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62634 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-21 00:05:02 +03:00

29 lines
410 B
C++

#pragma once
class CTemporaryCS
{
public:
CTemporaryCS(CRITICAL_SECTION *cs)
{
EnterCriticalSection(cs);
m_cs = cs;
}
~CTemporaryCS()
{
LeaveCS();
}
void LeaveCS()
{
if (NULL!=m_cs)
LeaveCriticalSection(m_cs);
m_cs = NULL;
}
void EnterCS(CRITICAL_SECTION *cs)
{
LeaveCS();
EnterCriticalSection(cs);
m_cs = cs;
}
protected:
CRITICAL_SECTION *m_cs;
};