6 #include "GeoDataUpdate.h"
8 #include "GeoDataCreate.h"
9 #include "GeoDataDelete.h"
10 #include "GeoDataChange.h"
11 #include "GeoDataTypes.h"
18 class GeoDataUpdatePrivate
21 GeoDataUpdatePrivate();
22 GeoDataCreate* m_create;
23 GeoDataDelete* m_delete;
24 GeoDataChange* m_change;
28 GeoDataUpdatePrivate::GeoDataUpdatePrivate() :
29 m_create( nullptr ), m_delete( nullptr ), m_change( nullptr )
33 GeoDataUpdate::GeoDataUpdate() :
34 d( new GeoDataUpdatePrivate )
38 GeoDataUpdate::GeoDataUpdate(
const Marble::GeoDataUpdate &other ) :
39 GeoDataObject(), d( new GeoDataUpdatePrivate( *other.d ) )
43 GeoDataUpdate &GeoDataUpdate::operator=(
const GeoDataUpdate &other )
45 GeoDataObject::operator =( other );
50 bool GeoDataUpdate::operator==(
const GeoDataUpdate& other)
const
52 bool const changeEmpty = !d->m_change || d->m_change->size() == 0;
53 bool const otherChangeEmpty = !other.d->m_change || other.d->m_change->size() == 0;
55 if( changeEmpty != otherChangeEmpty ) {
57 }
else if( d->m_change && other.d->m_change && *d->m_change != *other.d->m_change ) {
61 return d->m_targetHref == other.d->m_targetHref;
64 bool GeoDataUpdate::operator!=(
const GeoDataUpdate& other)
const
69 GeoDataUpdate::~GeoDataUpdate()
74 const char *GeoDataUpdate::nodeType()
const
76 return GeoDataTypes::GeoDataUpdateType;
79 QString GeoDataUpdate::targetHref()
const
81 return d->m_targetHref;
84 void GeoDataUpdate::setTargetHref(
const QString &targetHref )
86 d->m_targetHref = targetHref;
89 const GeoDataChange *GeoDataUpdate::change()
const
94 GeoDataChange *GeoDataUpdate::change()
99 void GeoDataUpdate::setChange( GeoDataChange* change )
102 d->m_change = change;
104 d->m_change->setParent(
this );
108 const GeoDataCreate *GeoDataUpdate::create()
const
113 GeoDataCreate *GeoDataUpdate::create()
118 void GeoDataUpdate::setCreate( GeoDataCreate* create )
127 const GeoDataDelete *GeoDataUpdate::getDelete()
const
132 GeoDataDelete *GeoDataUpdate::getDelete()
137 void GeoDataUpdate::setDelete( GeoDataDelete* dataDelete )
140 d->m_delete = dataDelete;
142 d->m_delete->setParent(
this );