Spec-Zone.ru › Qt 5.13

Класс QNetworkConfiguration

Класс QNetworkConfiguration предоставляет абстракцию одной или нескольких конфигураций точек доступа. Подробнее...

Заголовок: #include <QNetworkConfiguration>
qmake: QT += network
С момента: Qt 4.7

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

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

Публичные типы

перечисление ТипНосителя { ТипНосителяНеизвестен, ТипНосителяEthernet, ТипНосителяWLAN, ТипНосителя2G, ..., ТипНосителяLTE }
перечисление Назначение { НеизвестноеНазначение, ОбщественноеНазначение, ЧастноеНазначение, НазначениеУслуги }
перечисление ФлагСостояния { Неопределено, Определено, Обнаружено, Активно }
флаги ФлагиСостояния
перечисление Тип { ТочкаДоступаИнтернет, СетеваяСлужба, ВыборПользователя, Недействительно }

Публичные функции

QNetworkConfiguration(const QNetworkConfiguration &other)
QNetworkConfiguration()
QNetworkConfiguration & operator=(const QNetworkConfiguration &other)
~QNetworkConfiguration()
QNetworkConfiguration::ТипНосителя типНосителя() const
QNetworkConfiguration::ТипНосителя семействоТиповНосителей() const
QString имяТипаНосителя() const
QList<QNetworkConfiguration> дочерниеЭлементы() const
int таймаутПодключения() const
QString идентификатор() const
bool доступноРоуминг() const
bool действительно() const
QString имя() const
QNetworkConfiguration::Назначение назначение() const
bool установитьТаймаутПодключения(int timeout)
QNetworkConfiguration::ФлагиСостояния состояние() const
void поменять(QNetworkConfiguration &other)
QNetworkConfiguration::Тип тип() const
bool operator!=(const QNetworkConfiguration &other) const
bool operator==(const QNetworkConfiguration &other) const

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

QNetworkConfiguration инкапсулирует отдельную точку доступа или сетевую службу. В большинстве случаев конфигурация одной точки доступа может быть отображена на одном сетевом интерфейсе. Однако один сетевой интерфейс не всегда может отображаться только на одной конфигурации точки доступа. Несколько конфигураций для одного сетевого устройства могут активировать несколько точек доступа. Примером устройства, которое может продемонстрировать такую конфигурацию, может быть смартфон, который позволяет пользователю управлять несколькими конфигурациями WLAN, в то время как само устройство имеет только одно WLAN-сетевое устройство.

Класс QNetworkConfiguration также поддерживает концепцию сетевых служб. Эта концепция позволяет группировать несколько конфигураций точек доступа в одну сущность. Такая группа называется сетевой службой и может быть полезна в тех случаях, когда требуется сетевая сессия к определенной целевой сети (например, корпоративная сеть). При использовании сетевой службы пользователю обычно безразлично, какой из вариантов подключения выбран (например, корпоративная сеть WLAN или VPN через GPRS), если он может получить доступ к целевому серверу компании. В зависимости от текущего местоположения и времени некоторые из точек доступа, составляющих сетевую службу, могут быть недоступны. Кроме того, может быть включен автоматический роуминг точек доступа, который позволяет устройству динамически изменять конфигурацию сетевого интерфейса, сохраняя при этом подключение приложения к целевой сети. Он позволяет адаптироваться к меняющейся среде и может обеспечить оптимизацию с точки зрения стоимости, скорости или других параметров сети.

Специальные конфигурации типа ВыборПользователя предоставляют конфигурацию-заполнитель, которая разрешается на фактическую конфигурацию сети платформой при открытии сессии. Не все платформы поддерживают концепцию конфигурации выбора пользователя.

Состояния конфигурации

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

Состояние Обнаружено подразумевает, что конфигурация Определена, и внешние условия таковы, что конфигурацию можно использовать сразу для открытия новой сетевой сессии. Примером такого внешнего условия может быть то, что Ethernet-кабель фактически подключен к устройству или что WLAN с указанным SSID находится в зоне действия.

Состояние Активно подразумевает, что конфигурация Обнаружена. Конфигурация в этом состоянии в настоящее время используется приложением. Внешний сетевой интерфейс имеет действительную конфигурацию IP и может передавать пакеты IP между устройством и целевой сетью.

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

В зависимости от типа конфигурации некоторые состояния носят временный характер. Подключение GPRS/UMTS почти всегда может быть Обнаружено, если GSM/UMTS-сеть доступна. Однако если GSM/UMTS-сеть теряет подключение, связанная конфигурация может изменить свое состояние с Обнаружено на Определено. Аналогичный случай использования может быть вызван доступностью WLAN. QNetworkConfigurationManager::updateConfigurations() можно использовать для ручного запуска обновлений состояния. Обратите внимание, что некоторые платформы не требуют таких обновлений, поскольку они неявно изменяют состояние после обнаружения. Если состояние конфигурации изменяется, все связанные экземпляры QNetworkConfiguration автоматически изменяют свое состояние.

См. также QNetworkSession и QNetworkConfigurationManager.

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

перечисление QNetworkConfiguration::ТипНосителя

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

