File indexing completed on 2025-01-05 03:59:01
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Harshit Jain <hjain.itbhu@gmail.com> 0004 // 0005 0006 #ifndef MARBLE_GEODATATIMEPRIMITIVE_H 0007 #define MARBLE_GEODATATIMEPRIMITIVE_H 0008 0009 #include "GeoDataObject.h" 0010 0011 #include "digikam_export.h" 0012 0013 namespace Marble 0014 { 0015 0016 class GeoDataTimePrimitivePrivate; 0017 0018 /** 0019 * @short a base class for the style classes 0020 * 0021 * A GeoDataTimePrimitive is a base class for the time classes TimeSpan 0022 * and TimeStamp classes. 0023 * 0024 * @see GeoDataTimeSpan 0025 * @see GeoDataTimeStamp 0026 */ 0027 class DIGIKAM_EXPORT GeoDataTimePrimitive : public GeoDataObject 0028 { 0029 public: 0030 /// Provides type information for downcasting a GeoNode 0031 const char* nodeType() const override; 0032 0033 GeoDataTimePrimitive& operator=( const GeoDataTimePrimitive& other ); 0034 0035 /** 0036 * @brief Serialize the styleselector to a stream 0037 * @param stream the stream 0038 */ 0039 void pack( QDataStream& stream ) const override; 0040 0041 /** 0042 * @brief Unserialize the styleselector from a stream 0043 * @param stream the stream 0044 */ 0045 void unpack( QDataStream& stream ) override; 0046 0047 GeoDataTimePrimitive(); 0048 GeoDataTimePrimitive( const GeoDataTimePrimitive& other ); 0049 ~GeoDataTimePrimitive() override; 0050 private: 0051 GeoDataTimePrimitivePrivate * const d; 0052 }; 0053 0054 } 0055 0056 #endif