Spec-Zone.ru › Qt 5.14

Класс QNetworkConfigurationManager

Класс QNetworkConfigurationManager управляет сетевыми конфигурациями, предоставляемыми системой. Подробнее...

Заголовок: #include <QNetworkConfigurationManager>
qmake: QT += network
С момента: Qt 4.7
Наследует: QObject

Этот класс был представлен в Qt 4.7.

  • Список всех членов, включая унаследованные

Общедоступные типы

флаги Возможности
Перечисление Возможность { CanStartAndStopInterfaces, DirectConnectionRouting, SystemSessionSupport, ApplicationLevelRoaming, ForcedRoaming, …, NetworkSessionRequired }

Общедоступные функции

QNetworkConfigurationManager(QObject *parent = nullptr)
virtual ~QNetworkConfigurationManager()
QList<QNetworkConfiguration> всеКонфигурации(QNetworkConfiguration::StateFlags filter = QNetworkConfiguration::StateFlags()) const
QNetworkConfigurationManager::Возможности возможности() const
QNetworkConfiguration конфигурацияПоИдентификатору(const QString &identifier) const
QNetworkConfiguration стандартнаяКонфигурация() const
bool вОнлайне() const

Открытые слоты

void обновитьКонфигурации()

Сигналы

void конфигурацияДобавлена(const QNetworkConfiguration &config)
void конфигурацияИзменена(const QNetworkConfiguration &config)
void конфигурацияУдалена(const QNetworkConfiguration &config)
void состояниеОнлайнИзменено(bool isOnline)
void обновлениеЗавершено()

Подробное описание

QNetworkConfigurationManager предоставляет доступ к сетевым конфигурациям, известным системе, и позволяет приложениям определять возможности системы (в отношении сетевых сессий) во время выполнения.

QNetworkConfiguration абстрагирует набор параметров конфигурации, описывающих, как необходимо настроить сетевой интерфейс для подключения к определённой целевой сети. QNetworkConfigurationManager поддерживает и обновляет глобальный список QNetworkConfigurations. Приложения могут получить доступ и отфильтровать этот список с помощью всеКонфигурации(). Если добавляется новая конфигурация или удаляется или изменяется существующая, соответственно, испускаются сигналы конфигурацияДобавлена(), конфигурацияУдалена() и конфигурацияИзменена().

Метод стандартнаяКонфигурация() может быть использован при намерении немедленно создать новую сетевую сессию, не заботясь о конкретной конфигурации. Он возвращает конфигурацию QNetworkConfiguration::Discovered. Если не существует открытых конфигураций, возвращается недействительная конфигурация.

Некоторые обновления конфигурации могут потребовать некоторого времени для выполнения обновлений. Например, сканирование WLAN. Если платформа не выполняет внутренние обновления, может потребоваться вручную инициировать обновления конфигурации с помощью обновитьКонфигурации(). Завершение процесса обновления обозначается испусканием сигнала обновлениеЗавершено(). Процесс обновления гарантирует, что каждый существующий экземпляр QNetworkConfiguration обновляется. Нет необходимости запрашивать обновлённый список конфигураций с помощью всеКонфигурации().

См. также QNetworkConfiguration.

Документация типов членов

перечисление QNetworkConfigurationManager::Возможности

Определяет возможности системы по API несущей. Возможные значения:

Константа Значение Описание
QNetworkConfigurationManager::CanStartAndStopInterfaces 0x00000001 Сетевые сессии и их основополагающие точки доступа могут быть начаты и остановлены. Если этот флаг не установлен, QNetworkSession может только отслеживать, но не влиять на состояние точек доступа. На некоторых платформах для этой функции могут потребоваться повышенные права пользователя. Этот параметр специфичен для платформы и может быть недоступен.
QNetworkConfigurationManager::DirectConnectionRouting 0x00000002 Сетевые сессии и их сокеты могут быть привязаны к определённому сетевому интерфейсу. Любой пакет, проходящий через сокет, направляется на указанный сетевой интерфейс, тем самым игнорируя стандартные записи таблицы маршрутизации. Это может быть полезно, когда два интерфейса могут достигать перекрывающихся IP-диапазонов или приложение имеет специфические потребности в отношении целевых сетей. Этот параметр специфичен для платформы и может быть недоступен.
QNetworkConfigurationManager::SystemSessionSupport 0x00000004 Если этот флаг установлен, платформа гарантирует, что сетевой интерфейс не закрывается до тех пор, пока последняя сетевая сессия не будет закрыта(). Это работает в нескольких процессах. Если поддержка сессий платформы отсутствует, этот API может гарантировать указанное выше поведение только для сетевых сессий в одном процессе. В общем, мобильные платформы имеют такую поддержку, тогда как большинство настольных платформ не обладают этой возможностью.
QNetworkConfigurationManager::ApplicationLevelRoaming 0x00000008 Система предоставляет приложениям контроль над поведением роуминга системы. Приложения могут инициировать роуминг (в случае, если текущее соединение не подходит), и к ним обращаются, если система определила более подходящую точку доступа.
QNetworkConfigurationManager::ForcedRoaming 0x00000010 Система отключает существующую точку доступа и подключается через более подходящую. Приложение не имеет никакого контроля над этим процессом и должно повторно подключиться к своим активным сокетам.
QNetworkConfigurationManager::DataStatistics 0x00000020 Если этот флаг установлен, QNetworkSession может предоставлять статистику о передаваемых и принимаемых данных.
QNetworkConfigurationManager::NetworkSessionRequired 0x00000040 Если этот флаг установлен, платформа требует создания сетевой сессии перед выполнением сетевых операций.

