KD Reports 1.4
KDReportsErrorDetails.h
00001 /****************************************************************************
00002 ** Copyright (C) 2007-2012 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 class XmlElementHandler;
00032 
00036 class KDREPORTS_EXPORT ErrorDetails
00037 {
00038 public:
00039     ErrorDetails();
00040     explicit ErrorDetails( const QString& message );
00041     ErrorDetails( const ErrorDetails& other );
00042 
00043 
00044     ~ErrorDetails();
00045     inline ErrorDetails& operator=( const ErrorDetails& other );
00046 
00050     QString message() const;
00051 
00052     void setLine( int line );
00053     void setColumn( int column );
00054 
00058     void setDriverMessage( const QString& message );
00059 
00060     int line() const;
00061     int column() const;
00062 
00066     QString driverMessage() const;
00067 
00068     bool hasError() const;
00069 
00070     inline void swap( ErrorDetails & other );
00071 private:
00072     friend class XmlElementHandler;
00073     ErrorDetailsPrivate* d;
00074 };
00075 
00076 void ErrorDetails::swap( ErrorDetails & other )
00077 {
00078     qSwap( d, other.d );
00079 }
00080 
00081 
00082 ErrorDetails& ErrorDetails::operator=( const ErrorDetails& other )
00083 {
00084     ErrorDetails copy( other );
00085     swap( copy );
00086     return *this;
00087 }
00088 
00089 } // namespace KDReports
00090 
00091 template <> inline void qSwap( KDReports::ErrorDetails & lhs, KDReports::ErrorDetails & rhs )
00092 {
00093     lhs.swap( rhs );
00094 }
00095 
00096 #endif /* KDREPORTSERRORDETAILS_H */
00097 
 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/