Spec-Zone.ru › Qt 5.11

Класс QNetworkConfiguration

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

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

Открытые типы

перечисление ТипНосителя { BearerUnknown, BearerEthernet, BearerWLAN, Bearer2G, ..., BearerLTE }
перечисление Назначение { UnknownPurpose, PublicPurpose, PrivatePurpose, ServiceSpecificPurpose }
перечисление ФлагСостояния { Undefined, Defined, Discovered, Active }
флаги ФлагиСостояний
перечисление Тип { InternetAccessPoint, ServiceNetwork, UserChoice, Invalid }

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

QNetworkConfiguration()
QNetworkConfiguration(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
QNetworkConfiguration & operator=(QNetworkConfiguration &&other)
QNetworkConfiguration & operator=(const QNetworkConfiguration &other)
bool operator==(const QNetworkConfiguration &other) const

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

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

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

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

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

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

Список доступных конфигураций можно получить через 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::ТипНосителя

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

Константа Значение Описание
QNetworkConfiguration::BearerUnknown 0 Тип носителя неизвестен или не указан. Функция bearerTypeName() может вернуть дополнительную информацию.
QNetworkConfiguration::BearerEthernet 1 Конфигурация для интерфейсов Ethernet.
QNetworkConfiguration::BearerWLAN 2 Конфигурация для беспроводного интерфейса Wi-Fi.
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 находится вне зоны действия или сетевой кабель не подключён к компьютеру).
QNetworkConfiguration::Discovered 0x0000006 Обнаруженную конфигурацию можно немедленно использовать для создания новой QNetworkSession. Пример обнаруженной конфигурации — сеть Wi-Fi, находящаяся в зоне действия. Если устройство выходит из зоны действия, флаг обнаружения сбрасывается. Второй пример — конфигурация GPRS, которая обычно остаётся обнаруженной, пока устройство имеет сетевой доступ. Если конфигурация относится к сетевому сервису, этот флаг устанавливается, если хотя бы одна из базовых конфигураций точек доступа имеет состояние Обнаружена.
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. Все члены группы могут достигать одной и той же целевой сети. Этот тип конфигурации является обязательным для поддерживающих роуминг сетевых сессий. В некоторых платформах этот тип конфигурации может также называться Service Network Access Point (SNAP).
QNetworkConfiguration::UserChoice 2 Конфигурация является заглушкой, которая будет решена до фактической конфигурации платформой при открытии сессии. В зависимости от платформы это может вызвать диалоговое окно, запрашивающее у пользователя предпочтительный выбор.
QNetworkConfiguration::Invalid 3 Конфигурация недействительна.

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

QNetworkConfiguration::QNetworkConfiguration()

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

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

QNetworkConfiguration::QNetworkConfiguration(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 для установления соединения.

Предупреждение: Это не повлияет, если плагин носителя не имеет возможности 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.

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/archives/qt-5.11/qnetworkconfiguration.html

Spec-Zone.ru

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