diff options
Diffstat (limited to 'common/pipeline.h')
-rw-r--r-- | common/pipeline.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/common/pipeline.h b/common/pipeline.h index 2ca87a4..c3abcf6 100644 --- a/common/pipeline.h +++ b/common/pipeline.h | |||
@@ -82,15 +82,26 @@ public: | |||
82 | virtual ~Preprocessor(); | 82 | virtual ~Preprocessor(); |
83 | 83 | ||
84 | virtual void startBatch(); | 84 | virtual void startBatch(); |
85 | virtual void newEntity(const QByteArray &key, qint64 revision, Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) = 0; | 85 | virtual void newEntity(const QByteArray &key, qint64 revision, Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) {}; |
86 | virtual void modifiedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, | 86 | virtual void modifiedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, |
87 | Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) = 0; | 87 | Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) {}; |
88 | virtual void deletedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, Sink::Storage::Transaction &transaction) = 0; | 88 | virtual void deletedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, Sink::Storage::Transaction &transaction) {}; |
89 | virtual void finalize(); | 89 | virtual void finalize(); |
90 | 90 | ||
91 | protected: | ||
92 | template <typename DomainType> | ||
93 | void createEntity(const DomainType &entity) | ||
94 | { | ||
95 | createEntity(entity, Sink::ApplicationDomain::getTypeName<DomainType>()); | ||
96 | } | ||
97 | void createEntity(const Sink::ApplicationDomain::ApplicationDomainType &entity, const QByteArray &type); | ||
98 | |||
91 | private: | 99 | private: |
100 | friend class Pipeline; | ||
92 | class Private; | 101 | class Private; |
93 | Private *const d; | 102 | Private *const d; |
103 | Pipeline *pipeline; | ||
104 | QByteArray resourceType; | ||
94 | }; | 105 | }; |
95 | 106 | ||
96 | } // namespace Sink | 107 | } // namespace Sink |