summaryrefslogtreecommitdiffstats
path: root/common/domain/applicationdomaintype.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-01 16:21:28 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-01 16:21:28 +0200
commitc1475df297975b403d991f69ef9436cd576c1e46 (patch)
tree40c4101ce7569c6bebb508ff9e9aa50716120d92 /common/domain/applicationdomaintype.cpp
parent9040c66f5fb617a057b9c362ac9a937fe9dd0739 (diff)
downloadsink-c1475df297975b403d991f69ef9436cd576c1e46.tar.gz
sink-c1475df297975b403d991f69ef9436cd576c1e46.zip
Setter and getter for blob properties
Diffstat (limited to 'common/domain/applicationdomaintype.cpp')
-rw-r--r--common/domain/applicationdomaintype.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/common/domain/applicationdomaintype.cpp b/common/domain/applicationdomaintype.cpp
index 73143e8..23a63a7 100644
--- a/common/domain/applicationdomaintype.cpp
+++ b/common/domain/applicationdomaintype.cpp
@@ -20,6 +20,8 @@
20#include "applicationdomaintype.h" 20#include "applicationdomaintype.h"
21#include "log.h" 21#include "log.h"
22#include "../bufferadaptor.h" 22#include "../bufferadaptor.h"
23#include "definitions.h"
24#include <QFile>
23 25
24namespace Sink { 26namespace Sink {
25namespace ApplicationDomain { 27namespace ApplicationDomain {
@@ -86,6 +88,29 @@ void ApplicationDomainType::setProperty(const QByteArray &key, const QVariant &v
86 mAdaptor->setProperty(key, value); 88 mAdaptor->setProperty(key, value);
87} 89}
88 90
91QByteArray ApplicationDomainType::getBlobProperty(const QByteArray &key) const
92{
93 const auto path = getProperty(key).toByteArray();
94 QFile file(path);
95 if (!file.open(QIODevice::ReadOnly)) {
96 ErrorMsg() << "Failed to open the file: " << file.errorString() << path;
97 return QByteArray();
98 }
99 return file.readAll();
100}
101
102void ApplicationDomainType::setBlobProperty(const QByteArray &key, const QByteArray &value)
103{
104 const auto path = Sink::temporaryFileLocation() + "/" + QUuid::createUuid().toString();
105 QFile file(path);
106 if (!file.open(QIODevice::WriteOnly)) {
107 ErrorMsg() << "Failed to open the file: " << file.errorString() << path;
108 return;
109 }
110 file.write(value);
111 setProperty(key, path);
112}
113
89void ApplicationDomainType::setChangedProperties(const QSet<QByteArray> &changeset) 114void ApplicationDomainType::setChangedProperties(const QSet<QByteArray> &changeset)
90{ 115{
91 mChangeSet = changeset; 116 mChangeSet = changeset;