|
|
1.1 root 1: /* 1.1.1.4 ! root 2: Copyright (c) 2008-2009 TrueCrypt Foundation. All rights reserved. 1.1 root 3: 1.1.1.3 root 4: Governed by the TrueCrypt License 2.6 the full text of which is contained 1.1 root 5: in the file License.txt included in TrueCrypt binary and source code 6: distribution packages. 7: */ 8: 9: #ifndef TC_HEADER_Platform_SystemException 10: #define TC_HEADER_Platform_SystemException 11: 12: #include "PlatformBase.h" 13: #include "Exception.h" 14: 15: namespace TrueCrypt 16: { 17: class SystemException : public Exception 18: { 19: public: 1.1.1.4 ! root 20: SystemException (); 1.1 root 21: SystemException (const string &message); 22: SystemException (const string &message, const string &subject); 23: SystemException (const string &message, const wstring &subject); 24: SystemException (const string &message, int64 errorCode) 25: : Exception (message), ErrorCode (errorCode) { } 26: virtual ~SystemException () throw () { } 27: 28: TC_SERIALIZABLE_EXCEPTION (SystemException); 29: 30: int64 GetErrorCode () const { return ErrorCode; } 31: bool IsError () const; 32: wstring SystemText () const; 33: 34: protected: 35: int64 ErrorCode; 36: }; 37: 38: #undef TC_EXCEPTION_SET 39: #define TC_EXCEPTION_SET \ 40: TC_EXCEPTION_NODECL (SystemException); 41: } 42: 43: #define throw_sys_if(condition) do { if (condition) throw SystemException (SRC_POS); } while (false) 44: #define throw_sys_sub_if(condition,subject) do { if (condition) throw SystemException (SRC_POS, (subject)); } while (false) 45: 46: #endif // TC_HEADER_Platform_SystemException
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.