22 #include "collection.h"
26 using namespace Akonadi;
49 QSharedDataPointer<EntityPrivate> temp = other;
55 assignEntityPrivate( d_ptr, other.d_ptr );
79 d_ptr->mRemoteId =
id;
84 return d_ptr->mRemoteId;
89 d_ptr->mRemoteRevision = revision;
94 return d_ptr->mRemoteRevision;
99 return ( d_ptr->mId >= 0 );
104 return ( d_ptr->mId == other.d_ptr->mId );
109 return d_ptr->mId != other.d_ptr->mId;
114 if (
this != &other ) {
115 assignEntityPrivate( d_ptr, other.d_ptr );
123 return d_ptr->mId < other.d_ptr->mId;
128 if ( d_ptr->mAttributes.contains( attr->
type() ) ) {
129 Attribute *existing = d_ptr->mAttributes.value( attr->
type() );
130 if ( attr == existing ) {
133 d_ptr->mAttributes.remove( attr->
type() );
136 d_ptr->mAttributes.insert( attr->
type(), attr );
137 d_ptr->mDeletedAttributes.remove( attr->
type() );
142 d_ptr->mDeletedAttributes.insert( type );
143 delete d_ptr->mAttributes.take( type );
148 return d_ptr->mAttributes.contains( type );
153 return d_ptr->mAttributes.values();
158 foreach (
Attribute *attr, d_ptr->mAttributes ) {
159 d_ptr->mDeletedAttributes.insert( attr->
type() );
162 d_ptr->mAttributes.clear();
167 if ( d_ptr->mAttributes.contains( type ) ) {
168 return d_ptr->mAttributes.value( type );
175 return qHash( entity.
id() );
180 if ( !d_ptr->mParent ) {
183 return *( d_ptr->mParent );
188 if ( !d_ptr->mParent ) {
189 return *( s_defaultParentCollection );
191 return *( d_ptr->mParent );
197 delete d_ptr->mParent;
201 AKONADI_DEFINE_PRIVATE(
Entity )