KDReportsErrorDetails.h

00001 /****************************************************************************
00002 ** Copyright (C) 2007-2011 Klaralvdalens Datakonsult AB.  All rights reserved.
00003 **
00004 ** This file is part of the KD Reports library.
00005 **
00006 ** Licensees holding valid commercial KD Reports licenses may use this file in
00007 ** accordance with the KD Reports Commercial License Agreement provided with
00008 ** the Software.
00009 **
00010 **
00011 ** This file may be distributed and/or modified under the terms of the
00012 ** GNU General Public License version 2 and version 3 as published by the
00013 ** Free Software Foundation and appearing in the file LICENSE.GPL included.
00014 **
00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017 **
00018 ** Contact info@kdab.com if any conditions of this licensing are not
00019 ** clear to you.
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 } // namespace KDReports
00088 
00089 template <> inline void qSwap( KDReports::ErrorDetails & lhs, KDReports::ErrorDetails & rhs )
00090 {
00091     lhs.swap( rhs );
00092 }
00093 
00094 #endif /* KDREPORTSERRORDETAILS_H */
00095 
 All Classes Namespaces Functions Enumerations Enumerator

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-reports/