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#ifndef MARBLE_SERIALIZABLE_H
7#define MARBLE_SERIALIZABLE_H
8
9class QDataStream;
10
11namespace Marble
12{
13
14class Serializable
15{
16public:
17 virtual ~Serializable() = default;
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 Sat Dec 21 2024 17:04:14 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.