Marble

Serializable.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2007 Murad Tagirov <tmurad@gmail.com>
4//
5
6
7#ifndef MARBLE_SERIALIZABLE_H
8#define MARBLE_SERIALIZABLE_H
9
10class QDataStream;
11
12namespace Marble {
13
14class 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 */
25enum EnumFeatureId {
26 InvalidFeatureId = -1,
27 GeoDataDocumentId = 1,
28 GeoDataFolderId,
29 GeoDataPlacemarkId,
30 GeoDataNetworkLinkId,
31 GeoDataScreenOverlayId,
32 GeoDataGroundOverlayId
33};
34
35enum 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-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.