22 #include "collection.h"
26 using namespace Akonadi;
49 QSharedDataPointer<EntityPrivate> temp = other;
56 assignEntityPrivate( d_ptr, other.d_ptr );
80 d_ptr->mRemoteId =
id;
85 return d_ptr->mRemoteId;
90 d_ptr->mRemoteRevision = revision;
95 return d_ptr->mRemoteRevision;
100 return ( d_ptr->mId >= 0 );
105 return ( d_ptr->mId == other.d_ptr->mId );
110 return d_ptr->mId != other.d_ptr->mId;
115 if (
this != &other ) {
116 assignEntityPrivate( d_ptr, other.d_ptr );
124 return d_ptr->mId < other.d_ptr->mId;
129 if ( d_ptr->mAttributes.contains( attr->
type() ) ) {
130 Attribute *existing = d_ptr->mAttributes.value( attr->
type() );
131 if ( attr == existing ) {
134 d_ptr->mAttributes.remove( attr->
type() );
137 d_ptr->mAttributes.insert( attr->
type(), attr );
138 d_ptr->mDeletedAttributes.remove( attr->
type() );
143 d_ptr->mDeletedAttributes.insert( type );
144 delete d_ptr->mAttributes.take( type );
149 return d_ptr->mAttributes.contains( type );
154 return d_ptr->mAttributes.values();
159 foreach (
Attribute *attr, d_ptr->mAttributes ) {
160 d_ptr->mDeletedAttributes.insert( attr->
type() );
163 d_ptr->mAttributes.clear();
168 if ( d_ptr->mAttributes.contains( type ) ) {
169 return d_ptr->mAttributes.value( type );
176 return qHash( entity.
id() );
181 if ( !d_ptr->mParent ) {
184 return *( d_ptr->mParent );
189 if ( !d_ptr->mParent ) {
190 return *( s_defaultParentCollection );
192 return *( d_ptr->mParent );
198 delete d_ptr->mParent;
202 AKONADI_DEFINE_PRIVATE(
Entity )