summaryrefslogtreecommitdiffstats
path: root/common/pipeline.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/pipeline.h')
-rw-r--r--common/pipeline.h17
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
91protected:
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
91private: 99private:
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