Константа Значение Описание
QNetworkConfiguration::BearerUnknown 0 Тип носителя неизвестен или не указан. Функция bearerTypeName() может вернуть дополнительную информацию.
QNetworkConfiguration::BearerEthernet 1 Настройка для интерфейса Ethernet.
QNetworkConfiguration::BearerWLAN 2 Настройка для интерфейса беспроводной локальной сети.
QNetworkConfiguration::Bearer2G 3 Настройка для интерфейса CSD, GPRS, HSCSD, EDGE или cdmaOne.
QNetworkConfiguration::Bearer3G 11 Настройка для интерфейса 3G.
QNetworkConfiguration::Bearer4G 12 Настройка для интерфейса 4G.
QNetworkConfiguration::BearerCDMA2000 4 Настройка для интерфейса CDMA.
QNetworkConfiguration::BearerWCDMA 5 Настройка для интерфейса W-CDMA/UMTS.
QNetworkConfiguration::BearerHSPA 6 Настройка для интерфейса High Speed Packet Access (HSPA).
QNetworkConfiguration::BearerBluetooth 7 Настройка для интерфейса Bluetooth.
QNetworkConfiguration::BearerWiMAX 8 Настройка для интерфейса WiMAX.
QNetworkConfiguration::BearerEVDO 9 Настройка для интерфейса EVDO (3G).
QNetworkConfiguration::BearerLTE 10 Настройка для интерфейса LTE (4G).

enum QNetworkConfiguration::Purpose

Определяет назначение конфигурации.

Константа Значение Описание
QNetworkConfiguration::UnknownPurpose 0 Конфигурация не определяет никакого назначения. Это значение по умолчанию.
QNetworkConfiguration::PublicPurpose 1 Конфигурация может использоваться для общего доступа в Интернет.
QNetworkConfiguration::PrivatePurpose 2 Конфигурация подходит для доступа к частной сети, такой как корпоративная интрасеть.
QNetworkConfiguration::ServiceSpecificPurpose 3 Конфигурация может использоваться для операторских услуг (например, для получения сообщений MMS или потокового контента).

enum QNetworkConfiguration::StateFlagflags QNetworkConfiguration::StateFlags

Определяет состояния конфигурации.

Константа Значение Описание
QNetworkConfiguration::Undefined 0x0000001 Это состояние используется для временных конфигураций, таких как недавно обнаруженные сети Wi-Fi, для которых пользователь ещё не создал конфигурацию.
QNetworkConfiguration::Defined 0x0000002 Определённые конфигурации известны системе, но не могут быть немедленно использованы (например, настроенная сеть Wi-Fi не находится в зоне действия или кабель Ethernet не подключён к устройству).
QNetworkConfiguration::Discovered 0x0000006 Обнаруженная конфигурация может быть немедленно использована для создания нового QNetworkSession. Примером обнаруженной конфигурации может быть сеть Wi-Fi, находящаяся в зоне действия. Если устройство выходит из зоны действия, флаг обнаружения снимается. Ещё один пример — конфигурация GPRS, которая обычно остаётся обнаруженной, пока устройство имеет сетевое покрытие. Конфигурация, имеющая это состояние, также находится в состоянии QNetworkConfiguration::Defined. Если конфигурация является сетевой службой, этот флаг устанавливается, если хотя бы одна из базовых конфигураций точек доступа имеет состояние Discovered.
QNetworkConfiguration::Active 0x000000e Конфигурация в настоящее время используется открытой сетевой сессией (см. QNetworkSession::isOpen()). Однако это не означает, что текущий процесс является тем, кто создал открытую сессию. Это просто означает, что если бы был создан новый QNetworkSession на основе этой конфигурации, QNetworkSession::state() вернул бы QNetworkSession::Connected. Это состояние подразумевает состояние QNetworkConfiguration::Discovered.

Тип StateFlags является типом-синонимом для QFlags<StateFlag>. Он хранит логическое ИЛИ комбинацию значений StateFlag.

enum QNetworkConfiguration::Type

Этот перечисление описывает тип конфигурации.

Константа Значение Описание
QNetworkConfiguration::InternetAccessPoint 0 Конфигурация указывает детали для одной точки доступа. Обратите внимание, что конфигурации типа InternetAccessPoint могут быть частью других QNetworkConfigurations типа ServiceNetwork.
QNetworkConfiguration::ServiceNetwork 1 Конфигурация основана на группе QNetworkConfigurations типа InternetAccessPoint. Все члены группы могут достигать одной и той же целевой сети. Этот тип конфигурации является обязательным требованием для сессий с поддержкой роуминга. В некоторых платформах этот тип конфигурации также может называться точкой доступа сетевой службы (SNAP).
QNetworkConfiguration::UserChoice 2 Конфигурация является временным маркером, который будет разрешён платформой до фактической конфигурации при открытии сессии. В зависимости от платформы выбор может отобразить всплывающее окно, спрашивая у пользователя о его предпочтениях.
QNetworkConfiguration::Invalid 3 Конфигурация недействительна.

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

QNetworkConfiguration::QNetworkConfiguration(const QNetworkConfiguration &other)

