This file is indexed.

/usr/include/marble/PositionTracking.h is in libmarble-dev 4:4.13.0-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2007   Andrew Manson   <g.real.ate@gmail.com>
// Copyright 2009   Eckhart Wörner  <ewoerner@kde.org>
// Copyright 2010   Thibaut Gridel  <tgridel@free.fr>
//

#ifndef MARBLE_POSITIONTRACKING_H
#define MARBLE_POSITIONTRACKING_H

#include "marble_export.h"
#include "PositionProviderPluginInterface.h"

#include <QObject>

namespace Marble
{

class GeoDataAccuracy;
class GeoDataDocument;
class GeoDataCoordinates;
class GeoDataTreeModel;
class PositionProviderPlugin;
class PositionTrackingPrivate;

class MARBLE_EXPORT PositionTracking : public QObject
{
    Q_OBJECT

    Q_PROPERTY( PositionProviderPlugin* positionProviderPlugin READ positionProviderPlugin WRITE setPositionProviderPlugin NOTIFY positionProviderPluginChanged )

public:
    explicit PositionTracking( GeoDataTreeModel* model );
    ~PositionTracking();

    /**
      * Change the position provider to use. You can provide 0 to disable
      * position tracking. Ownership of the provided plugin is taken.
      */
    void setPositionProviderPlugin( PositionProviderPlugin* plugin );

    /** @brief Returns the current position provider plugin, or 0 if none is in use */
    PositionProviderPlugin* positionProviderPlugin();

    /**
      * @brief gives the error message from the current position provider
      */
    QString error() const;

    /**
     * @brief provides speed of the gps device
     */
    qreal speed() const;

    /**
     * @brief provides direction of the gps device in degrees with geographical north
     */
    qreal direction() const;

    /**
     * @brief Returns the timestamp of last recent tracking point.
     */
    QDateTime timestamp() const;

    /** @brief Returns the estimated accuracy of the current position */
    GeoDataAccuracy accuracy() const;

    /**
     * @brief provides the visibility of the Position Tracking document
     */
    bool trackVisible() const;

    /** @brief Returns the current position, if any */
    GeoDataCoordinates currentLocation() const;

    /** @brief Returns the status of the current position provider plugin, if any */
    PositionProviderStatus status() const;

    /** @brief Returns true if there is no position in the track */
    bool isTrackEmpty() const;

    /**
     * @brief Returns the total track length
     * @param planetRadius Scale factor, usually the radius of the underlying planet, e.g. EARTH_RADIUS
     * @return Length of all track segments on the unit sphere scaled by planetRadius
     */
    qreal length( qreal planetRadius ) const;

    void readSettings();

    void writeSettings();

public Q_SLOTS:
    /**
      * Toggles the visibility of the Position Tracking document
      */
    void setTrackVisible ( bool visible );

    /**
      * Saves the track document to file
      */
    bool saveTrack( const QString& fileName );

    /**
      * Removes all track segments which were recorded
      */
    void clearTrack();

Q_SIGNALS:
    void  gpsLocation( GeoDataCoordinates, qreal );

    void statusChanged( PositionProviderStatus status );

    /**
     * @brief emits positionProviderPluginChanged(0) when provider is disabled
     */
    void positionProviderPluginChanged( PositionProviderPlugin *activePlugin );

 private:
    Q_PRIVATE_SLOT( d, void updatePosition() )
    Q_PRIVATE_SLOT( d, void updateStatus() )

    friend class PositionTrackingPrivate;
    PositionTrackingPrivate* const d;
};

}



#endif