From 2d8f8861eeb1c7b5888a65ab07d51b0419feeb3e Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 5 Jun 2016 21:32:21 +0200 Subject: A central place to generate uuid's --- common/domain/applicationdomaintype.h | 5 +++-- common/pipeline.cpp | 2 +- common/remoteidmap.cpp | 2 +- common/storage.h | 2 ++ common/storage_common.cpp | 6 ++++++ 5 files changed, 13 insertions(+), 4 deletions(-) (limited to 'common') diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index c022cb4..a41882d 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h @@ -27,6 +27,7 @@ #include #include #include "bufferadaptor.h" +#include "storage.h" //for generateUid() #define SINK_ENTITY(TYPE) \ typedef QSharedPointer Ptr; \ @@ -105,7 +106,7 @@ public: static DomainType createEntity() { DomainType object; - object.mIdentifier = QUuid::createUuid().toByteArray(); + object.mIdentifier = Sink::Storage::generateUid(); return object; } @@ -113,7 +114,7 @@ public: static DomainType createEntity(const QByteArray &resourceInstanceIdentifier) { DomainType object(resourceInstanceIdentifier); - object.mIdentifier = QUuid::createUuid().toByteArray(); + object.mIdentifier = Sink::Storage::generateUid(); return object; } diff --git a/common/pipeline.cpp b/common/pipeline.cpp index 100f158..049d228 100644 --- a/common/pipeline.cpp +++ b/common/pipeline.cpp @@ -178,7 +178,7 @@ KAsync::Job Pipeline::newEntity(void const *command, size_t size) } if (key.isEmpty()) { - key = QUuid::createUuid().toString().toUtf8(); + key = Sink::Storage::generateUid(); } Q_ASSERT(!key.isEmpty()); const qint64 newRevision = Storage::maxRevision(d->transaction) + 1; diff --git a/common/remoteidmap.cpp b/common/remoteidmap.cpp index f72369d..bbcd641 100644 --- a/common/remoteidmap.cpp +++ b/common/remoteidmap.cpp @@ -56,7 +56,7 @@ QByteArray RemoteIdMap::resolveRemoteId(const QByteArray &bufferType, const QByt Index index("rid.mapping." + bufferType, mTransaction); QByteArray sinkId = index.lookup(remoteId); if (sinkId.isEmpty()) { - sinkId = QUuid::createUuid().toString().toUtf8(); + sinkId = Sink::Storage::generateUid(); index.add(remoteId, sinkId); Index("localid.mapping." + bufferType, mTransaction).add(sinkId, remoteId); } diff --git a/common/storage.h b/common/storage.h index a04969b..e7b4a3e 100644 --- a/common/storage.h +++ b/common/storage.h @@ -220,6 +220,8 @@ public: static NamedDatabase mainDatabase(const Sink::Storage::Transaction &, const QByteArray &type); + static QByteArray generateUid(); + private: std::function mErrorHandler; diff --git a/common/storage_common.cpp b/common/storage_common.cpp index 8227a98..9648ea6 100644 --- a/common/storage_common.cpp +++ b/common/storage_common.cpp @@ -22,6 +22,7 @@ #include "storage.h" #include "log.h" +#include namespace Sink { @@ -168,6 +169,11 @@ qint64 Storage::revisionFromKey(const QByteArray &key) return key.mid(39).toLongLong(); } +QByteArray Storage::generateUid() +{ + return QUuid::createUuid().toByteArray(); +} + Storage::NamedDatabase Storage::mainDatabase(const Sink::Storage::Transaction &t, const QByteArray &type) { return t.openDatabase(type + ".main"); -- cgit v1.2.3