CriticalSection.h

Go to the documentation of this file.
00001 /*
00002 *        This file contains class that encapsulate system critical section.
00003 *
00004 *       Author:
00005 *                       Tomas Mrkvicka
00006 *                       xmrkvi03@stud.fit.vutbr.cz
00007 *
00008 */
00009 
00010 #include <windows.h>
00011 
00012 //FORWARD DECLARATIONS
00013 namespace NSPipeline
00014 {
00015         class TCriticalSection;
00016 };
00017 
00018 #ifndef _PIPELINE_CRITICALSECTION_HH_
00019 #define _PIPELINE_CRITICALSECTION_HH_
00020 
00021 namespace NSPipeline
00022 {
00023 
00024 ////////////////////////////////////////////////////////////////////////////////
00025 ////////////////////////////////////////////////////////////////////////////////
00026 ////////////////////////////////////////////////////////////////////////////////
00027 // TCriticalSection
00028 
00029 /**     Trida pro zjednoduseni prace s kritickou sekci.
00030 *
00031 *       V aplikaci musi byt vzdy pouzita dvojice volani TCriticalSection::Enter() 
00032 *       a TCriticalSection::Leave().
00033 */
00034 class TCriticalSection
00035 {
00036 //PUBLIC METHODS
00037 public:
00038                                                 TCriticalSection(void);
00039                                                 ~TCriticalSection(void);
00040 
00041         void                            Enter(void);
00042         void                            Leave(void);
00043 
00044 //PRIVATE FAKE METHODS
00045 private:
00046                                                 TCriticalSection( const TCriticalSection & orig );      ///< falesny kopirovaci konstruktor
00047         void                            operator=( const TCriticalSection & orig );                     ///< falesny operator prirazeni
00048 
00049 //PRIVATE COMPONENTS
00050 private:
00051         CRITICAL_SECTION        m_section;      ///< systemove zavisla kriticka sekce z Windows
00052 };
00053 //OK 2007-08-25 02:21:00 B04-315B\Tom
00054 
00055 // TCriticalSection
00056 ////////////////////////////////////////////////////////////////////////////////
00057 ////////////////////////////////////////////////////////////////////////////////
00058 ////////////////////////////////////////////////////////////////////////////////
00059 
00060 };//end of NSPipeline
00061 using namespace NSPipeline;
00062 
00063 #endif

Generated on Sat Nov 17 16:23:26 2007 for Image Processing Pipeline by  doxygen 1.4.6-NO