Spec-Zone.ru › Qt 5.11

Класс QNetworkConfigurationManager

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

Заголовок: #include <QNetworkConfigurationManager>
qmake: QT += network
С момента: Qt 4.7
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы public

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

Функции public

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

Свойства public

void обновитьКонфигурации()
  • 1 свойство public, унаследованное от QObject

Сигналы

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

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 переменная public, унаследованная от QObject
  • 10 статических членов public, унаследованных от QObject
  • 9 защищенных функций, унаследованных от QObject
  • 2 защищенных переменных, унаследованных от QObject

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

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

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

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

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

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

См. также QNetworkConfiguration.

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

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

Указывает возможности системы API носителя. Возможные значения:

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

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

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

QNetworkConfigurationManager::QNetworkConfigurationManager(QObject *parent = nullptr)

Создаёт объект QNetworkConfigurationManager с заданным parent.

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

[virtual] QNetworkConfigurationManager::~QNetworkConfigurationManager()

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

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

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

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

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

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

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

QNetworkConfigurationManager::Capabilities QNetworkConfigurationManager::capabilities() const

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

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

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

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

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

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

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

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

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

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

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().

[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().

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

Spec-Zone.ru

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