void QServiceDiscovery::networkSessionOpened()
{
    m_networkReady = true;          // the network is ready
    emit networkReadyChanged(m_networkReady);

    if (!initializeMdns()) {
        // if the initialization fails we set network ready to
        // false in order to retrigger the after a certain period
        m_networkReady = false;
        emit networkReadyChanged(m_networkReady);
    }
}
void QServiceDiscovery::networkSessionClosed()
{
    deinitializeMdns();

    m_networkReady = false;                     // network no ready anymore
    emit networkReadyChanged(m_networkReady);
}
void ServiceDiscovery::setLookupMode(ServiceDiscovery::LookupMode arg)
{
    if (m_lookupMode == arg) {
        return;
    }

    bool ready;
    if (m_lookupReady)
    {
        deinitializeMdns(true);
        ready = true;
    }
    else
    {
        ready = false;
    }

    m_lookupMode = arg;
    emit lookupModeChanged(arg);

    if (ready)
    {
        if (!initializeMdns()) {
            // in case init fails we reset the network state to retrigger the initialization
            m_networkReady = false;
            emit networkReadyChanged(m_networkReady);
        }
    }
}