Класс NetworkDataCounter
(Sailfish::Mdm::NetworkDataCounter)
Класс NetworkDataCounter позволяет выполнять мониторинг передаваемых по сети данных. Подробнее…
Заголовочный файл: | #include <mdm-networkdatacounter.h> |
Публичные типы
- class Update
- enum NetworkType { MobileDataHome, MobileDataRoaming, Wlan }
Свойства
- active : bool
- updateAccuracy : int
- updateInterval : int
Публичные методы
- NetworkDataCounter(QObject *parent = 0)
- ~NetworkDataCounter()
- bool active() const
- void resetCounter(const QString &servicePath)
- void setActive(bool active)
- void setUpdateAccuracy(int updateAccuracy)
- void setUpdateInterval(int updateInterval)
- int updateAccuracy() const
- int updateInterval() const
Сигналы
- void activeChanged()
- void counterUpdate(const Sailfish::Mdm::NetworkDataCounter::Update &update)
- void updateAccuracyChanged()
- void updateIntervalChanged()
Подробное описание
Класс 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.