File indexing completed on 2024-05-12 03:50:18

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Mohammed Nafees <nafees.technocool@gmail.com>
0004 //
0005 
0006 #ifndef GEODATAUPDATE_H
0007 #define GEODATAUPDATE_H
0008 
0009 #include "GeoDataObject.h"
0010 #include "geodata_export.h"
0011 
0012 namespace Marble
0013 {
0014 
0015 class GeoDataChange;
0016 class GeoDataCreate;
0017 class GeoDataDelete;
0018 class GeoDataUpdatePrivate;
0019 
0020 /**
0021  */
0022 class GEODATA_EXPORT GeoDataUpdate : public GeoDataObject
0023 {
0024 public:
0025     GeoDataUpdate();
0026 
0027     GeoDataUpdate( const GeoDataUpdate &other );
0028 
0029     GeoDataUpdate& operator=( const GeoDataUpdate &other );
0030     bool operator==( const GeoDataUpdate &other ) const;
0031     bool operator!=( const GeoDataUpdate &other ) const;
0032 
0033     ~GeoDataUpdate() override;
0034 
0035     /** Provides type information for downcasting a GeoNode */
0036     const char* nodeType() const override;
0037 
0038     QString targetHref() const;
0039     void setTargetHref( const QString &targetHref );
0040 
0041     const GeoDataChange *change() const;
0042     GeoDataChange *change();
0043     void setChange( GeoDataChange* change );
0044 
0045     const GeoDataCreate *create() const;
0046     GeoDataCreate *create();
0047     void setCreate( GeoDataCreate* create );
0048 
0049     const GeoDataDelete *getDelete() const;
0050     GeoDataDelete *getDelete();
0051     void setDelete( GeoDataDelete* dataDelete );
0052 
0053 private:
0054     GeoDataUpdatePrivate* const d;
0055 };
0056 
0057 }
0058 
0059 #endif