Документация
ОС Аврора 5.1.5

Класс SimInfo

(Sailfish::Mdm::SimInfo)

Класс SimInfo предоставляет доступ к информации о SIM-карте. Подробнее…

Заголовочный файл: #include <mdm-siminfo.h>

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

  • class SimState
  • class SlotInfo
  • enum NetworkRegistrationStatus { UnknownRegistrationStatus, NotRegistered, Registered, SearchingForRegistration, RegistrationDenied, Roaming }
  • enum PinRequired { SimPinUnknown, SimPinNotRequired, SimPinRequired, SimPukRequired }

Свойства

Публичные методы

Сигналы

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

Класс SimInfo предоставляет доступ к информации о SIM-карте.

В частности, можно получить IMEI, IMSI, ICCID и номер телефона. Полученная информация считается корректной только в том случае, если значением свойства available является true.

Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

и затем #include <mdm-siminfo.h>.

Пример использования:

 #include <mdm-siminfo.h>
 void printSimInfo(QObject *parent)
 {
     Sailfish::Mdm::SimInfo *info = new Sailfish::Mdm::SimInfo(parent);
     QObject::connect(info, &Sailfish::Mdm::SimInfo::availableChanged, [info] {
         qInfo() << "Идентификаторы IMEI:" << info->imeiCodes();
         qInfo() << "Идентификаторы IMSI:" << info->subscriberIdentities();
         qInfo() << "Идентификаторы ICCID:" << info->cardIdentifier();
         qInfo() << "Номера телефонов:" << info->subscriberNumbers();
     });
 }

Описание типов класса

enum SimInfo::NetworkRegistrationStatus

В данном перечислении описаны возможные состояния регистрации в сети для SIM-карты.

Константа Значение Описание
Sailfish::Mdm::SimInfo::UnknownRegistrationStatus -1 Неизвестное состояние регистрации в сети
Sailfish::Mdm::SimInfo::NotRegistered 0 SIM-карта не зарегистрирована ни в какой сети
Sailfish::Mdm::SimInfo::Registered 1 SIM-карта зарегистрирована в домашней сети
Sailfish::Mdm::SimInfo::SearchingForRegistration 2 Выполняется поиск сети для регистрации SIM-карты
Sailfish::Mdm::SimInfo::RegistrationDenied 3 Отказ в регистрации SIM-карты в сети
Sailfish::Mdm::SimInfo::Roaming 4 SIM-карта зарегистрирована, но находится в роуминге

enum SimInfo::PinRequired

В данном перечислении описаны возможные требования к PIN-коду SIM-карты.

Константа Значение Описание
Sailfish::Mdm::SimInfo::SimPinUnknown -1 Неизвестно, требуется ли PIN-код для работы SIM-карты
Sailfish::Mdm::SimInfo::SimPinNotRequired 0 Для работы SIM-карты PIN-код не требуется
Sailfish::Mdm::SimInfo::SimPinRequired 1 Требуется PIN-код для работы SIM-карты
Sailfish::Mdm::SimInfo::SimPukRequired 2 SIM-карта была заблокирована из-за ввода некорректного PIN-кода. Для разблокирования требуется ввод PUK

Описание свойств

available : const bool

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

Если у процесса нет соответствующих разрешений, то служба может быть недоступна.

Методы доступа:

  • bool available() const

Сигнал уведомления:

  • void availableChanged(bool available)

Описание методов класса

SimInfo::SimInfo(QObject *parent = 0)

Конструктор по умолчанию для класса SimInfo.

SimInfo::~SimInfo()

Деструктор для класса SimInfo.

QList<SlotInfo> SimInfo::cardIdentifier() const

Возвращает уникальный серийный номер ICCID (Integrated Circuit Card Identifier) для каждой SIM-карты, установленной в лотке для SIM-карт.

Следует обратить внимание, что вызов этого метода является синхронным блокирующим запросом.

bool SimInfo::hotSwappingSupported() const

Возвращает true, если SIM-карта может быть извлечена и заменена на другую без необходимости перезагрузки системы.

QList<SlotInfo> SimInfo::imeiCodes() const

Возвращает уникальный идентификатор IMEI (International Mobile Equipment Identity) для устройства. Несмотря на принадлежность к модулю SimInfo, не требует установленной SIM-карты.

Следует обратить внимание, что вызов этого метода является синхронным блокирующим запросом.

QList<SimState> SimInfo::simSlotStates() const

Возвращает детальную информацию о каждой SIM-карте.

Следует обратить внимание, что этот метод возвращает закэшированные в настоящий момент значения. Наполнение кэша происходит асинхронно и вызывается при создании экземпляра класса SimInfo.

Чтобы отслеживать изменения в информации о SIM-карте, можно подключиться к сигналу simStateChanged().

[signal] void SimInfo::simStateChanged(const Sailfish::Mdm::SimInfo::SimState &state)

Сигнал испускается при изменении детальной информации о SIM-карте, установленной в конкретном лотке для SIM-карт. В параметр state передается изменённая информация.

QList<SlotInfo> SimInfo::subscriberIdentities() const

Возвращает идентификатор мобильного абонента IMSI (International Mobile Subscriber Identity) для каждой SIM-карты, установленной в лотке для SIM-карт.

Следует обратить внимание, что вызов этого метода является синхронным блокирующим запросом.

QList<SlotInfo> SimInfo::subscriberNumbers() const

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

Следует обратить внимание, что вызов этого метода является синхронным блокирующим запросом.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.