summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/domain/applicationdomaintype.h12
-rw-r--r--common/modelresult.cpp10
-rw-r--r--common/resourcecontrol.cpp5
-rw-r--r--common/store.cpp7
-rw-r--r--common/synchronizer.cpp5
-rw-r--r--common/test.cpp8
6 files changed, 19 insertions, 28 deletions
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h
index 1c0f208..be14513 100644
--- a/common/domain/applicationdomaintype.h
+++ b/common/domain/applicationdomaintype.h
@@ -482,6 +482,18 @@ class SINK_EXPORT TypeImplementation;
482#undef SINK_REFERENCE_PROPERTY 482#undef SINK_REFERENCE_PROPERTY
483#undef SINK_INDEX_PROPERTY 483#undef SINK_INDEX_PROPERTY
484 484
485/**
486 * This macro can be used to instantiate templates for all domain types.
487 */
488#define SINK_REGISTER_TYPES() \
489 REGISTER_TYPE(Sink::ApplicationDomain::Event); \
490 REGISTER_TYPE(Sink::ApplicationDomain::Mail); \
491 REGISTER_TYPE(Sink::ApplicationDomain::Folder); \
492 REGISTER_TYPE(Sink::ApplicationDomain::SinkResource); \
493 REGISTER_TYPE(Sink::ApplicationDomain::SinkAccount); \
494 REGISTER_TYPE(Sink::ApplicationDomain::Identity); \
495
496
485Q_DECLARE_METATYPE(Sink::ApplicationDomain::ApplicationDomainType) 497Q_DECLARE_METATYPE(Sink::ApplicationDomain::ApplicationDomainType)
486Q_DECLARE_METATYPE(Sink::ApplicationDomain::ApplicationDomainType::Ptr) 498Q_DECLARE_METATYPE(Sink::ApplicationDomain::ApplicationDomainType::Ptr)
487Q_DECLARE_METATYPE(Sink::ApplicationDomain::Entity) 499Q_DECLARE_METATYPE(Sink::ApplicationDomain::Entity)
diff --git a/common/modelresult.cpp b/common/modelresult.cpp
index 16e3857..ed77ebb 100644
--- a/common/modelresult.cpp
+++ b/common/modelresult.cpp
@@ -311,9 +311,7 @@ void ModelResult<T, Ptr>::modify(const Ptr &value)
311 emit dataChanged(idx, idx); 311 emit dataChanged(idx, idx);
312} 312}
313 313
314template class ModelResult<Sink::ApplicationDomain::Folder, Sink::ApplicationDomain::Folder::Ptr>; 314#define REGISTER_TYPE(T) \
315template class ModelResult<Sink::ApplicationDomain::Mail, Sink::ApplicationDomain::Mail::Ptr>; 315 template class ModelResult<T, T::Ptr>; \
316template class ModelResult<Sink::ApplicationDomain::Event, Sink::ApplicationDomain::Event::Ptr>; 316
317template class ModelResult<Sink::ApplicationDomain::SinkResource, Sink::ApplicationDomain::SinkResource::Ptr>; 317SINK_REGISTER_TYPES()
318template class ModelResult<Sink::ApplicationDomain::SinkAccount, Sink::ApplicationDomain::SinkAccount::Ptr>;
319template class ModelResult<Sink::ApplicationDomain::Identity, Sink::ApplicationDomain::Identity::Ptr>;
diff --git a/common/resourcecontrol.cpp b/common/resourcecontrol.cpp
index f885deb..c1fbf06 100644
--- a/common/resourcecontrol.cpp
+++ b/common/resourcecontrol.cpp
@@ -158,9 +158,6 @@ KAsync::Job<void> ResourceControl::inspect(const Inspection &inspectionCommand)
158 158
159#define REGISTER_TYPE(T) template KAsync::Job<void> ResourceControl::inspect<T>(const Inspection &); 159#define REGISTER_TYPE(T) template KAsync::Job<void> ResourceControl::inspect<T>(const Inspection &);
160 160
161REGISTER_TYPE(ApplicationDomain::Event); 161SINK_REGISTER_TYPES()
162REGISTER_TYPE(ApplicationDomain::Mail);
163REGISTER_TYPE(ApplicationDomain::Folder);
164REGISTER_TYPE(ApplicationDomain::SinkResource);
165 162
166} // namespace Sink 163} // namespace Sink
diff --git a/common/store.cpp b/common/store.cpp
index 971cc7f..dd00bfe 100644
--- a/common/store.cpp
+++ b/common/store.cpp
@@ -414,11 +414,6 @@ QList<DomainType> Store::read(const Sink::Query &q)
414 template T Store::readOne<T>(const Query &); \ 414 template T Store::readOne<T>(const Query &); \
415 template QList<T> Store::read<T>(const Query &); 415 template QList<T> Store::read<T>(const Query &);
416 416
417REGISTER_TYPE(ApplicationDomain::Event); 417SINK_REGISTER_TYPES()
418REGISTER_TYPE(ApplicationDomain::Mail);
419REGISTER_TYPE(ApplicationDomain::Folder);
420REGISTER_TYPE(ApplicationDomain::SinkResource);
421REGISTER_TYPE(ApplicationDomain::SinkAccount);
422REGISTER_TYPE(ApplicationDomain::Identity);
423 418
424} // namespace Sink 419} // namespace Sink
diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp
index fec848f..d94eb43 100644
--- a/common/synchronizer.cpp
+++ b/common/synchronizer.cpp
@@ -484,10 +484,5 @@ bool Synchronizer::allChangesReplayed()
484 template void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray &remoteId, const T &entity, const QHash<QByteArray, Sink::Query::Comparator> &mergeCriteria); \ 484 template void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray &remoteId, const T &entity, const QHash<QByteArray, Sink::Query::Comparator> &mergeCriteria); \
485 template void Synchronizer::modify(const T &entity, const QByteArray &newResource, bool remove); 485 template void Synchronizer::modify(const T &entity, const QByteArray &newResource, bool remove);
486 486
487#define SINK_REGISTER_TYPES() \
488 REGISTER_TYPE(ApplicationDomain::Event); \
489 REGISTER_TYPE(ApplicationDomain::Mail); \
490 REGISTER_TYPE(ApplicationDomain::Folder); \
491
492SINK_REGISTER_TYPES() 487SINK_REGISTER_TYPES()
493 488
diff --git a/common/test.cpp b/common/test.cpp
index 0c7ba10..dc63afc 100644
--- a/common/test.cpp
+++ b/common/test.cpp
@@ -215,10 +215,4 @@ QList<Sink::ApplicationDomain::ApplicationDomainType::Ptr> Sink::Test::TestAccou
215 template void Sink::Test::TestAccount::addEntity<T>(const ApplicationDomain::ApplicationDomainType::Ptr &); \ 215 template void Sink::Test::TestAccount::addEntity<T>(const ApplicationDomain::ApplicationDomainType::Ptr &); \
216 template typename T::Ptr Sink::Test::TestAccount::createEntity<T>(); 216 template typename T::Ptr Sink::Test::TestAccount::createEntity<T>();
217 217
218 218SINK_REGISTER_TYPES()
219REGISTER_TYPE(ApplicationDomain::Event);
220REGISTER_TYPE(ApplicationDomain::Mail);
221REGISTER_TYPE(ApplicationDomain::Folder);
222REGISTER_TYPE(ApplicationDomain::SinkResource);
223REGISTER_TYPE(ApplicationDomain::SinkAccount);
224REGISTER_TYPE(ApplicationDomain::Identity);