OSDN Git Service

QDBusMessage::setDelayedReply() cannot be const
authorIvailo Monev <xakepa10@laimg.moc>
Thu, 4 Jul 2019 22:57:21 +0000 (22:57 +0000)
committerIvailo Monev <xakepa10@laimg.moc>
Thu, 4 Jul 2019 23:06:09 +0000 (23:06 +0000)
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
src/dbus/qdbuscontext.cpp
src/dbus/qdbuscontext.h
src/dbus/qdbuscontext_p.h
src/dbus/qdbusmessage.cpp
src/dbus/qdbusmessage.h

index 6d968c4..b9b454e 100644 (file)
@@ -172,9 +172,10 @@ bool QDBusContext::isDelayedReply() const
     Failing to send a reply will result in an automatic timeout error
     being generated by D-Bus.
 */
-void QDBusContext::setDelayedReply(bool enable) const
+void QDBusContext::setDelayedReply(bool enable)
 {
-    message().setDelayedReply(enable);
+    Q_ASSERT(d_ptr);
+    d_ptr->message.setDelayedReply(enable);
 }
 
 /*!
@@ -184,7 +185,7 @@ void QDBusContext::setDelayedReply(bool enable) const
     If an error is sent, the return value and any output parameters
     from the called slot will be ignored by QtDBus.
 */
-void QDBusContext::sendErrorReply(const QString &name, const QString &msg) const
+void QDBusContext::sendErrorReply(const QString &name, const QString &msg)
 {
     setDelayedReply(true);
     connection().send(message().createErrorReply(name, msg));
@@ -198,7 +199,7 @@ void QDBusContext::sendErrorReply(const QString &name, const QString &msg) const
     If an error is sent, the return value and any output parameters
     from the called slot will be ignored by QtDBus.
 */
-void QDBusContext::sendErrorReply(QDBusError::ErrorType type, const QString &msg) const
+void QDBusContext::sendErrorReply(QDBusError::ErrorType type, const QString &msg)
 {
     setDelayedReply(true);
     connection().send(message().createErrorReply(type, msg));
index 0a467ad..7b52946 100644 (file)
@@ -59,10 +59,9 @@ public:
 
     // convenience methods
     bool isDelayedReply() const;
-    // yes, they are const, so that you can use them even from const methods
-    void setDelayedReply(bool enable) const;
-    void sendErrorReply(const QString &name, const QString &msg = QString()) const;
-    void sendErrorReply(QDBusError::ErrorType type, const QString &msg = QString()) const;
+    void setDelayedReply(bool enable);
+    void sendErrorReply(const QString &name, const QString &msg = QString());
+    void sendErrorReply(QDBusError::ErrorType type, const QString &msg = QString());
 
 private:
     QDBusContextPrivate *d_ptr;
index 5c92a9d..6a0d77b 100644 (file)
@@ -58,11 +58,11 @@ class QDBusContext;
 class QDBusContextPrivate
 {
 public:
-    inline QDBusContextPrivate(const QDBusConnection &conn, const QDBusMessage &msg)
+    inline QDBusContextPrivate(const QDBusConnection &conn, QDBusMessage msg)
         : connection(conn), message(msg) {}
 
     QDBusConnection connection;
-    const QDBusMessage &message;
+    QDBusMessage message;
 
     static QDBusContextPrivate *set(QObject *obj, QDBusContextPrivate *newContext);
 };
index e8b7ee8..8fbcf2d 100644 (file)
@@ -625,7 +625,7 @@ bool QDBusMessage::isReplyRequired() const
 
     \sa {Delayed Replies}
 */
-void QDBusMessage::setDelayedReply(bool enable) const
+void QDBusMessage::setDelayedReply(bool enable)
 {
     d_ptr->delayedReply = enable;
 }
index 3a45d56..534d55e 100644 (file)
@@ -90,7 +90,7 @@ public:
 
     bool isReplyRequired() const;
 
-    void setDelayedReply(bool enable) const;
+    void setDelayedReply(bool enable);
     bool isDelayedReply() const;
 
     void setAutoStartService(bool enable);