Тип Capabilities является псевдонимом для QFlags<Capability>. Он хранит результат побитового ИЛИ комбинаций значений Capability.

Документация функций членов

QNetworkConfigurationManager::QNetworkConfigurationManager(QObject *parent = nullptr)

Конструирует QNetworkConfigurationManager с заданным parent.

Обратите внимание, что для обеспечения немедленного наличия действительного списка текущих конфигураций, обновление выполняется во время построения, что вызывает некоторую задержку.

[signal] void QNetworkConfigurationManager::конфигурацияДобавлена(const QNetworkConfiguration &config)

Этот сигнал испускается всякий раз, когда новая сетевая конфигурация добавляется в систему. Новая конфигурация задаётся параметром config.

[signal] void QNetworkConfigurationManager::конфигурацияИзменена(const QNetworkConfiguration &config)

Этот сигнал испускается, когда состояние состояния config изменяется.

[signal] void QNetworkConfigurationManager::configurationRemoved(const QNetworkConfiguration &config)

Этот сигнал испускается, когда конфигурация собирается быть удалена из системы. Удаленная конфигурация, указанная параметром config, недействительна, но сохраняет имя и идентификатор.

[signal] void QNetworkConfigurationManager::onlineStateChanged(bool isOnline)

Этот сигнал испускается, когда устройство меняет режим онлайн на офлайн или наоборот. isOnline представляет новое состояние устройства.

Состояние считается онлайн, пока allConfigurations(QNetworkConfiguration::Active) возвращает список с по крайней мере одной записью.

[signal] void QNetworkConfigurationManager::updateCompleted()

Этот сигнал испускается, когда обновление конфигурации завершено. Такое обновление может быть инициировано с помощью updateConfigurations().

[slot] void QNetworkConfigurationManager::updateConfigurations()

Инициирует обновление всех конфигураций. Это может использоваться для запуска сканирования WLAN или других длительных обновлений, которые могут потребоваться для получения правильного состояния конфигураций.

Этот вызов асинхронный. По завершении этого обновления испускается сигнал updateCompleted(). Если обнаружены новые конфигурации или старые были удалены или изменены, процесс обновления может вызвать испускание одного или нескольких сигналов configurationAdded(), configurationRemoved() и configurationChanged().

Если состояние конфигурации меняется в результате этого обновления, все существующие экземпляры QNetworkConfiguration автоматически обновляются.

См. также allConfigurations().

[virtual] QNetworkConfigurationManager::~QNetworkConfigurationManager()

Освобождает ресурсы, связанные с объектом QNetworkConfigurationManager.

QList<QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(QNetworkConfiguration::StateFlags filter = QNetworkConfiguration::StateFlags()) const

Возвращает список конфигураций, которые соответствуют заданному фильтру filter.

По умолчанию эта функция возвращает все (определенные и неопределенные) конфигурации.

Беспроводная сеть с определенным SSID может быть доступна только в определенной области, несмотря на то, что в системе есть действительная конфигурация для нее. Поэтому флаг фильтра может использоваться для ограничения списка только открытыми и, возможно, подключенными конфигурациями.

Если filter равен нулю, эта функция возвращает все возможные конфигурации.

Обратите внимание, что эта функция возвращает состояния всех конфигураций, известные на момент вызова этой функции. Например, если определена конфигурация типа WLAN, системе может потребоваться выполнить сканирование WLAN, чтобы определить, доступна ли она на самом деле. Чтобы получить наиболее точное состояние, следует использовать updateConfigurations() для обновления состояния каждой конфигурации. Обратите внимание, что такое обновление может потребовать некоторого времени. Его завершение сигнализируется с помощью updateCompleted(). В отсутствие обновления конфигурации функция возвращает наилучшее приближение на момент вызова. Поэтому, если конфигурации WLAN представляют интерес, рекомендуется вызывать updateConfigurations() один раз после создания QNetworkConfigurationManager (сканирование WLAN слишком долго для выполнения в конструкторе). После этого данные автоматически обновляются по мере поступления от системы любых изменений.

QNetworkConfigurationManager::Capabilities QNetworkConfigurationManager::capabilities() const

Возвращает возможности, поддерживаемые текущей платформой.

QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(const QString &identifier) const

Возвращает QNetworkConfiguration для identifier; в противном случае возвращает недействительную QNetworkConfiguration.

См. также QNetworkConfiguration::identifier().

QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const

Возвращает используемую по умолчанию конфигурацию. Эта функция всегда возвращает обнаруженную конфигурацию; в противном случае — недействительную конфигурацию.

В некоторых случаях может потребоваться вызвать updateConfigurations() и дождаться сигнала updateCompleted() перед вызовом этой функции.

См. также allConfigurations().

bool QNetworkConfigurationManager::isOnline() const

Возвращает true , если система считается подключенной к другому устройству через активный сетевой интерфейс; в противном случае возвращает false.

Это эквивалентно следующему фрагменту кода:

QNetworkConfigurationManager mgr;
QList<QNetworkConfiguration> activeConfigs = mgr.allConfigurations(QNetworkConfiguration::Active);
if (activeConfigs.count() > 0)
    Q_ASSERT(mgr.isOnline());
else
    Q_ASSERT(!mgr.isOnline());

См. также onlineStateChanged().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qnetworkconfigurationmanager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API