1 #ifndef OSMSCOUT_CLIENT_QT_NAVIGATIONMODULE_H 2 #define OSMSCOUT_CLIENT_QT_NAVIGATIONMODULE_H 44 #include <QMediaPlayer> 45 #include <QMediaPlaylist> 58 void update(std::list<RouteStep> instructions);
60 void updateNext(
RouteStep nextRouteInstruction);
62 void rerouteRequest(
const osmscout::GeoCoord from,
63 const std::optional<osmscout::Bearing> initialBearing,
64 const osmscout::GeoCoord to);
66 void positionEstimate(
const osmscout::PositionAgent::PositionState state,
67 const osmscout::GeoCoord coord,
68 const std::optional<osmscout::Bearing> bearing);
70 void arrivalEstimate(QDateTime arrivalEstimate, osmscout::Distance remainingDistance);
72 void targetReached(
const osmscout::Bearing targetBearing,
73 const osmscout::Distance targetDistance);
75 void currentSpeed(
double currentSpeedKmPH);
76 void maxAllowedSpeed(
double maxAllowedSpeedKmPh);
78 void laneUpdate(osmscout::LaneAgent::Lane lane);
89 void locationChanged(osmscout::GeoCoord coord,
90 bool horizontalAccuracyValid,
91 double horizontalAccuracy);
95 void onVoiceChanged(
const QString);
97 void playerStateChanged(QMediaPlayer::State state);
104 bool loadRoutableObjects(
const GeoBox &box,
106 const std::map<std::string,DatabaseId> &databaseMapping,
113 void ProcessMessages(
const std::list<osmscout::NavigationMessageRef>& messages);
114 QString sampleFile(osmscout::VoiceInstructionMessage::VoiceSample sample)
const;
122 std::optional<Bearing> lastBearing;
128 QMediaPlaylist *currentPlaylist{
nullptr};
129 QMediaPlayer *mediaPlayer{
nullptr};
130 std::vector<osmscout::VoiceInstructionMessage::VoiceSample> nextMessage;
134 using DataAgentInst=DataAgent<NavigationModule>;
135 using DataAgentRef=std::shared_ptr<DataAgentInst>;
138 std::make_shared<DataAgent<NavigationModule>>(*this),
139 std::make_shared<PositionAgent>(),
140 std::make_shared<BearingAgent>(),
141 std::make_shared<RouteInstructionAgent<RouteStep, RouteDescriptionBuilder>>(),
142 std::make_shared<VoiceInstructionAgent>(units),
143 std::make_shared<RouteStateAgent>(),
144 std::make_shared<ArrivalEstimateAgent>(),
145 std::make_shared<SpeedAgent>(),
146 std::make_shared<LaneAgent>()
153 #endif // OSMSCOUT_CLIENT_QT_NAVIGATIONMODULE_H DistanceUnitSystem
Definition: Distance.h:35
std::shared_ptr< Settings > SettingsRef
Definition: Settings.h:171
#define OSMSCOUT_CLIENT_QT_API
Definition: ClientQtImportExport.h:45
Vehicle
Definition: OSMScoutTypes.h:55
Definition: QtRouteData.h:40
std::shared_ptr< DBThread > DBThreadRef
Definition: DBThread.h:239
Definition: RouteStep.h:42
std::shared_ptr< RouteDescription > RouteDescriptionRef
Definition: RouteDescription.h:814
Definition: NavigationModule.h:54
std::shared_ptr< RoutableObjects > RoutableObjectsRef
Definition: DataAgent.h:49