Marble

Serializable.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2007 Murad Tagirov <[email protected]>
4 //
5 
6 
7 #ifndef MARBLE_SERIALIZABLE_H
8 #define MARBLE_SERIALIZABLE_H
9 
10 class QDataStream;
11 
12 namespace Marble {
13 
14 class Serializable
15 {
16  public:
17  virtual ~Serializable(){}
18  virtual void pack( QDataStream& stream ) const = 0;
19  virtual void unpack( QDataStream& stream ) = 0;
20 };
21 
22 /* the next two id's are needed to get unpacking working - this cannot be
23  * achieved without a special Id
24  */
25 enum EnumFeatureId {
26  InvalidFeatureId = -1,
27  GeoDataDocumentId = 1,
28  GeoDataFolderId,
29  GeoDataPlacemarkId,
30  GeoDataNetworkLinkId,
31  GeoDataScreenOverlayId,
32  GeoDataGroundOverlayId
33 };
34 
35 enum EnumGeometryId {
36  InvalidGeometryId = -1,
37  GeoDataPointId = 1,
38  GeoDataLineStringId,
39  GeoDataLinearRingId,
40  GeoDataPolygonId,
41  GeoDataMultiGeometryId,
42  GeoDataMultiTrackId,
43  GeoDataModelId,
44  GeoDataTrackId,
45  GeoDataBuildingId
46 };
47 
48 }
49 
50 #endif
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:10 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.