1 // This is the definition of the QPyDBusReply class. 2 // 3 // Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 4 // 5 // This file is part of PyQt5. 6 // 7 // This file may be used under the terms of the GNU General Public License 8 // version 3.0 as published by the Free Software Foundation and appearing in 9 // the file LICENSE included in the packaging of this file. Please review the 10 // following information to ensure the GNU General Public License version 3.0 11 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. 12 // 13 // If you do not wish to use this file under the terms of the GPL version 3.0 14 // then you may purchase a commercial license. For more information contact 15 // info@riverbankcomputing.com. 16 // 17 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 18 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 19 20 21 #ifndef _QPYDBUSREPLY_H 22 #define _QPYDBUSREPLY_H 23 24 25 #include <Python.h> 26 27 #include <QDBusError> 28 #include <QVariant> 29 30 31 class QDBusMessage; 32 class QDBusPendingCall; 33 34 35 class QPyDBusReply 36 { 37 public: 38 QPyDBusReply(const QDBusMessage &reply); 39 QPyDBusReply(const QDBusPendingCall &call); 40 QPyDBusReply(const QDBusError &error = QDBusError()); 41 QPyDBusReply(const QPyDBusReply &other); 42 QPyDBusReply(PyObject *q_value, bool q_is_valid, const QDBusError &q_error); 43 ~QPyDBusReply(); 44 error()45 inline const QDBusError &error() const {return _q_error;} isValid()46 inline bool isValid() const {return _q_is_valid;} 47 48 PyObject *value(PyObject *type) const; 49 50 QPyDBusReply &operator=(const QDBusMessage &reply); 51 QPyDBusReply &operator=(const QDBusPendingCall &call); 52 53 private: 54 PyObject *_q_value; 55 QVariant _q_value_variant; 56 bool _q_is_valid; 57 QDBusError _q_error; 58 }; 59 60 #endif 61