00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KDREPORTSERRORDETAILS_H
00024 #define KDREPORTSERRORDETAILS_H
00025
00026 #include "KDReportsGlobal.h"
00027 #include <QtAlgorithms>
00028
00029 namespace KDReports {
00030 class ErrorDetailsPrivate;
00031
00035 class KDREPORTS_EXPORT ErrorDetails
00036 {
00037 public:
00038 ErrorDetails();
00039 explicit ErrorDetails( const QString& message );
00040 ErrorDetails( const ErrorDetails& other );
00041
00042
00043 ~ErrorDetails();
00044 inline ErrorDetails& operator=( const ErrorDetails& other );
00045
00049 QString message() const;
00050
00051 void setLine( int line );
00052 void setColumn( int column );
00053
00057 void setDriverMessage( const QString& message );
00058
00059 int line() const;
00060 int column() const;
00061
00065 QString driverMessage() const;
00066
00067 bool hasError() const;
00068
00069 inline void swap( ErrorDetails & other );
00070 private:
00071 ErrorDetailsPrivate* d;
00072 };
00073
00074 void ErrorDetails::swap( ErrorDetails & other )
00075 {
00076 qSwap( d, other.d );
00077 }
00078
00079
00080 ErrorDetails& ErrorDetails::operator=( const ErrorDetails& other )
00081 {
00082 ErrorDetails copy( other );
00083 swap( copy );
00084 return *this;
00085 }
00086
00087 }
00088
00089 template <> inline void qSwap( KDReports::ErrorDetails & lhs, KDReports::ErrorDetails & rhs )
00090 {
00091 lhs.swap( rhs );
00092 }
00093
00094 #endif
00095