1 /*************************************************************************** 2 qgsprojoperation.h 3 ------------------------ 4 begin : May 2021 5 copyright : (C) 2021 Nyall Dawson 6 email : nyall dot dawson at gmail dot com 7 ***************************************************************************/ 8 9 /*************************************************************************** 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 ***************************************************************************/ 17 #ifndef QGSPROJOPERATION_H 18 #define QGSPROJOPERATION_H 19 20 #include "qgis_core.h" 21 #include "qgis_sip.h" 22 #include <QString> 23 24 /** 25 * \ingroup core 26 * \brief Contains information about a PROJ operation. 27 * 28 * \since QGIS 3.20 29 */ 30 class CORE_EXPORT QgsProjOperation 31 { 32 public: 33 34 /** 35 * Returns TRUE if the body is a valid object, or FALSE if it is a null/invalid 36 * object. 37 */ isValid()38 bool isValid() const { return mValid; } 39 40 /** 41 * ID of operation. 42 */ id()43 QString id() const { return mId; } 44 45 /** 46 * Description. 47 */ description()48 QString description() const { return mDescription; } 49 50 /** 51 * Additional details. 52 */ details()53 QString details() const { return mDetails; } 54 55 #ifdef SIP_RUN 56 SIP_PYOBJECT __repr__(); 57 % MethodCode 58 QString str; 59 if ( !sipCpp->isValid() ) 60 { 61 str = QStringLiteral( "<QgsProjOperation: invalid>" ); 62 } 63 else 64 { 65 str = QStringLiteral( "<QgsProjOperation: %1>" ).arg( sipCpp->id() ); 66 } 67 sipRes = PyUnicode_FromString( str.toUtf8().constData() ); 68 % End 69 #endif 70 71 private: 72 73 bool mValid = false; 74 QString mId; 75 QString mDescription; 76 QString mDetails; 77 78 friend class QgsCoordinateReferenceSystemRegistry; 79 friend class QgsCoordinateReferenceSystem; 80 }; 81 82 #endif // QGSCELESTIALBODY_H 83