summaryrefslogtreecommitdiffstats
path: root/common/clientapi.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-07 01:01:42 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-07 01:01:42 +0100
commita638278ede2d7af9a073da6ca11ba2efee2a934b (patch)
tree1c57b81ffe009607cf6bcdbd873bb4137fa2448f /common/clientapi.h
parentc73371e12fd127cbc39496b9ffadbcf9b702b600 (diff)
downloadsink-a638278ede2d7af9a073da6ca11ba2efee2a934b.tar.gz
sink-a638278ede2d7af9a073da6ca11ba2efee2a934b.zip
Made the domain adaptor actually work. We can read stuff now.
Diffstat (limited to 'common/clientapi.h')
-rw-r--r--common/clientapi.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/common/clientapi.h b/common/clientapi.h
index ba0cb19..d2b1c9c 100644
--- a/common/clientapi.h
+++ b/common/clientapi.h
@@ -178,8 +178,27 @@ namespace Domain {
178 */ 178 */
179class BufferAdaptor { 179class BufferAdaptor {
180public: 180public:
181 virtual QVariant getProperty(const QString &key) { return QVariant(); } 181 virtual QVariant getProperty(const QString &key) const { return QVariant(); }
182 virtual void setProperty(const QString &key, const QVariant &value) {} 182 virtual void setProperty(const QString &key, const QVariant &value) {}
183 virtual QStringList availableProperties() const { return QStringList(); }
184};
185
186class MemoryBufferAdaptor : public BufferAdaptor {
187public:
188 MemoryBufferAdaptor(const BufferAdaptor &buffer)
189 : BufferAdaptor()
190 {
191 for(const auto &property : buffer.availableProperties()) {
192 mValues.insert(property, buffer.getProperty(property));
193 }
194 }
195
196 virtual QVariant getProperty(const QString &key) const { return mValues.value(key); }
197 virtual void setProperty(const QString &key, const QVariant &value) { mValues.insert(key, value); }
198 virtual QStringList availableProperties() const { return mValues.keys(); }
199
200private:
201 QHash<QString, QVariant> mValues;
183}; 202};
184 203
185/** 204/**