Класс ConnectivitySettings
(Sailfish::Mdm::ConnectivitySettings)
Класс ConnectivitySettings управляет сетевыми подключениями. Подробнее…
Заголовочный файл: | #include <mdm-connectivity.h> |
Публичные типы
- class MobileNetworkAccessPointSettings
- flags CellularTechnologies
- enum CellularTechnology { TechnologyNone, Technology2G, Technology3G, Technology4G, Technology5G }
- enum Mode
Свойства
- bluetoothEnabled : bool
- flightModeEnabled : bool
- ipv4StatusUrl : QString
- ipv6StatusUrl : QString
- nfcEnabled : bool
- ready : const bool
- timeservers : QStringList
- wlanEnabled : bool
Публичные методы
- ConnectivitySettings(QObject *parent = Q_NULLPTR)
- ConnectivitySettings(Mode mode, QObject *parent = Q_NULLPTR)
- QMap<MobileNetworkAccessPointSettings::Type, MobileNetworkAccessPointSettings> accessPointSettings(const QString &imsi) const
- bool bluetoothEnabled() const
- bool connectToMobileNetwork(const QString &imsi)
- bool disconnectFromMobileNetwork(const QString &imsi)
- bool flightModeEnabled() const
- QVector<NetworkService *> getAvailableWifiServices() const
- QVector<NetworkService *> getSavedWifiServices() const
- QString ipv4StatusUrl() const
- QString ipv6StatusUrl() const
- bool isConnectedToMobileNetwork(const QString &imsi) const
- bool isWifiScanAvailable() const
- QStringList mobileNetworkImsis() const
- QStringList modemPaths() const
- QString modemSimImsi(const QString &modemPath) const
- bool nfcEnabled
- bool ready() const
- void scanWifiServices()
- bool selectCellularTechnologies(const QString &modemPath, Sailfish::Mdm::ConnectivitySettings::CellularTechnologies techs)
- CellularTechnologies selectedCellularTechnologies(const QString &modemPath) const
- bool setAccessPointSettings(const QString &imsi, const MobileNetworkAccessPointSettings &settings)
- void setBluetoothEnabled(bool value)
- void setFlightModeEnabled(bool value)
- void setIpv4StatusUrl(const QString &value)
- void setIpv6StatusUrl(const QString &value)
- void setTimeservers(const QStringList &value)
- void setWlanEnabled(bool value)
- QVector<CellularTechnologies> supportedCellularTechnologies(const QString &modemPath) const * QStringList timeservers() const
- bool wlanEnabled() const
Сигналы
- void bluetoothEnabledChanged()
- void flightModeEnabledChanged()
- void ipv4StatusUrlChanged()
- void ipv6StatusUrlChanged()
- void nfcEnabledChanged()
- void readyChanged()
- void timeserversChanged()
- void wifiScanAvailable()
- void wifiScanFinished()
- void wifiScanUnavailable()
- void wifiServicesChanged()
- void wlanEnabledChanged()
Подробное описание
Класс ConnectivitySettings управляет сетевыми подключениями.
Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:
CONFIG += link_pkgconfig
PKGCONFIG += sailfishmdm
и затем #include <mdm-connectivity.h>
.
Пример использования:
#include <mdm-connectivity.h>
void enableOrDisableWlan(bool enable, QObject *parent)
{
Sailfish::Mdm::ConnectivitySettings *settings = new Sailfish::Mdm::ConnectivitySettings(parent);
settings->setWlanEnabled(enable);
}
Описание типов класса
enum ConnectivitySettings::CellularTechnology flags ConnectivitySettings::CellularTechnologies
В данном перечислении описаны технологии сотовой связи, которые могут использоваться устройствами для подключения к сетям передачи данных.
Константа | Значение | Описание |
---|---|---|
Sailfish::Mdm::ConnectivitySettings::TechnologyNone |
0 |
Устройство может использовать любую из технологий либо не использовать ни одну из них |
Sailfish::Mdm::ConnectivitySettings::Technology2G |
1 |
Устройство использует или может использовать технологию 2G для подключения к мобильным сетям |
Sailfish::Mdm::ConnectivitySettings::Technology3G |
2 |
Устройство использует или может использовать технологию 3G для подключения к мобильным сетям |
Sailfish::Mdm::ConnectivitySettings::Technology4G |
4 |
Устройство использует или может использовать технологию 4G для подключения к мобильным сетям |
Sailfish::Mdm::ConnectivitySettings::Technology5G |
8 |
Устройство использует или может использовать технологию 5G для подключения к мобильным сетям |
Тип CellularTechnologies — это typedef для QFlags<CellularTechnology>. Он хранит комбинацию OR значений CellularTechnology.
enum ConnectivitySettings::Mode
Данное перечисление определяет синхронный и асинхронный способы получения и изменения настроек.
Константа | Значение | Описание |
---|---|---|
Sailfish::Mdm::ConnectivitySettings::AsynchronousMode |
0 |
При получении или изменении значения настройки метод сразу же передаёт управление вызывающему коду. При изменении значения сама настройка не изменяется до момента подтверждения изменения от backend-библиотек |
Sailfish::Mdm::ConnectivitySettings::SynchronousMode |
1 |
Попытки получения или изменения настройки блокируют текущий поток исполнения до окончания выполнения этих операций |
Описание свойств
bluetoothEnabled : bool
Свойство истинно, если адаптер Bluetooth доступен (включён).
Следует обратить внимание, что включение режима полёта отключает адаптер Bluetooth. Однако затем при необходимости адаптер можно включить индивидуально.
Значение данного свойства обновляется всякий раз, когда адаптер Bluetooth меняет свое состояние на противоположное: в результате действий пользователя, действий клиентского приложения MDM или изменения состояния режима полёта.
Методы доступа:
- bool bluetoothEnabled() const
- void setBluetoothEnabled(bool value)
Сигнал уведомления:
- void bluetoothEnabledChanged()
flightModeEnabled : bool
Истинно, если в настоящий момент на устройстве включён режим полёта.
При включённом режиме полёта по умолчанию все передатчики и приёмники (включая модули сотовой связи, WLAN, Bluetooth и GPS) отключаются. Однако при этом пользователь может индивидуально включить модули WLAN, Bluetooth и GPS.
Методы доступа:
- bool flightModeEnabled() const
- void setFlightModeEnabled(bool value)
Сигнал уведомления:
- void flightModeEnabledChanged()
ipv4StatusUrl : QString
Свойство содержит строку URL.
URL-адрес для проверки состояния сети IPv4, настроенный для устройства. Этот URL-адрес может использоваться приложениями, которые хотят проверить, имеет ли устройство в настоящее время открытый доступ в Интернет (в отличие от начала подключения к беспроводной сети, требующей входа в Captive Portal, или сети с другим ограничением).
Методы доступа:
- QString ipv4StatusUrl() const
- void setIpv4StatusUrl(const QString &value)
Сигнал уведомления:
- void ipv4StatusUrlChanged()
ipv6StatusUrl : QString
Свойство содержит строку URL.
URL-адрес для проверки состояния сети IPv6, настроенный для устройства. Этот URL-адрес может использоваться приложениями, которые хотят проверить, имеет ли устройство в настоящее время открытый доступ в Интернет (в отличие от начала подключения к беспроводной сети, требующей входа в Captive Portal, или сети с другим ограничением).
Методы доступа:
- QString ipv6StatusUrl() const
- void setIpv6StatusUrl(const QString &value)
Сигнал уведомления:
- void ipv6StatusUrlChanged()
nfcEnabled : bool
Истинно, если NFC включён.
Значение данного свойства обновляется всякий раз, когда NFC меняет свое состояние на противоположное: в результате действий пользователя, действий клиентского приложения MDM или изменения состояния режима полёта.
Методы доступа:
- bool nfcEnabled() const
- void setNfcEnabled(bool value)
Сигнал уведомления:
- void nfcEnabledChanged()
ready : const bool
Истинно, если свойства класса были проинициализированы и доступны для считывания/изменения.
Если значение свойства не равно true, то попытки считывания/установки значений не будут давать результатов.
Методы доступа:
- bool ready() const
Сигнал уведомления:
- void readyChanged()
timeservers : QStringList
Свойство содержит список строк.
Список глобальных серверов NTP по умолчанию.
Методы доступа:
- QStringList timeservers() const
- void setTimeservers(const QStringList &value)
Сигнал уведомления:
- void timeserversChanged()
wlanEnabled : bool
Истинно, если адаптер WLAN включён.
Следует обратить внимание, что включение режима полёта отключает адаптер WLAN. Однако затем при необходимости адаптер можно включить индивидуально.
Значение данного свойства обновляется всякий раз, когда адаптер WLAN меняет свое состояние на противоположное: в результате действий пользователя, действий клиентского приложения MDM или изменения состояния режима полёта.
Методы доступа:
- bool wlanEnabled() const
- void setWlanEnabled(bool value)
Сигнал уведомления:
- void wlanEnabledChanged()
Описание методов класса
ConnectivitySettings::ConnectivitySettings(QObject *parent = Q_NULLPTR)
Конструктор для класса ConnectivitySettings с родительским элементом, указанным в параметре parent.
ConnectivitySettings::ConnectivitySettings(Mode mode, QObject *parent = Q_NULLPTR)
Конструктор по умолчанию для класса PackageEntry.
QMap<MobileNetworkAccessPointSettings::Type, MobileNetworkAccessPointSettings> ConnectivitySettings::accessPointSettings(const QString &imsi) const
Возвращает настройки точки доступа мобильной сети для SIM-карты с идентификатором, переданным в параметре imsi.
Вызов метода с заданным идентификатором imsi сделает SIM-карту используемой по умолчанию для передачи данных.
Если заданный идентификатор imsi не определяет SIM-карту, вставленную лоток для SIM-карт устройства, данный метод вернёт пустой ассоциативный массив с настройками.
См. также setAccessPointSettings().
bool ConnectivitySettings::connectToMobileNetwork(const QString &imsi)
Подключает устройство к мобильной сети с помощью SIM-карты с заданным идентификатором imsi.
Для подключения будут использоваться текущие настройки точки доступа.
Вызов метода с заданным идентификатором imsi сделает SIM-карту используемой по умолчанию для передачи данных.
Возвращает true, если соединение было успешно установлено и задано, как используемое по умолчанию. В противном случае возвращает false.
bool ConnectivitySettings::disconnectFromMobileNetwork(const QString &imsi)
Отключает устройство от мобильной сети, к которой устройство было подключено с помощью SIM-карты с заданным идентификатором imsi.
Вызов метода с заданным идентификатором imsi сделает SIM-карту используемой по умолчанию для передачи данных.
Возвращает true, если соединение было успешно разорвано и более не используется по умолчанию. В противном случае возвращает false.
QVector<NetworkService *> ConnectivitySettings::getAvailableWifiServices() const
Пытается получить список всех доступных служб Wi-Fi.
Примечание — Эта функция вернёт пустой список при работе в режиме SynchronousMode.
См. также getSavedWifiServices().
QVector<NetworkService *> ConnectivitySettings::getSavedWifiServices() const
Пытается получить список всех сохранённых служб Wi-Fi.
Примечание — Эта функция вернёт пустой список при работе в режиме SynchronousMode.
См. также getAvailableWifiServices().
bool ConnectivitySettings::isConnectedToMobileNetwork(const QString &imsi) const
Возвращает true, если устройство подключено к мобильной сети с помощью SIM-карты с заданным идентификатором imsi.
Вызов метода с заданным идентификатором imsi сделает SIM-карту используемой по умолчанию для передачи данных.
bool ConnectivitySettings::isWifiScanAvailable() const
Возвращает статус доступа к сканированию Wi-Fi.
QStringList ConnectivitySettings::mobileNetworkImsis() const
Возвращает список идентификаторов IMSI для всех SIM-карт, которые подключены к мобильной сети.
QStringList ConnectivitySettings::modemPaths() const
Возвращает список допустимых модемных путей от устройства.
QString ConnectivitySettings::modemSimImsi(const QString &modemPath) const
Возвращает идентификатор IMSI для SIM-карты, вставленной в лоток, подключенный к модему с путем modemPath.
Если SIM-карта отсутствует в лотке или если заданный путь к модему modemPath не определяет должным образом устройство модема, данный метод вернёт пустую строку.
void ConnectivitySettings::scanWifiServices()
Запрашивает сканирование сетей Wi-Fi.
См. также getAvailableWifiServices() и getSavedWifiServices().
bool ConnectivitySettings::selectCellularTechnologies(const QString &modemPath, Sailfish::Mdm::ConnectivitySettings::CellularTechnologies techs)
Попытка выбрать данный набор сотовых технологий techs для использования модемом с указанным
modemPath. Если указанным techs является Sailfish::Mdm::ConnectivitySettings::TechnologyNone
,
предполагается, что модему должно быть разрешено использовать любую доступную технологию для
подключения.
Немедленно возвращает false, если данный набор сотовых технологий не поддерживается, также возвращает false, если указанные techs не могут быть выбраны; в противном случае возвращает истину.
CellularTechnologies ConnectivitySettings::selectedCellularTechnologies(const QString &modemPath) const
Возвращает набор технологий сотовой связи, выбранный для использования модемом с путём, указанным в параметре modemPath.
Если ни одна из конкретных технологий сотовой связи не выбрана, то модем будет использовать любую из
доступных технологий для подключения к мобильной сети, а метод вернёт константу
Sailfish::Mdm::ConnectivitySettings::TechnologyNone
.
bool ConnectivitySettings::setAccessPointSettings(const QString &imsi, const MobileNetworkAccessPointSettings &settings)
Применяет настройки точки доступа для SIM-карты с идентификатором imsi в значение, переданное в параметре settings.
Следует обратить внимание, что символы подчёркивания и пробелы нельзя использовать в названии точки доступа. Также следует отключиться от мобильной сети перед применением настроек точки доступа.
Вызов метода с заданным идентификатором imsi сделает SIM-карту используемой по умолчанию для передачи данных.
Возвращает true, если по заданному идентификатору imsi в устройстве определяется SIM-карта и если все настройки точки доступа, переданные в параметре settings, были успешно применены. В противном случае возвращает false.
См. также accessPointSettings().
void ConnectivitySettings::setIpv4StatusUrl(const QString &value)
Устанавливает URL-адрес статуса Ipv4 как value
Примечание — Задающий метод для свойства ipv4StatusUrl.
См. также ipv4StatusUrl().
void ConnectivitySettings::setIpv6StatusUrl(const QString &value)
Устанавливает URL-адрес статуса Ipv6 как value
Примечание — Задающий метод для свойства ipv6StatusUrl.
См. также ipv6StatusUrl().
void ConnectivitySettings::setTimeservers(const QStringList &value)
Устанавливает глобальный список серверов времени как value . Список должен быть отсортирован в порядке предпочтения.
Примечание — Задающий метод для свойства timeservers.
См. также timeservers().
QVector<CellularTechnologies> ConnectivitySettings::supportedCellularTechnologies(const QString &modemPath) const
Возвращает массив (вектор) наборов технологий сотовой связи, которые поддерживаются модемом с путём, указанным в параметреmodemPath.
Например, устройство может поддерживать режимы "Только 2G", "2G/3G", "2G/3G/4G" и (если поддерживается технология VoLTE) "Только 4G".
Если путь к модему, указанный в параметре modemPath, является некорректным или если произошла некая внутренняя ошибка, будет возвращён пустой вектор.
[signal] void ConnectivitySettings::wifiScanAvailable()
Этот сигнал испускается всякий раз, когда Wi-Fi сети становятся доступными.
[signal] void ConnectivitySettings::wifiScanFinished()
[signal] void ConnectivitySettings::wifiScanUnavailable()
[signal] void ConnectivitySettings::wifiServicesChanged()
Этот сигнал испускается всякий раз, когда меняются сервисы Wi-Fi.
См. также getSavedWifiServices() и getAvailableWifiServices().