diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-04-12 11:46:48 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-04-12 11:46:48 +0200 |
commit | a547334afca38baae64e0f5774b1eb7f082a08e3 (patch) | |
tree | 667ad75cb4aa1652c79f6ceab8422d0d9848113e /common/pipeline.h | |
parent | dc33cea58f4b920f60648e81379c58bd62861b9b (diff) | |
download | sink-a547334afca38baae64e0f5774b1eb7f082a08e3.tar.gz sink-a547334afca38baae64e0f5774b1eb7f082a08e3.zip |
Allow the preprocessor to move and use in mailtransport
Diffstat (limited to 'common/pipeline.h')
-rw-r--r-- | common/pipeline.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/common/pipeline.h b/common/pipeline.h index c6dc5fe..11d52fd 100644 --- a/common/pipeline.h +++ b/common/pipeline.h | |||
@@ -77,10 +77,28 @@ public: | |||
77 | Preprocessor(); | 77 | Preprocessor(); |
78 | virtual ~Preprocessor(); | 78 | virtual ~Preprocessor(); |
79 | 79 | ||
80 | enum Action { | ||
81 | NoAction, | ||
82 | MoveToResource, | ||
83 | CopyToResource, | ||
84 | DropModification, | ||
85 | DeleteEntity | ||
86 | }; | ||
87 | |||
88 | enum Type { | ||
89 | Creation, | ||
90 | Modification, | ||
91 | Deletion | ||
92 | }; | ||
93 | struct Result { | ||
94 | Action action; | ||
95 | }; | ||
96 | |||
80 | virtual void startBatch(); | 97 | virtual void startBatch(); |
81 | virtual void newEntity(ApplicationDomain::ApplicationDomainType &newEntity) {}; | 98 | virtual void newEntity(ApplicationDomain::ApplicationDomainType &newEntity); |
82 | virtual void modifiedEntity(const ApplicationDomain::ApplicationDomainType &oldEntity, ApplicationDomain::ApplicationDomainType &newEntity) {}; | 99 | virtual void modifiedEntity(const ApplicationDomain::ApplicationDomainType &oldEntity, ApplicationDomain::ApplicationDomainType &newEntity); |
83 | virtual void deletedEntity(const ApplicationDomain::ApplicationDomainType &oldEntity) {}; | 100 | virtual void deletedEntity(const ApplicationDomain::ApplicationDomainType &oldEntity); |
101 | virtual Result processModification(Type type, const ApplicationDomain::ApplicationDomainType ¤t, ApplicationDomain::ApplicationDomainType &diff); | ||
84 | virtual void finalizeBatch(); | 102 | virtual void finalizeBatch(); |
85 | 103 | ||
86 | void setup(const QByteArray &resourceType, const QByteArray &resourceInstanceIdentifier, Pipeline *, Storage::EntityStore *entityStore); | 104 | void setup(const QByteArray &resourceType, const QByteArray &resourceInstanceIdentifier, Pipeline *, Storage::EntityStore *entityStore); |