summaryrefslogtreecommitdiffstats
path: root/src/location/maps/qgeoroutesegment_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/maps/qgeoroutesegment_p.h')
-rw-r--r--src/location/maps/qgeoroutesegment_p.h71
1 files changed, 62 insertions, 9 deletions
diff --git a/src/location/maps/qgeoroutesegment_p.h b/src/location/maps/qgeoroutesegment_p.h
index 1751266a..f0b180da 100644
--- a/src/location/maps/qgeoroutesegment_p.h
+++ b/src/location/maps/qgeoroutesegment_p.h
@@ -48,7 +48,10 @@
// We mean it.
//
-#include "qgeomaneuver.h"
+#include <QtLocation/private/qlocationglobal_p.h>
+#include <QtLocation/qgeomaneuver.h>
+#include <QtLocation/qgeoroutesegment.h>
+
#include <QSharedData>
#include <QList>
@@ -58,23 +61,73 @@ QT_BEGIN_NAMESPACE
class QGeoCoordinate;
-class QGeoRouteSegmentPrivate : public QSharedData
+class Q_LOCATION_PRIVATE_EXPORT QGeoRouteSegmentPrivate : public QSharedData
{
public:
QGeoRouteSegmentPrivate();
QGeoRouteSegmentPrivate(const QGeoRouteSegmentPrivate &other);
- ~QGeoRouteSegmentPrivate();
+ virtual ~QGeoRouteSegmentPrivate();
+ virtual QGeoRouteSegmentPrivate *clone() = 0;
bool operator ==(const QGeoRouteSegmentPrivate &other) const;
- bool valid;
+ virtual bool valid() const;
+ virtual void setValid(bool valid);
+
+ virtual int travelTime() const;
+ virtual void setTravelTime(int travelTime);
+
+ virtual qreal distance() const;
+ virtual void setDistance(qreal distance);
+
+ virtual QList<QGeoCoordinate> path() const;
+ virtual void setPath(const QList<QGeoCoordinate> &path);
+
+ virtual QGeoManeuver maneuver() const;
+ virtual void setManeuver(const QGeoManeuver &maneuver);
+
+ virtual QExplicitlySharedDataPointer<QGeoRouteSegmentPrivate> nextRouteSegment() const;
+ virtual void setNextRouteSegment(const QExplicitlySharedDataPointer<QGeoRouteSegmentPrivate> &next);
+
+ QExplicitlySharedDataPointer<QGeoRouteSegmentPrivate> m_nextSegment;
+
+protected:
+ virtual bool equals(const QGeoRouteSegmentPrivate &other) const;
+};
+
+
+
+class Q_LOCATION_PRIVATE_EXPORT QGeoRouteSegmentPrivateDefault : public QGeoRouteSegmentPrivate
+{
+public:
+ QGeoRouteSegmentPrivateDefault();
+ QGeoRouteSegmentPrivateDefault(const QGeoRouteSegmentPrivateDefault &other);
+ ~QGeoRouteSegmentPrivateDefault();
+ virtual QGeoRouteSegmentPrivate *clone() override;
+
+ bool operator ==(const QGeoRouteSegmentPrivateDefault &other) const;
+
+ virtual bool valid() const override;
+ virtual void setValid(bool valid) override;
+
+ virtual int travelTime() const override;
+ virtual void setTravelTime(int travelTime) override;
+
+ virtual qreal distance() const override;
+ virtual void setDistance(qreal distance) override;
+
+ virtual QList<QGeoCoordinate> path() const override;
+ virtual void setPath(const QList<QGeoCoordinate> &path) override;
+
+ virtual QGeoManeuver maneuver() const override;
+ virtual void setManeuver(const QGeoManeuver &maneuver) override;
- int travelTime;
- qreal distance;
- QList<QGeoCoordinate> path;
- QGeoManeuver maneuver;
- QExplicitlySharedDataPointer<QGeoRouteSegmentPrivate> nextSegment;
+ bool m_valid;
+ int m_travelTime;
+ qreal m_distance;
+ QList<QGeoCoordinate> m_path;
+ QGeoManeuver m_maneuver;
};
QT_END_NAMESPACE