00001 #if !defined (__SEMAPHOREEXCEPTION_HPP)
00002 #define __SEMAPHOREEXCEPTION_HPP
00003
00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022
00023
00024 #if !defined(__COMMON_HPP)
00025 #include <Common.hpp>
00026 #endif
00027
00028 namespace corelinux
00029 {
00030
00031
00032 DECLARE_CLASS( SemaphoreException );
00033
00039 class SemaphoreException : public Exception
00040 {
00041
00042 public:
00043
00053 SemaphoreException
00054 (
00055 CharCptr why,
00056 CharCptr file,
00057 LineNum line,
00058 Severity severity = Exception::CONTINUABLE,
00059 bool outOfMemory = false ,
00060 Int errNum = 0
00061 );
00062
00068 SemaphoreException( SemaphoreExceptionCref );
00069
00071
00072 virtual ~SemaphoreException( void );
00073
00074
00075
00076
00077
00084 SemaphoreExceptionRef operator=( SemaphoreExceptionCref );
00085
00092 bool operator==( SemaphoreExceptionCref ) const;
00093
00094
00095
00096
00097
00098 IntCref getErrNum( void ) const;
00099
00100
00101
00102
00103
00104
00105 protected:
00106
00115 SemaphoreException
00116 (
00117 CharCptr file,
00118 LineNum line,
00119 Severity severity = Exception::CONTINUABLE,
00120 bool outOfMemory = false ,
00121 Int errNum = 0
00122 );
00123
00130 SemaphoreException( void );
00131
00132
00133 private:
00134
00135 Int theErrorNumberFromKernel;
00136
00137 };
00138
00139 }
00140
00141
00142 #endif // !defined __SemaphoreEXCEPTION_HPP
00143
00144 00145 00146 00147 00148 00149 00150
00151
00152
00153