ErrorReport.h

00001 // @file ErrorReport.h
00002 //
00003 // interface for the ErrorReport class and ErrorReportException
00004 //
00005 // @Id $Id: ErrorReport.h,v 1.3 2003/10/23 19:29:20 mcoletti Exp $
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     }; // class ErrorReportException
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; // implementation struct
00057 
00058         boost::scoped_ptr<Imp> imp_;
00059     }; // class ErrorReport
00060 
00061 } // namespace Imagine
00062 
00063 #endif 

Generated on Wed Mar 7 16:49:31 2007 for ImagineObjects by  doxygen 1.4.6