00001 00016 #ifndef _ENCORE_DivXException 00017 #define _ENCORE_DivXException 00018 00019 #ifdef WIN32 00020 struct _EXCEPTION_POINTERS; 00021 #endif 00022 00023 class DivXException 00024 { 00025 int value; 00026 const char* file; 00027 int line; 00028 #ifdef WIN32 00029 int except_code; 00030 struct _EXCEPTION_POINTERS* m_pExInfo; 00031 #endif 00032 public: 00033 DivXException(int v, const char* f, int l); 00034 #ifdef WIN32 00035 DivXException(int v, struct _EXCEPTION_POINTERS* pExInfo); 00036 int GetExceptCode() const { return except_code; } 00037 struct _EXCEPTION_POINTERS* GetExceptInformation() const { return m_pExInfo; } 00038 #endif 00039 int GetValue() const {return value;} 00040 const char* GetFile() const {return file;} 00041 int GetLine() const {return line;} 00042 }; 00043 00044 #define EXCEPTION(X) DivXException(X, __FILE__, __LINE__) 00045 00046 #define ENC_BUFFER -2 00047 #define ENC_FAIL -1 00048 #define ENC_OK 0 00049 #define ENC_MEMORY 1 00050 #define ENC_BAD_FORMAT 2 00051 #define ENC_INTERNAL 3 00053 #endif