void DeviceHandler::slotAsyncReply( int callId, const QDBusMessage& reply )
{
    QString method = m_calls[callId];

    if (reply.type() == QDBusMessage::ReplyMessage) {
        odebug << "********* " << m_devProxy->interface() << " " << method << " success" << oendl;
        if( m_pool ) {
            if( reply.count() > 0 )
                m_pool->handlerSuccess( this, method, reply[0].toString() );
            else
                m_pool->handlerSuccess( this, method, QString::null );
        }
    }
    else if (reply.type() == QDBusMessage::ErrorMessage) {
        odebug << "********* " << m_devProxy->interface() << " " << method << " fail: " << reply.error().name() << ": " << reply.error().message() << oendl;
        if( m_pool )
            m_pool->handlerError( this, method, reply.error().name(), reply.error().message() );
    }

    m_calls.remove(callId);
}