Создаёт копию объекта QNetworkConfiguration, содержащегося в other.

QNetworkConfiguration::QNetworkConfiguration()

Создаёт объект недействительной конфигурации.

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

QNetworkConfiguration &QNetworkConfiguration::operator=(const QNetworkConfiguration &other)

Копирует содержимое объекта QNetworkConfiguration, содержащегося в other, в текущий.

QNetworkConfiguration::~QNetworkConfiguration()

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

QNetworkConfiguration::BearerType QNetworkConfiguration::bearerType() const

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

Если тип носителя неизвестен, функция bearerTypeName() может использоваться для получения текстового имени типа носителя.

Недействительная сетевая конфигурация всегда возвращает значение BearerUnknown.

См. также bearerTypeName() и bearerTypeFamily().

QNetworkConfiguration::BearerType QNetworkConfiguration::bearerTypeFamily() const

Возвращает семейство типов носителя, используемое в этой сетевой конфигурации. В следующей таблице показано, как значения bearerType() сопоставляются со значениями bearerTypeFamily():

тип носителя семейство типов носителей
BearerUnknown, Bearer2G, BearerEthernet, BearerWLAN, BearerBluetooth (тот же тип)
BearerCDMA2000, BearerEVDO, BearerWCDMA, BearerHSPA, Bearer3G Bearer3G
BearerWiMAX, BearerLTE, Bearer4G Bearer4G

Недействительная конфигурация сети всегда возвращает значение BearerUnknown.

Эта функция была добавлена в Qt 5.2.

См. также bearerType() и bearerTypeName().

QString QNetworkConfiguration::bearerTypeName() const

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

Строка не переводится и поэтому не может быть показана пользователю. В следующей таблице показаны фиксированные сопоставления между BearerType и именем типа носителя для известных типов. Если BearerType неизвестен, эта функция может вернуть дополнительную информацию, если она доступна; в противном случае будет возвращена пустая строка.

BearerType Значение
BearerUnknown Сеанс основан на неизвестном или неопределенном типе носителя. Значение возвращаемой строки описывает тип носителя.
BearerEthernet Ethernet
BearerWLAN WLAN
Bearer2G 2G
Bearer3G 3G
Bearer4G 4G
BearerCDMA2000 CDMA2000
BearerWCDMA WCDMA
BearerHSPA HSPA
BearerBluetooth Bluetooth
BearerWiMAX WiMAX
BearerEVDO EVDO
BearerLTE LTE

Эта функция возвращает пустую строку, если это недействительная конфигурация, конфигурация сети типа QNetworkConfiguration::ServiceNetwork или QNetworkConfiguration::UserChoice.

См. также bearerType() и bearerTypeFamily().

QList<QNetworkConfiguration> QNetworkConfiguration::children() const

Возвращает все дочерние конфигурации этой конфигурации сети в порядке приоритета. Первая дочерняя конфигурация в списке имеет наивысший приоритет.

Только конфигурации сетей типа ServiceNetwork могут иметь дочерние элементы. В противном случае эта функция возвращает пустой список.

int QNetworkConfiguration::connectTimeout() const

Возвращает таймаут подключения для этой конфигурации.

Эта функция была добавлена в Qt 5.9.

См. также setConnectTimeout.

QString QNetworkConfiguration::identifier() const

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

bool QNetworkConfiguration::isRoamingAvailable() const

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

bool QNetworkConfiguration::isValid() const

Возвращает true , если этот объект QNetworkConfiguration действителен. Конфигурация может стать недействительной, если пользователь удалит конфигурацию или конфигурация была создана по умолчанию.

Добавление и удаление конфигураций можно отслеживать с помощью QNetworkConfigurationManager.

См. также QNetworkConfigurationManager.

QString QNetworkConfiguration::name() const

Возвращает отображаемое пользователем имя этой конфигурации.

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

QNetworkConfiguration::Purpose QNetworkConfiguration::purpose() const

Возвращает назначение этой конфигурации.

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

bool QNetworkConfiguration::setConnectTimeout(int timeout)

Устанавливает таймаут подключения для этой конфигурации в timeout. Это позволяет управлять таймаутом, используемым QAbstractSocket для установления подключения.

Примечание: timeout задаётся в миллисекундах.

Предупреждение: Это не повлияет, если плагин носителя не имеет возможности CanStartAndStopInterfaces.

Возвращает true, если операция выполнена успешно.

Эта функция была добавлена в Qt 5.9.

См. также connectTimeout.

QNetworkConfiguration::StateFlags QNetworkConfiguration::state() const

Возвращает текущее состояние конфигурации.

void QNetworkConfiguration::swap(QNetworkConfiguration &other)

Меняет местами эту конфигурацию сети с other. Эта функция очень быстрая и никогда не терпит неудачу.

Эта функция была добавлена в Qt 5.0.

QNetworkConfiguration::Type QNetworkConfiguration::type() const

Возвращает тип конфигурации.

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

bool QNetworkConfiguration::operator!=(const QNetworkConfiguration &other) const

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

bool QNetworkConfiguration::operator==(const QNetworkConfiguration &other) const

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

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

Spec-Zone.ru

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