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

Класс CallStatistics

(Sailfish::Mdm::CallStatistics)

Класс CallStatistics предоставляет доступ к статистике телефонных вызовов. Подробнее…

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

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

  • class Filter
  • class Result
  • enum CallType { AnyCallType, OutgoingCall, MissedCall, IncomingCall }
  • enum TimeInterval { NoTimeInterval, Yearly, Monthly, Weekly, Daily }

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

Сигналы

  • void searchFinished(bool success, const QList<Sailfish::Mdm::CallStatistics::Result> &results)

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

Класс CallStatistics предоставляет доступ к статистике телефонных вызовов.

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

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

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

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

 #include <mdm-callstatistics.h>

 using namespace Sailfish::Mdm;

 void printCallStatistics(QObject *parent)
 {
     CallStatistics filter;
     filter.callType = CallStatistics::MissedCall;
     filter.start = QDateTime(QDate(2000, 1, 1));

     CallStatistics *stats = new CallStatistics(parent);
     stats->search(filter);

     QString intervalFormat;
     switch (filter.timeInterval) {
     case CallStatistics::NoTimeInterval:
         break;
     case CallStatistics::Yearly:
         intervalFormat = "yyyy:";
         break;
     case CallStatistics::Monthly:
         intervalFormat = "yyyy MMM:";
         break;
     case CallStatistics::Weekly:
         intervalFormat = "yyyy-MM-ddd начало недели:";
         break;
     case CallStatistics::Daily:
         intervalFormat = "yyyy-MM-ddd:";
         break;
     }

     QObject::connect(stats, &CallStatistics::searchFinished, [stats, &intervalFormat](bool success, const QList<Sailfish::Mdm::CallStatistics::Result> &results) {
         if (success) {
             for (const CallStatistics::Result &result : results) {
                 qInfo() << result.when.toString(intervalFormat) << result.callCount << "вызовы";
             }
         } else {
             qInfo() << "Не удалось получить статистику вызовов!";
         }
     });
 }

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

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

enum CallStatistics::CallType

Типы телефонных вызовов для использования в классе Filter.

Константа Значение Описание
Sailfish::Mdm::CallStatistics::AnyCallType 0 Любой тип телефонных вызовов
Sailfish::Mdm::CallStatistics::OutgoingCall 1 Исходящие телефонные вызовы
Sailfish::Mdm::CallStatistics::MissedCall 2 Пропущенные телефонные вызовы
Sailfish::Mdm::CallStatistics::IncomingCall 3 Принятые телефонные вызовы

enum CallStatistics::TimeInterval

Временной интервал, используемый для группировки результатов поиска.

Применяется для результатов поиска, полученный в результате испускания сигнала searchFinished(). После установки интервала каждый элемент в списке представляет собой статистику звонков за день, месяц или год, соответственно.

Константа Значение Описание
Sailfish::Mdm::CallStatistics::NoTimeInterval 0 Результаты поиска не группируются. Список с результатами будет состоять из одной записи
Sailfish::Mdm::CallStatistics::Yearly 1 Группировка результатов по годам
Sailfish::Mdm::CallStatistics::Monthly 2 Группировка результатов по месяцам
Sailfish::Mdm::CallStatistics::Weekly 3 Группировка результатов по номеру недели
Sailfish::Mdm::CallStatistics::Daily 4 Группировка результатов по дням

Например, если значением Filter::start является 1 июля 2000, а значением Filter::end — 30 июня 2002, список результатов поиска будет включать:

  • Для константы Yearly — 3 записи: с 2000.07.01 по 2000.12.31, с 2001.01.01 по 2001.12.31 и с 2002.01.01 по 2002.06.30;
  • Для константы Monthly — 24 записи: по одной на каждый месяц между началом и концом временного интервала (включительно);
  • Для константы Weekly — 107 записей: по одной на каждую неделю между началом и концом временного интервала (включительно), где каждая полная неделя начинается с понедельника. Из-за дней недели, выпадающих на начало и конец временного интервала, первая и последняя записи в списке образуют неполные недели: первая запись охватывает интервал с 2000.07.1 по 2007.07.04, а последняя — интервал с 2002.06.25 по 2002.06.30;
  • Для константы Daily — 701 запись: по одной на каждый день между началом и концом временного интервала (включительно).

Записи формируются для каждого временного интервала вне зависимости от количества звонков в это день/месяц/год.

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

CallStatistics::CallStatistics(QObject *parent = 0)

Конструктор для класса CallStatistics с родительским элементом, указанным в параметре parent.

CallStatistics::~CallStatistics()

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

void CallStatistics::search(const Sailfish::Mdm::CallStatistics::Filter &filter)

Получает количество телефонных вызовов, удовлетворяющее критерию, заданному в параметре filter.

В настоящий момент поддерживаются только сотовые вызовы.

[signal] void CallStatistics::searchFinished(bool success, const QList<Sailfish::Mdm::CallStatistics::Result> &results)

Испускается по завершении поиска, выполненного в результате вызова метода search().

Значением параметра success является true, если вызов метода был выполнен успешно. Параметр results содержит список результатов поиска.

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

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