| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #include "dumpservice.h"
- #include <QFile>
- #include <QJsonDocument>
- #include <QJsonArray>
- #include <QJsonObject>
- #include <QStandardPaths>
- void DumpService::setEntityName(const QString &name)
- {
- m_entityName = name;
- }
- void DumpService::dump(const QVariant &data) const
- {
- QFile stash(dumpFileName());
- if (stash.open(QIODevice::WriteOnly)) {
- stash.write(QJsonDocument::fromVariant(data).toJson(QJsonDocument::Compact));
- stash.close();
- } else {
- qWarning() << stash.errorString();
- }
- }
- QVariantList DumpService::loadList() const
- {
- QJsonDocument dump = readFile();
- return dump.array().toVariantList();
- }
- QVariantMap DumpService::loadMap() const
- {
- QJsonDocument dump = readFile();
- return dump.object().toVariantMap();
- }
- void DumpService::clear() const
- {
- QFile::remove(dumpFileName());
- }
- QString DumpService::dumpFileName() const
- {
- Q_ASSERT(!m_entityName.isEmpty());
- return QString("%1/%2.dump").arg(QStandardPaths::writableLocation(QStandardPaths::CacheLocation), m_entityName);
- }
- QJsonDocument DumpService::readFile() const
- {
- QJsonDocument res;
- QFile dump(dumpFileName());
- if (dump.open(QIODevice::ReadOnly)) {
- res = QJsonDocument::fromJson(dump.readAll());
- dump.close();
- } else {
- qWarning() << dump.errorString();
- }
- return res;
- }
|