Класс SimSmsFilter
(Sailfish::Mdm::SimSmsFilter)
Класс SimSmsFilter управляет доступом к функциям SMS. Подробнее…
Заголовочный файл: | #include <mdm-simsmsfilter.h> |
Свойства
- defaultTextAction : SimFilter::Action
- ready : const bool
- textRules : SimFilter::RuleList
Публичные методы
- SimSmsFilter(QObject *parent = 0)
- ~SimSmsFilter()
- bool clearTextRules()
- SimFilter::Action defaultTextAction() const
- bool hasTextRuleForImsi(const QString &imsi) const
- bool ready() const
- bool removeTextRule(const QString &imsi)
- bool setDefaultTextAction(SimFilter::Action action)
- bool setTextRule(const SimFilter::Rule &rule)
- bool setTextRules(const SimFilter::RuleList &rules)
- SimFilter::RuleList textRules() const
Сигналы
- void defaultTextActionChanged()
- void readyChanged()
- void textRuleAdded(const Sailfish::Mdm::SimFilter::Rule &rule)
- void textRuleRemoved(const QString &imsi)
- void textRulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Подробное описание
Класс SimSmsFilter управляет доступом к функциям SMS.
С его помощью можно задавать правила фильтрации для входящих текстовых сообщений. Следует обратить внимание, что данная функциональность применима только к входящим, но не к исходящим текстовым сообщениям.
Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:
CONFIG += link_pkgconfig
PKGCONFIG += sailfishmdm
и затем #include <mdm-simsmsfilter.h>
.
Пример использования:
#include <mdm-simsmsfilter.h>
int main(int argc, char **argv)
{
QCoreApplication app(arg, argv);
SimSmsFilter *smsFilter = new SimSmsFilter;
QObject::connect(smsFilter, &SimSmsFilter::readyChanged, [smsFilter] {
qInfo() << smsFilter->textRules().count() << "правила работы с текстовыми данными применены";
SimFilter::Rule rule("123456789", SimFilter::Block);
smsFilter->addTextRule(rule);
QObject::connect(smsFilter, &SimSmsFilter::textRuleAdded, [rule] {
qInfo() << "Правило добавлено для IMSI" << rule.imsi;
app.quit();
});
});
return app.exec();
}
Описание свойств
defaultTextAction : SimFilter::Action
Действие по умолчанию для текстовых данных SMS.
Методы доступа:
- SimFilter::Action defaultTextAction() const
- bool setDefaultTextAction(SimFilter::Action action)
Сигнал уведомления:
- void defaultTextActionChanged()
ready : const bool
Истинно, если фильтр текстовых сообщений готов к использованию, свойствам заданы корректные значения.
Методы доступа:
- bool ready() const
Сигнал уведомления:
- void readyChanged()
textRules : SimFilter::RuleList
Список правил работы с текстовыми сообщениями.
Методы доступа:
- SimFilter::RuleList textRules() const
- bool setTextRules(const SimFilter::RuleList &rules)
Сигнал уведомления:
- void textRulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Описание методов класса
SimSmsFilter::SimSmsFilter(QObject *parent = 0)
Конструктор по умолчанию для класса SimSmsFilter.
SimSmsFilter::~SimSmsFilter()
Деструктор для класса SimSmsFilter.
bool SimSmsFilter::clearTextRules()
Очищает список правил.
Данный запрос является асинхронным. По его завершении испускается сигнал textRulesChanged().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если в текущий момент нет никаких правил работы с текстовыми сообщениями.
bool SimSmsFilter::hasTextRuleForImsi(const QString &imsi) const
Определяет, существует ли правило работы с текстовыми сообщения для идентификатора IMSI, переданного в параметре imsi.
bool SimSmsFilter::removeTextRule(const QString &imsi)
Удаляет правило из списка правил работы с текстовыми сообщениями. Правило определяется по идентификатору IMSI, передаваемому в параметре imsi.
Данный запрос является асинхронным. По его завершении испускаются сигналы textRulesChanged() и textRuleRemoved().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если для этого идентификатора не существует правила.
bool SimSmsFilter::setTextRule(const SimFilter::Rule &rule)
Добавляет или изменяет правило rule в списке правил работы с текстовыми сообщениями.
Данный запрос является асинхронным. По его завершении испускается сигнал textRulesChanged(). Если это новое правило, то также испускается сигнал textRuleAdded().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если уже есть правило с таким же идентификатором IMSI и действием.
bool SimSmsFilter::setTextRules(const SimFilter::RuleList &rules)
Применяет список правил, переданный в параметре rules.
Данный запрос является асинхронным. По его завершении испускается сигнал textRulesChanged().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если задаваемый список правил полностью соответствует существующему списку правил.
Примечание — Задающий метод для свойства textRules.
См. также textRules().
[signal] void SimSmsFilter::textRuleAdded(const Sailfish::Mdm::SimFilter::Rule &rule)
Сигнал испускается после добавления нового правила rule для текстовых сообщений.
[signal] void SimSmsFilter::textRuleRemoved(const QString &imsi)
Сигнал испускается после удаления правила работы с текстовыми сообщениями. Правило определяется по идентификатору IMSI, передаваемому в параметре imsi.
[signal] void SimSmsFilter::textRulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Сигнал испускается при изменении правил работы с текстовыми сообщениями. Старая версия списка правил передается в параметре oldRules, новая версия — в параметре newRules. Список правил считается изменившимся при изменении хотя бы одного правила.
Примечание — Сигнал уведомления для свойства textRules.