Files
core/DesktopEditor/graphics/TemporaryCS.h
Elen.Subbotina 86885c37ca .....
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@61943 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-20 23:54:18 +03:00

44 lines
819 B
C++

#ifndef _BUILD_TEMPORARY_CS_H_
#define _BUILD_TEMPORARY_CS_H_
namespace NSCriticalSection
{
class CRITICAL_SECTION_NATIVE
{
public:
CRITICAL_SECTION_NATIVE() {};
virtual ~CRITICAL_SECTION_NATIVE() {};
virtual void Enter() = 0;
virtual void Leave() = 0;
};
class CRITICAL_SECTION
{
private:
CRITICAL_SECTION_NATIVE* m_pCS;
public:
CRITICAL_SECTION();
~CRITICAL_SECTION();
void InitializeCriticalSection();
void DeleteCriticalSection();
void Enter();
void Leave();
};
}
class CTemporaryCS
{
public:
CTemporaryCS(NSCriticalSection::CRITICAL_SECTION* cs);
~CTemporaryCS();
void LeaveCS();
void EnterCS(NSCriticalSection::CRITICAL_SECTION* cs);
protected:
NSCriticalSection::CRITICAL_SECTION* m_cs;
};
#endif // _BUILD_TEMPORARY_CS_H_