62 lines
1.5 KiB
C++
Executable File
62 lines
1.5 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Interface-Implementation of LocationDisplay
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Own
|
|
#include <Map/location_display.h> // Interface
|
|
#include <Common/situation_map_logging.h>
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
namespace SituationMap
|
|
{
|
|
|
|
class MapImpl;
|
|
|
|
class LocationDisplayImpl : public SituationMap::LocationDisplay
|
|
{
|
|
using BaseClass = SituationMap::LocationDisplay;
|
|
|
|
public:
|
|
|
|
explicit LocationDisplayImpl(SituationMap::MapImpl *mapImpl);
|
|
virtual ~LocationDisplayImpl();
|
|
|
|
LocationDisplayImpl(const LocationDisplayImpl &other) = delete;
|
|
LocationDisplayImpl &operator=(LocationDisplayImpl &other) = delete;
|
|
|
|
bool init();
|
|
|
|
bool setCurrentLocation(const Point3D & currentLocation,
|
|
double horizontalAccuracy = 0,
|
|
double velocity = 0,
|
|
double course = 0,
|
|
bool lastKnown = false
|
|
) override;
|
|
bool setOutdated(bool lastKnown) override;
|
|
|
|
bool start() override;
|
|
void stop() override;
|
|
bool isStarted() override;
|
|
|
|
|
|
private :
|
|
LOGGER_T m_logger; ///< Interface of the Logging-Facility
|
|
class Private;
|
|
/**
|
|
* The private d->pointer to not break BC when changing internals of this class
|
|
*/
|
|
Private *d{nullptr};
|
|
|
|
};
|
|
|
|
} // namespace SituationMap
|
|
|
|
//----------------------------------------------------------------------------
|