Класс 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 }
Свойства
- available : const bool
Публичные методы
- SimInfo(QObject *parent = 0)
- ~SimInfo()
- bool available() const
- QList<SlotInfo> cardIdentifier() const
- bool hotSwappingSupported() const
- QList<SlotInfo> imeiCodes() const
- QList<SimState> simSlotStates() const
- QList<SlotInfo> subscriberIdentities() const
- QList<SlotInfo> subscriberNumbers() const
Сигналы
- void availableChanged(bool available)
- void simStateChanged(const Sailfish::Mdm::SimInfo::SimState &state)
Подробное описание
Класс 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-карт.
Следует обратить внимание, что вызов этого метода является синхронным блокирующим запросом.