summaryrefslogtreecommitdiffstats
path: root/common/pipeline.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/pipeline.h')
-rw-r--r--common/pipeline.h24
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 &current, 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);