KTextAddons

networkmanager.cpp
1/*
2 SPDX-FileCopyrightText: 2016-2025 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#include "networkmanager.h"
8#include "texttranslator_debug.h"
9#include <QNetworkInformation>
10using namespace TextTranslator;
11
12Q_GLOBAL_STATIC(NetworkManager, s_pNetworkManagerSelf)
13
14NetworkManager::NetworkManager(QObject *parent)
15 : QObject(parent)
16{
17 QNetworkInformation::instance()->loadBackendByFeatures(QNetworkInformation::Feature::Reachability);
19 Q_EMIT networkStatusChanged(newReachability == QNetworkInformation::Reachability::Online);
20 });
21}
22
23NetworkManager::~NetworkManager() = default;
24
25NetworkManager *NetworkManager::self()
26{
27 return s_pNetworkManagerSelf();
28}
29
30bool NetworkManager::isOnline() const
31{
32 if (QNetworkInformation::loadBackendByFeatures(QNetworkInformation::Feature::Reachability)) {
33 return QNetworkInformation::instance()->reachability() == QNetworkInformation::Reachability::Online;
34 } else {
35 qCWarning(TEXTTRANSLATOR_LOG) << "Couldn't find a working backend for QNetworkInformation";
36 return false;
37 }
38}
39
40#include "moc_networkmanager.cpp"
QNetworkInformation * instance()
bool loadBackendByFeatures(Features features)
void reachabilityChanged(Reachability newReachability)
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Mar 28 2025 11:48:40 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.