|
|
|
@ -291,6 +291,16 @@ TQT_DBusConnectionPrivate::TQT_DBusConnectionPrivate(TQObject *parent)
|
|
|
|
|
|
|
|
|
|
TQT_DBusConnectionPrivate::~TQT_DBusConnectionPrivate()
|
|
|
|
|
{
|
|
|
|
|
for (PendingCallMap::iterator it = pendingCalls.begin(); it != pendingCalls.end();)
|
|
|
|
|
{
|
|
|
|
|
PendingCallMap::iterator copyIt = it;
|
|
|
|
|
++it;
|
|
|
|
|
dbus_pending_call_cancel(copyIt.key());
|
|
|
|
|
dbus_pending_call_unref(copyIt.key());
|
|
|
|
|
delete copyIt.data();
|
|
|
|
|
pendingCalls.erase(copyIt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (dbus_error_is_set(&error))
|
|
|
|
|
dbus_error_free(&error);
|
|
|
|
|
|
|
|
|
@ -629,20 +639,22 @@ int TQT_DBusConnectionPrivate::sendWithReplyAsync(const TQT_DBusMessage &message
|
|
|
|
|
if (!msg)
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
int msg_serial = 0;
|
|
|
|
|
DBusPendingCall *pending = 0;
|
|
|
|
|
if (dbus_connection_send_with_reply(connection, msg, &pending, message.timeout())) {
|
|
|
|
|
TQT_DBusPendingCall *pcall = new TQT_DBusPendingCall;
|
|
|
|
|
pcall->receiver = receiver;
|
|
|
|
|
pcall->method = method;
|
|
|
|
|
pcall->pending = dbus_pending_call_ref(pending);
|
|
|
|
|
pcall->pending = pending;
|
|
|
|
|
pendingCalls.insert(pcall->pending, pcall);
|
|
|
|
|
|
|
|
|
|
dbus_pending_call_set_notify(pending, qDBusResultReceived, this, 0);
|
|
|
|
|
|
|
|
|
|
return dbus_message_get_serial(msg);
|
|
|
|
|
msg_serial = dbus_message_get_serial(msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
dbus_message_unref(msg);
|
|
|
|
|
return msg_serial;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TQT_DBusConnectionPrivate::flush()
|
|
|
|
|