* Reduce if-cascades * Add extra method for handling fatal errors * Read directory summary in extra method * Allow requesting summary for directory explicitely
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
#ifndef DATA_UTILS_H
|
|
#define DATA_UTILS_H
|
|
|
|
#include "./global.h"
|
|
|
|
#include <QJsonValue>
|
|
#include <QStringList>
|
|
|
|
QT_FORWARD_DECLARE_CLASS(QUrl)
|
|
QT_FORWARD_DECLARE_CLASS(QJsonObject)
|
|
|
|
namespace ChronoUtilities {
|
|
class DateTime;
|
|
}
|
|
|
|
namespace Data {
|
|
|
|
QString LIB_SYNCTHING_CONNECTOR_EXPORT agoString(ChronoUtilities::DateTime dateTime);
|
|
bool LIB_SYNCTHING_CONNECTOR_EXPORT isLocal(const QUrl &url);
|
|
bool LIB_SYNCTHING_CONNECTOR_EXPORT setDirectoriesPaused(QJsonObject &syncthingConfig, const QStringList &dirIds, bool paused);
|
|
bool LIB_SYNCTHING_CONNECTOR_EXPORT setDevicesPaused(QJsonObject &syncthingConfig, const QStringList &dirs, bool paused);
|
|
|
|
inline quint64 LIB_SYNCTHING_CONNECTOR_EXPORT toUInt64(const QJsonValue &value, double defaultValue = 0.0)
|
|
{
|
|
return static_cast<quint64>(value.toDouble(defaultValue));
|
|
}
|
|
|
|
template <class Objects> QStringList LIB_SYNCTHING_CONNECTOR_EXPORT ids(const Objects &objects)
|
|
{
|
|
QStringList ids;
|
|
ids.reserve(objects.size());
|
|
for (const auto &object : objects) {
|
|
ids << object.id;
|
|
}
|
|
return ids;
|
|
}
|
|
}
|
|
|
|
#endif // DATA_UTILS_H
|