Spec-Zone.ru › Qt 5.9

Класс QNetworkConfiguration

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

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

Типы публичного доступа

Перечисление BearerType { BearerUnknown, BearerEthernet, BearerWLAN, Bearer2G, ..., BearerLTE }
Перечисление Purpose { UnknownPurpose, PublicPurpose, PrivatePurpose, ServiceSpecificPurpose }
Перечисление StateFlag { Undefined, Defined, Discovered, Active }
Флаги StateFlags
Перечисление Type { InternetAccessPoint, ServiceNetwork, UserChoice, Invalid }

Открытые функции

QNetworkConfiguration()
QNetworkConfiguration(const QNetworkConfiguration &other)
~QNetworkConfiguration()
BearerType bearerType() const
BearerType bearerTypeFamily() const
QString bearerTypeName() const
QList<QNetworkConfiguration> children() const
int connectTimeout() const
QString identifier() const
bool isRoamingAvailable() const
bool isValid() const
QString name() const
Purpose purpose() const
bool setConnectTimeout(int timeout)
StateFlags state() const
void swap(QNetworkConfiguration &other)
Type type() const
bool operator!=(const QNetworkConfiguration &other) const
QNetworkConfiguration & operator=(QNetworkConfiguration &&other)
QNetworkConfiguration & operator=(const QNetworkConfiguration &other)
bool operator==(const QNetworkConfiguration &other) const

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

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

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

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

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

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

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

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

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

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

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

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

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

Перечисление QNetworkConfiguration::BearerType

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

Константа Значение Описание
QNetworkConfiguration::BearerUnknown 0 Тип носителя неизвестен или не указан. Функция bearerTypeName() может вернуть дополнительную информацию.
QNetworkConfiguration::BearerEthernet 1 Конфигурация предназначена для интерфейсов Ethernet.
QNetworkConfiguration::BearerWLAN 2 Конфигурация предназначена для беспроводного LAN-интерфейса.
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 Это состояние используется для временных конфигураций, таких как недавно обнаруженные WLAN, для которых пользователь ещё не создал конфигурацию.
QNetworkConfiguration::Defined 0x0000002 Определённые конфигурации известны системе, но не могут быть немедленно использованы (например, настроенная WLAN находится вне зоны действия или Ethernet-кабель не подключён к устройству).
QNetworkConfiguration::Discovered 0x0000006 Обнаруженная конфигурация может быть немедленно использована для создания нового QNetworkSession. Примером обнаруженной конфигурации может служить WLAN, находящийся в зоне действия. Если устройство выходит из зоны действия, флаг обнаружения снимается. Ещё одним примером является конфигурация GPRS, которая обычно остаётся обнаруженной, пока у устройства есть сетевое покрытие. Конфигурация в этом состоянии также имеет состояние QNetworkConfiguration::Defined. Если конфигурация относится к сетевым услугам, этот флаг устанавливается, если хотя бы одна из конфигураций базовых точек доступа находится в состоянии Discovered.
QNetworkConfiguration::Active 0x000000e Конфигурация в настоящее время используется открытой сетевой сессией (см. QNetworkSession::isOpen()). Однако это не означает, что текущий процесс является тем, кто создал открытую сессию. Это просто указывает, что если был бы создан новый QNetworkSession на основе этой конфигурации, то QNetworkSession::state() вернул бы QNetworkSession::Connected. Это состояние подразумевает состояние QNetworkConfiguration::Discovered.

Тип StateFlags является typedef для 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()

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

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

QNetworkConfiguration::QNetworkConfiguration(const QNetworkConfiguration &other)

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

QNetworkConfiguration::~QNetworkConfiguration()

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

BearerType QNetworkConfiguration::bearerType() const

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

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

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

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

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

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

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

Purpose QNetworkConfiguration::purpose() const

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

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

bool QNetworkConfiguration::setConnectTimeout(int timeout)

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

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

Возвращает true, если удалось.

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

См. также connectTimeout.

StateFlags QNetworkConfiguration::state() const

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

void QNetworkConfiguration::swap(QNetworkConfiguration &other)

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

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

Type QNetworkConfiguration::type() const

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

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

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

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

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

Оператор присваивания перемещения.

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

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

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.9/qnetworkconfiguration.html

Spec-Zone.ru

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