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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2011 Niko Sams <niko.sams@gmail.com>
0004 //
0005 
0006 #include "GeoDataSimpleArrayData.h"
0007 
0008 #include "GeoDataTypes.h"
0009 #include "MarbleDebug.h"
0010 
0011 namespace Marble {
0012 
0013 class GeoDataSimpleArrayDataPrivate
0014 {
0015 public:
0016     GeoDataSimpleArrayDataPrivate()
0017     {
0018     }
0019 
0020     QList< QVariant > m_values;
0021 };
0022 
0023 GeoDataSimpleArrayData::GeoDataSimpleArrayData()
0024     : d( new GeoDataSimpleArrayDataPrivate() )
0025 {
0026 }
0027 
0028 GeoDataSimpleArrayData::GeoDataSimpleArrayData( const GeoDataSimpleArrayData& other )
0029     : GeoDataObject( other ), d( new GeoDataSimpleArrayDataPrivate( *other.d ) )
0030 {
0031 }
0032 
0033 bool GeoDataSimpleArrayData::operator==( const GeoDataSimpleArrayData &other ) const
0034 {
0035     return equals(other) && d->m_values == other.d->m_values;
0036 }
0037 
0038 bool GeoDataSimpleArrayData::operator!=( const GeoDataSimpleArrayData &other ) const
0039 {
0040     return !this->operator==(other);
0041 }
0042 
0043 GeoDataSimpleArrayData::~GeoDataSimpleArrayData()
0044 {
0045     delete d;
0046 }
0047 
0048 int GeoDataSimpleArrayData::size() const
0049 {
0050     return d->m_values.size();
0051 }
0052 
0053 QVariant GeoDataSimpleArrayData::valueAt(int index) const
0054 {
0055     return d->m_values.at( index );
0056 }
0057 
0058 QList< QVariant > GeoDataSimpleArrayData::valuesList() const
0059 {
0060     return d->m_values;
0061 }
0062 
0063 void GeoDataSimpleArrayData::append( const QVariant& value )
0064 {
0065     d->m_values.append( value );
0066 }
0067 
0068 
0069 const char* GeoDataSimpleArrayData::nodeType() const
0070 {
0071     return GeoDataTypes::GeoDataSimpleArrayDataType;
0072 }
0073 
0074 void GeoDataSimpleArrayData::pack( QDataStream& stream ) const
0075 {
0076     GeoDataObject::pack( stream );
0077 }
0078 
0079 void GeoDataSimpleArrayData::unpack( QDataStream& stream )
0080 {
0081     GeoDataObject::unpack( stream );
0082 }
0083 
0084 }