Changeset 561 for trunk/src/dbus/qdbuspendingcall.cpp
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/dbus/qdbuspendingcall.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtDBus module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 311 311 bool QDBusPendingCall::isFinished() const 312 312 { 313 return d &&(d->replyMessage.type() != QDBusMessage::InvalidMessage);313 return !d || (d->replyMessage.type() != QDBusMessage::InvalidMessage); 314 314 } 315 315 … … 410 410 #endif 411 411 412 /*! 413 \since 4.6 414 Creates a QDBusPendingCall object based on the error condition 415 \a error. The resulting pending call object will be in the 416 "finished" state and QDBusPendingReply::isError() will return true. 417 418 \sa fromCompletedCall() 419 */ 420 QDBusPendingCall QDBusPendingCall::fromError(const QDBusError &error) 421 { 422 return fromCompletedCall(QDBusMessage::createError(error)); 423 } 424 425 /*! 426 \since 4.6 427 Creates a QDBusPendingCall object based on the message \a msg. 428 The message must be of type QDBusMessage::ErrorMessage or 429 QDBusMessage::ReplyMessage (that is, a message that is typical 430 of a completed call). 431 432 This function is useful for code that requires simulating a pending 433 call, but that has already finished. 434 435 \sa fromError() 436 */ 437 QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg) 438 { 439 QDBusPendingCallPrivate *d = 0; 440 if (msg.type() == QDBusMessage::ErrorMessage || 441 msg.type() == QDBusMessage::ReplyMessage) { 442 d = new QDBusPendingCallPrivate; 443 d->replyMessage = msg; 444 d->connection = 0; 445 } 446 447 return QDBusPendingCall(d); 448 } 449 412 450 413 451 class QDBusPendingCallWatcherPrivate: public QObjectPrivate … … 433 471 : QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call) 434 472 { 435 if (d) { 436 if (!d->watcherHelper) 473 if (d) { // QDBusPendingCall::d 474 if (!d->watcherHelper) { 437 475 d->watcherHelper = new QDBusPendingCallWatcherHelper; 476 if (isFinished()) { 477 // cause a signal emission anyways 478 QMetaObject::invokeMethod(d->watcherHelper, "finished", Qt::QueuedConnection); 479 } 480 } 438 481 d->watcherHelper->add(this); 439 482 } … … 465 508 466 509 // our signals were queued, so deliver them 510 QCoreApplication::sendPostedEvents(d->watcherHelper, QEvent::MetaCall); 467 511 QCoreApplication::sendPostedEvents(this, QEvent::MetaCall); 468 512 }
Note:
See TracChangeset
for help on using the changeset viewer.