00001
00002
00003
00004
00005
00006
00007
00008 #ifndef ERRORREPORT_H
00009 #define ERRORREPORT_H
00010
00011 #if _MSC_VER > 1000
00012 #pragma once
00013 #endif // _MSC_VER > 1000
00014
00015 #include <string>
00016 #include <stdexcept>
00017
00018 #include <boost/scoped_ptr.hpp>
00019
00020 struct _Eerr_ErrorReport;
00021 typedef _Eerr_ErrorReport Eerr_ErrorReport;
00022
00023
00024 namespace Imagine
00025 {
00026
00031 class ErrorReportException : public std::runtime_error
00032 {
00033 public:
00034 ErrorReportException( std::string const & what )
00035 : std::runtime_error( what )
00036 {}
00037 };
00038
00039
00043 class ErrorReport
00044 {
00045 public:
00046 ErrorReport();
00047 ~ErrorReport();
00048
00050 Eerr_ErrorReport ** operator *();
00051
00053 void check();
00054
00055 private:
00056 struct Imp;
00057
00058 boost::scoped_ptr<Imp> imp_;
00059 };
00060
00061 }
00062
00063 #endif