diff options
Diffstat (limited to 'common/clientapi.h')
-rw-r--r-- | common/clientapi.h | 21 |
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 | */ |
179 | class BufferAdaptor { | 179 | class BufferAdaptor { |
180 | public: | 180 | public: |
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 | |||
186 | class MemoryBufferAdaptor : public BufferAdaptor { | ||
187 | public: | ||
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 | |||
200 | private: | ||
201 | QHash<QString, QVariant> mValues; | ||
183 | }; | 202 | }; |
184 | 203 | ||
185 | /** | 204 | /** |