00001
00002
00003
00004
00005
00006
00007
00008
00014 #ifndef _FU_CRITICAL_SECTION_H_
00015 #define _FU_CRITICAL_SECTION_H_
00016
00017 #ifdef __APPLE__
00018 #include <CoreServices/CoreServices.h>
00019 #endif
00020
00028 class FCOLLADA_EXPORT FUCriticalSection
00029 {
00030 private:
00031 #ifdef WIN32
00032 CRITICAL_SECTION criticalSection;
00033 #elif defined (__APPLE__)
00034
00035 MPCriticalRegionID criticalSection;
00036 #elif defined (LINUX)
00037 #else
00038 #warning "FUCriticalSection: Critical section not implemented for other platforms."
00039 #endif
00040
00041 public:
00043 FUCriticalSection();
00044
00046 ~FUCriticalSection();
00047
00051 void Enter();
00052
00054 void Leave();
00055 };
00056
00057 #endif // _FU_CRITICAL_SECTION_H_
00058