Класс SimMobileDataFilter
(Sailfish::Mdm::SimMobileDataFilter)
Класс SimMobileDataFilter управляет правилами фильтрации мобильных данных. Подробнее…
Заголовочный файл: | #include <mdm-simmobiledatafilter.h> |
Свойства
- defaultAction : SimFilter::Action
- ready : const bool
- rules : SimFilter::RuleList
Публичные методы
- SimMobileDataFilter(QObject *parent = 0)
- ~SimMobileDataFilter()
- bool clearRules()
- SimFilter::Action defaultAction() const
- bool hasRuleForImsi(const QString &imsi) const
- bool ready() const
- bool removeRule(const QString &imsi)
- SimFilter::RuleList rules() const
- bool setDefaultAction(SimFilter::Action action)
- bool setRule(const SimFilter::Rule &rule)
- bool setRules(const SimFilter::RuleList &rules)
Сигналы
- void defaultActionChanged()
- void readyChanged()
- void ruleAdded(const Sailfish::Mdm::SimFilter::Rule &rule)
- void ruleRemoved(const QString &imsi)
- void rulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Подробное описание
Класс SimMobileDataFilter управляет правилами фильтрации мобильных данных.
Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:
CONFIG += link_pkgconfig
PKGCONFIG += sailfishmdm
и затем #include <mdm-simmobiledatafilter.h>
.
Пример использования:
#include <mdm-simmobiledatafilter.h>
int main(int argc, char **argv)
{
QCoreApplication app(arg, argv);
SimMobileDataFilter *mobileDataFilter = new SimMobileDataFilter;
QObject::connect(mobileDataFilter, &SimMobileDataFilter::readyChanged, [mobileDataFilter] {
qInfo() << mobileDataFilter->rules().count() << "правила применены";
SimFilter::Rule rule("123456789", SimFilter::Block);
mobileDataFilter->addRule(rule);
QObject::connect(mobileDataFilter, &SimMobileDataFilter::ruleAdded, [rule] {
qInfo() << "Правило добавлено для IMSI" << rule.imsi;
app.quit();
});
});
return app.exec();
}
Описание свойств
defaultAction : SimFilter::Action
Действие по умолчанию для мобильных данных.
Методы доступа:
- SimFilter::Action defaultAction() const
- bool setDefaultAction(SimFilter::Action action)
Сигнал уведомления:
- void defaultActionChanged()
ready : const bool
Истинно, если фильтр мобильных данных готов к использованию, свойствам заданы корректные значения.
Методы доступа:
- bool ready() const
Сигнал уведомления:
- void readyChanged()
rules : SimFilter::RuleList
Список правил работы с мобильными данными.
Методы доступа:
- SimFilter::RuleList rules() const
- bool setRules(const SimFilter::RuleList &rules)
Сигнал уведомления:
- void rulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Описание методов класса
SimMobileDataFilter::SimMobileDataFilter(QObject *parent = 0)
Конструктор по умолчанию для класса SimMobileDataFilter.
SimMobileDataFilter::~SimMobileDataFilter()
Деструктор для класса SimMobileDataFilter.
bool SimMobileDataFilter::clearRules()
Очищает список правил.
Данный запрос является асинхронным. По его завершении испускается сигнал rulesChanged().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если в текущий момент нет никаких правил.
bool SimMobileDataFilter::hasRuleForImsi(const QString &imsi) const
Определяет, существует ли правило работы с мобильными данными для идентификатора IMSI, переданного в параметре imsi.
bool SimMobileDataFilter::removeRule(const QString &imsi)
Удаляет правило из списка правил работы с мобильными данными. Правило определяется по идентификатору IMSI, передаваемому в параметре imsi.
Данный запрос является асинхронным. По его завершении испускаются сигналы rulesChanged() и ruleRemoved().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если для этого идентификатора не существует правила.
[signal] void SimMobileDataFilter::ruleAdded(const Sailfish::Mdm::SimFilter::Rule &rule)
Сигнал испускается после добавления нового правила rule для мобильных данных.
[signal] void SimMobileDataFilter::ruleRemoved(const QString &imsi)
Сигнал испускается после удаления правила работы с мобильными данных. Правило определяется по идентификатору IMSI, передаваемому в параметре imsi.
[signal] void SimMobileDataFilter::rulesChanged(const Sailfish::Mdm::SimFilter::RuleList &oldRules, const Sailfish::Mdm::SimFilter::RuleList &newRules)
Сигнал испускается при изменении правил работы с мобильными данными. Старая версия списка правил передается в параметре oldRules, новая версия — в параметре newRules. Список правил считается изменившимся при изменении хотя бы одного правила.
Примечание — Сигнал уведомления для свойства rules.
bool SimMobileDataFilter::setRule(const SimFilter::Rule &rule)
Добавляет или изменяет правило rule в списке правил работы с мобильными данными.
Данный запрос является асинхронным. По его завершении испускается сигнал rulesChanged(). Если это новое правило, то также испускается сигнал ruleAdded().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если уже есть правило с таким же идентификатором IMSI и действием.
bool SimMobileDataFilter::setRules(const SimFilter::RuleList &rules)
Применяет список правил, переданный в параметре rules.
Данный запрос является асинхронным. По его завершении испускается сигнал rulesChanged().
Возвращает true, если асинхронный запрос был отправлен. Возвращает false и не выполняет никаких действий, если идентификатор IMSI является недействительным или если задаваемый список правил полностью соответствует существующему списку правил.
Примечание — Задающий метод для свойства rules.
См. также rules().