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

Класс NetworkDataCounter

(Sailfish::Mdm::NetworkDataCounter)

Класс NetworkDataCounter позволяет выполнять мониторинг передаваемых по сети данных. Подробнее…

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

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

Свойства

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

Сигналы

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

Класс NetworkDataCounter позволяет выполнять мониторинг передаваемых по сети данных.

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

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

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

Всякий раз при обновлении сетевого трафика испускается сигнал counterUpdate().

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

 #include <mdm-networkdatacounter.h>

 void queryNetworkDataUsage(QObject *parent)
 {
     Sailfish::Mdm::NetworkDataCounter *counter = new Sailfish::Mdm::NetworkDataCounter(parent);
     QObject::connect(counter, &Sailfish::Mdm::NetworkDataCounter::counterUpdate, [](const Sailfish::Mdm::NetworkDataCounter::Update &update) {
         qInfo() << "Служба:" << update.servicePath;
         qInfo() << "    Отправлено:" << update.bytesSent << "байт";
         qInfo() << "    Получено:" << update.bytesReceived << "байт";
         qInfo() << "    Времени онлайн:" << update.timeOnline << "secondsсекунд;
     });
 }

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

enum NetworkDataCounter::NetworkType

В данном перечислении описаны типы сетей передачи данных, для которых собирается статистика.

Константа Значение Описание
Sailfish::Mdm::NetworkDataCounter::MobileDataHome 0 Мобильные данные передаются в домашней сети
Sailfish::Mdm::NetworkDataCounter::MobileDataRoaming 1 Мобильные данные передаются при нахождении в роуминге
Sailfish::Mdm::NetworkDataCounter::Wlan 2 Данные передаются по локальной сети WLAN

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

active : bool

Истинно, если счётчик передаваемых данных активен и может предоставлять обновления.

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

  • bool active() const
  • void setActive(bool active)

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

  • void activeChanged()

updateAccuracy : int

Содержит порог точности для обновления счётчика, в килобайтах.

Обновления предоставляются с частотой, указанной в свойстве updateInterval, при условии, что потребление трафика превышает заданный порог точности. Установка низкого порога точности приведет к частым обновлениям, что может негативно повлиять на производительность. Не рекомендуется снижать минимальное значение порога ниже 10 Кб. Рекомендуемое значение порога точности 1 Мб.

Значение по умолчанию: 1024 Кб.

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

  • int updateAccuracy() const
  • void setUpdateAccuracy(int updateAccuracy)

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

  • void updateAccuracyChanged()

См. также updateInterval.

updateInterval : int

Содержит частоту предоставления обновлений, в секундах.

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

Значение по умолчанию: 60 секунд.

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

  • int updateInterval() const
  • void setUpdateInterval(int updateInterval)

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

  • void updateIntervalChanged()

См. также updateAccuracy.

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

NetworkDataCounter::NetworkDataCounter(QObject *parent = 0)

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

NetworkDataCounter::~NetworkDataCounter()

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

[signal] void NetworkDataCounter::counterUpdate(const Sailfish::Mdm::NetworkDataCounter::Update &update)

Предоставлено обновление update по статистике потребления сетевого трафика.

Сигнал испускается при условии, что значением свойства active является true, и если имеется обновление по потреблению сетевого трафика. Обновления предоставляются в соответствии с текущими значениями свойств updateInterval и updateAccuracy.

void NetworkDataCounter::resetCounter(const QString &servicePath)

Выполняет сброс счётчика, служба которого находится по указанному в параметре servicePath пути.

См. также Update::servicePath.

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

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