[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepimlibs] akonadi/src/core: Move Akonadi::Payload to Akonadi::Internal namespace
From: Dan_Vrátil <dvratil () redhat ! com>
Date: 2015-09-22 20:18:52
Message-ID: E1ZeU1c-00052q-Qr () scm ! kde ! org
[Download RAW message or body]
Git commit d32ab99558c2431fb6b060841732844384e85121 by Dan Vrátil.
Committed on 22/09/2015 at 20:17.
Pushed by dvratil into branch 'master'.
Move Akonadi::Payload to Akonadi::Internal namespace
M +18 -15 akonadi/src/core/item.cpp
M +16 -13 akonadi/src/core/item.h
M +5 -5 akonadi/src/core/item_p.h
M +5 -8 akonadi/src/core/itempayloadinternals_p.h
http://commits.kde.org/kdepimlibs/d32ab99558c2431fb6b060841732844384e85121
diff --git a/akonadi/src/core/item.cpp b/akonadi/src/core/item.cpp
index 2d8b6d5..f6b39b5 100644
--- a/akonadi/src/core/item.cpp
+++ b/akonadi/src/core/item.cpp
@@ -47,7 +47,8 @@ namespace
struct ByTypeId {
typedef bool result_type;
- bool operator()(const std::shared_ptr<PayloadBase> &lhs, const \
std::shared_ptr<PayloadBase> &rhs) const + bool operator()(const \
std::shared_ptr<Internal::PayloadBase> &lhs, + const \
std::shared_ptr<Internal::PayloadBase> &rhs) const {
return strcmp(lhs->typeName(), rhs->typeName()) < 0 ;
}
@@ -55,16 +56,17 @@ struct ByTypeId {
} // anon namespace
-typedef QHash< QString, std::map< std::shared_ptr<PayloadBase>, std::pair<int, int>, \
ByTypeId > > LegacyMap; +typedef QHash<QString, \
std::map<std::shared_ptr<Internal::PayloadBase>, std::pair<int, int>, ByTypeId>> \
LegacyMap; Q_GLOBAL_STATIC(LegacyMap, typeInfoToMetaTypeIdMap)
Q_GLOBAL_STATIC_WITH_ARGS(QReadWriteLock, legacyMapLock, \
(QReadWriteLock::Recursive))
-void Item::addToLegacyMappingImpl(const QString &mimeType, int spid, int mtid, \
std::unique_ptr<PayloadBase> &p) +void Item::addToLegacyMappingImpl(const QString \
&mimeType, int spid, int mtid, + \
std::unique_ptr<Internal::PayloadBase> &p) {
if (!p.get()) {
return;
}
- const std::shared_ptr<PayloadBase> sp(p.release());
+ const std::shared_ptr<Internal::PayloadBase> sp(p.release());
const QWriteLocker locker(legacyMapLock());
std::pair<int, int> &item = (*typeInfoToMetaTypeIdMap())[mimeType][sp];
item.first = spid;
@@ -116,14 +118,15 @@ private:
};
}
-static std::shared_ptr<const std::pair<int, int> > lookupLegacyMapping(const QString \
&mimeType, PayloadBase *p) +static std::shared_ptr<const std::pair<int, int> > \
lookupLegacyMapping(const QString &mimeType, + \
Internal::PayloadBase *p) {
MyReadLocker locker(legacyMapLock());
const LegacyMap::const_iterator hit = \
typeInfoToMetaTypeIdMap()->constFind(mimeType); if (hit == \
typeInfoToMetaTypeIdMap()->constEnd()) { return std::shared_ptr<const std::pair<int, \
int> >(); }
- const std::shared_ptr<PayloadBase> sp(p, [ = ](PayloadBase *) {
+ const std::shared_ptr<Internal::PayloadBase> sp(p, [=](Internal::PayloadBase *) \
{ /*noop*/
});
const LegacyMap::mapped_type::const_iterator it = hit->find(sp);
@@ -535,9 +538,9 @@ class Dummy
};
}
-Q_GLOBAL_STATIC(Payload<Dummy>, dummyPayload)
+Q_GLOBAL_STATIC(Internal::Payload<Dummy>, dummyPayload)
-PayloadBase *Item::payloadBase() const
+Internal::PayloadBase *Item::payloadBase() const
{
Q_D(const Item);
d->tryEnsureLegacyPayload();
@@ -559,7 +562,7 @@ void ItemPrivate::tryEnsureLegacyPayload() const
}
}
-PayloadBase *Item::payloadBaseV2(int spid, int mtid) const
+Internal::PayloadBase *Item::payloadBaseV2(int spid, int mtid) const
{
return d_func()->payloadBaseImpl(spid, mtid);
}
@@ -657,15 +660,15 @@ void Item::throwPayloadException(int spid, int mtid) const
}
#endif
-void Item::setPayloadBase(PayloadBase *p)
+void Item::setPayloadBase(Internal::PayloadBase *p)
{
- d_func()->setLegacyPayloadBaseImpl(std::unique_ptr<PayloadBase>(p));
+ d_func()->setLegacyPayloadBaseImpl(std::unique_ptr<Internal::PayloadBase>(p));
}
-void ItemPrivate::setLegacyPayloadBaseImpl(std::unique_ptr<PayloadBase> p)
+void ItemPrivate::setLegacyPayloadBaseImpl(std::unique_ptr<Internal::PayloadBase> p)
{
if (const std::shared_ptr<const std::pair<int, int> > pair = \
lookupLegacyMapping(mMimeType, p.get())) {
- std::unique_ptr<PayloadBase> clone;
+ std::unique_ptr<Internal::PayloadBase> clone;
if (p.get()) {
clone.reset(p->clone());
}
@@ -677,12 +680,12 @@ void \
ItemPrivate::setLegacyPayloadBaseImpl(std::unique_ptr<PayloadBase> p) }
}
-void Item::setPayloadBaseV2(int spid, int mtid, std::unique_ptr<PayloadBase> &p)
+void Item::setPayloadBaseV2(int spid, int mtid, \
std::unique_ptr<Internal::PayloadBase> &p) {
d_func()->setPayloadBaseImpl(spid, mtid, p, false);
}
-void Item::addPayloadBaseVariant(int spid, int mtid, std::unique_ptr<PayloadBase> \
&p) const +void Item::addPayloadBaseVariant(int spid, int mtid, \
std::unique_ptr<Internal::PayloadBase> &p) const {
d_func()->setPayloadBaseImpl(spid, mtid, p, true);
}
diff --git a/akonadi/src/core/item.h b/akonadi/src/core/item.h
index a761fb7..d0e1c05 100644
--- a/akonadi/src/core/item.h
+++ b/akonadi/src/core/item.h
@@ -669,13 +669,16 @@ private:
friend class ItemModifyJobPrivate;
friend class ItemSync;
friend class ProtocolHelper;
- PayloadBase *payloadBase() const;
- void setPayloadBase(PayloadBase *p);
- PayloadBase *payloadBaseV2(int sharedPointerId, int metaTypeId) const;
+ Internal::PayloadBase *payloadBase() const;
+ void setPayloadBase(Internal::PayloadBase *p);
+ Internal::PayloadBase *payloadBaseV2(int sharedPointerId, int metaTypeId) const;
//std::auto_ptr<PayloadBase> takePayloadBase( int sharedPointerId, int \
metaTypeId );
- void setPayloadBaseV2(int sharedPointerId, int metaTypeId, \
std::unique_ptr<PayloadBase> &p);
- void addPayloadBaseVariant(int sharedPointerId, int metaTypeId, \
std::unique_ptr<PayloadBase> &p) const;
- static void addToLegacyMappingImpl(const QString &mimeType, int sharedPointerId, \
int metaTypeId, std::unique_ptr<PayloadBase> &p); + void setPayloadBaseV2(int \
sharedPointerId, int metaTypeId, + \
std::unique_ptr<Internal::PayloadBase> &p); + void addPayloadBaseVariant(int \
sharedPointerId, int metaTypeId, + \
std::unique_ptr<Internal::PayloadBase> &p) const; + static void \
addToLegacyMappingImpl(const QString &mimeType, int sharedPointerId, int metaTypeId, \
+ std::unique_ptr<Internal::PayloadBase> &p);
/**
* Try to ensure that we have a variant of the payload for metatype id @a mtid.
@@ -850,7 +853,7 @@ Item::payloadImpl() const
// Check whether we have the exact payload
// (metatype id and shared pointer type match)
- if (const Payload<T> *const p = \
Internal::payload_cast<T>(payloadBaseV2(PayloadType::sharedPointerId, metaTypeId))) { \
+ if (const Internal::Payload<T> *const p = \
Internal::payload_cast<T>(payloadBaseV2(PayloadType::sharedPointerId, metaTypeId))) { \
return p->payload; }
@@ -869,13 +872,13 @@ Item::tryToCloneImpl(T *ret, const int *) const
typedef Internal::PayloadTrait<NewT> NewPayloadType;
const int metaTypeId = PayloadType::elementMetaTypeId();
- Akonadi::PayloadBase *payloadBase = \
payloadBaseV2(NewPayloadType::sharedPointerId, metaTypeId);
- if (const Payload<NewT> *const p = Internal::payload_cast<NewT>(payloadBase)) {
+ Internal::PayloadBase *payloadBase = \
payloadBaseV2(NewPayloadType::sharedPointerId, metaTypeId); + if (const \
Internal::Payload<NewT> *const p = \
Internal::payload_cast<NewT>(payloadBase)) {
// If found, attempt to make a clone (required the payload to provide \
virtual T * T::clone() const) const T nt = PayloadType::clone(p->payload);
if (!PayloadType::isNull(nt)) {
// if clone succeeded, add the clone to the Item:
- std::unique_ptr<PayloadBase> npb(new Payload<T>(nt));
+ std::unique_ptr<Internal::PayloadBase> npb(new \
Internal::Payload<T>(nt));
addPayloadBaseVariant(PayloadType::sharedPointerId, metaTypeId, npb);
// and return it
if (ret) {
@@ -964,7 +967,7 @@ Item::hasPayloadImpl() const
// Check whether we have the exact payload
// (metatype id and shared pointer type match)
- if (const Payload<T> *const p = \
Internal::payload_cast<T>(payloadBaseV2(PayloadType::sharedPointerId, metaTypeId))) { \
+ if (const Internal::Payload<T> *const p = \
Internal::payload_cast<T>(payloadBaseV2(PayloadType::sharedPointerId, metaTypeId))) { \
return true; }
@@ -999,7 +1002,7 @@ typename std::enable_if < \
!Internal::PayloadTrait<T>::isPolymorphic >::type Item::setPayloadImpl(const T &p)
{
typedef Internal::PayloadTrait<T> PayloadType;
- std::unique_ptr<PayloadBase> pb(new Payload<T>(p));
+ std::unique_ptr<Internal::PayloadBase> pb(new Internal::Payload<T>(p));
setPayloadBaseV2(PayloadType::sharedPointerId,
PayloadType::elementMetaTypeId(),
pb);
@@ -1044,7 +1047,7 @@ void Item::addToLegacyMapping(const QString &mimeType)
{
typedef Internal::PayloadTrait<T> PayloadType;
static_assert(!PayloadType::isPolymorphic, "Payload type must not be \
polymorphic");
- std::unique_ptr<PayloadBase> p(new Payload<T>);
+ std::unique_ptr<Internal::PayloadBase> p(new Internal::Payload<T>);
addToLegacyMappingImpl(mimeType, PayloadType::sharedPointerId, \
PayloadType::elementMetaTypeId(), p); }
diff --git a/akonadi/src/core/item_p.h b/akonadi/src/core/item_p.h
index 917a557..9ac55cf 100644
--- a/akonadi/src/core/item_p.h
+++ b/akonadi/src/core/item_p.h
@@ -223,7 +223,7 @@ public:
};
struct TypedPayload {
- clone_ptr<PayloadBase> payload;
+ clone_ptr<Internal::PayloadBase> payload;
int sharedPointerId;
int metaTypeId;
};
@@ -360,7 +360,7 @@ public:
!= mPayloads.end();
}
- PayloadBase *payloadBaseImpl(int spid, int mtid) const
+ Internal::PayloadBase *payloadBaseImpl(int spid, int mtid) const
{
const PayloadContainer::const_iterator it
= std::find_if(mPayloads.begin(), mPayloads.end(),
@@ -404,7 +404,7 @@ public:
}
#endif
- void setPayloadBaseImpl(int spid, int mtid, std::unique_ptr<PayloadBase> &p, \
bool add) const /*sic!*/ + void setPayloadBaseImpl(int spid, int mtid, \
std::unique_ptr<Internal::PayloadBase> &p, bool add) const /*sic!*/ {
if (!add) {
@@ -427,7 +427,7 @@ public:
tp.metaTypeId = mtid;
}
- void setLegacyPayloadBaseImpl(std::unique_ptr<PayloadBase> p);
+ void setLegacyPayloadBaseImpl(std::unique_ptr<Internal::PayloadBase> p);
void tryEnsureLegacyPayload() const;
// Utilise the 4-bytes padding from QSharedData
@@ -438,7 +438,7 @@ public:
QHash<QByteArray, Attribute *> mAttributes;
QSet<QByteArray> mDeletedAttributes;
mutable Collection *mParent;
- mutable _detail::clone_ptr<PayloadBase> mLegacyPayload;
+ mutable _detail::clone_ptr<Internal::PayloadBase> mLegacyPayload;
mutable PayloadContainer mPayloads;
Item::Flags mFlags;
Tag::List mTags;
diff --git a/akonadi/src/core/itempayloadinternals_p.h \
b/akonadi/src/core/itempayloadinternals_p.h index 5793fac..f9ae68f 100644
--- a/akonadi/src/core/itempayloadinternals_p.h
+++ b/akonadi/src/core/itempayloadinternals_p.h
@@ -402,12 +402,10 @@ template <typename T> struct PayloadTrait<std::shared_ptr<T> > \
{ static const unsigned int sharedPointerId = 3;
};
-}
/**
* @internal
* Non-template base class for the payload container.
- * @note Move to Internal namespace for KDE5
*/
struct PayloadBase {
virtual ~PayloadBase()
@@ -450,11 +448,9 @@ struct Payload : public PayloadBase {
* abstract, will therefore always fail to compile for pointer payloads
*/
template <typename T>
-struct Payload<T *> : public PayloadBase {
-};
-
-namespace Internal
+struct Payload<T *> : public PayloadBase
{
+};
/**
@internal
@@ -470,9 +466,10 @@ template <typename T> inline Payload<T> \
*payload_cast(PayloadBase *payloadBase) return p;
}
-}
+} // namespace Internal
+
+} // namespace Akonadi
-}
//@endcond
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic