16 #ifndef AAC_NAVIGATION_NAVIGATION_ENGINE_INTERFACES_H    17 #define AAC_NAVIGATION_NAVIGATION_ENGINE_INTERFACES_H    19 #include "Navigation.h"    22 namespace navigation {
    24 class NavigationEngineInterface {
    26     enum class EventName {
    35         PREVIOUS_WAYPOINTS_SHOWN,
    40         PREVIOUS_NAVIGATION_STARTED,
    50         DIRECTIONS_LIST_SHOWN,
   115         ROUTE_GUIDANCE_MUTED,
   120         ROUTE_GUIDANCE_UNMUTED,
   125         DEFAULT_ALTERNATE_ROUTES_SHOWN,
   130         SHORTER_TIME_ROUTES_SHOWN,
   135         SHORTER_DISTANCE_ROUTES_SHOWN,
   140         TURN_GUIDANCE_ANNOUNCED,
   145         EXIT_GUIDANCE_ANNOUNCED,
   150         ENTER_GUIDANCE_ANNOUNCED,
   155         MERGE_GUIDANCE_ANNOUNCED,
   160         LANE_GUIDANCE_ANNOUNCED,
   165         SPEED_LIMIT_REGULATION_ANNOUNCED,
   170         CARPOOL_RULES_REGULATION_ANNOUNCED
   173     enum class ErrorType {
   177         NAVIGATION_START_FAILED,
   182         SHOW_PREVIOUS_WAYPOINTS_FAILED,
   187         PREVIOUS_NAVIGATION_START_FAILED,
   192         ROUTE_OVERVIEW_FAILED,
   197         DIRECTIONS_LIST_FAILED,
   262         MUTED_ROUTE_GUIDANCE_FAILED,
   267         UNMUTED_ROUTE_GUIDANCE_FAILED,
   272         DEFAULT_ALTERNATE_ROUTES_FAILED,
   277         SHORTER_TIME_ROUTES_FAILED,
   282         SHORTER_DISTANCE_ROUTES_FAILED,
   287         TURN_GUIDANCE_FAILED,
   292         EXIT_GUIDANCE_FAILED,
   297         ENTER_GUIDANCE_FAILED,
   302         MERGE_GUIDANCE_FAILED,
   307         LANE_GUIDANCE_FAILED,
   312         SPEED_LIMIT_REGULATION_FAILED,
   317         CARPOOL_RULES_REGULATION_FAILED
   320     enum class ErrorCode {
   324         INTERNAL_SERVICE_ERROR,
   334         NO_PREVIOUS_WAYPOINTS,
   348     enum class AlternateRouteType {
   356     virtual void onNavigationEvent(EventName event) = 0;
   357     virtual void onNavigationError(ErrorType type, ErrorCode code, 
const std::string& description) = 0;
   358     virtual void onShowAlternativeRoutesSucceeded(
const std::string& payload) = 0;
 Definition: AddressBook.h:26