[ACR-517] Alternative routes 25/61825/6 accepted/tizen/common/20160311.202048 accepted/tizen/ivi/20160311.145951 accepted/tizen/mobile/20160311.142923 accepted/tizen/tv/20160311.144536 accepted/tizen/wearable/20160311.145343 submit/tizen/20160311.052909
authorkj7.sung <kj7.sung@samsung.com>
Fri, 11 Mar 2016 01:14:16 +0000 (10:14 +0900)
committerkj7.sung <kj7.sung@samsung.com>
Fri, 11 Mar 2016 04:12:17 +0000 (13:12 +0900)
Change-Id: I27afe795357f335938ed9b6b7e918d34d74a67e1
Signed-off-by: kj7.sung <kj7.sung@samsung.com>
inc/engine/routes/GeoRouteQuery.h
src/here_place.cpp
src/here_route.cpp

index e9ed415..ab41f7b 100755 (executable)
@@ -340,6 +340,23 @@ public:
      *        the given query.
      */
     GeoBoundingBox GetViewBounds(void);
+
+    /**
+     * This method sets a value that indicates the maximum number of alternative routes
+     * results to be retrieved in response to the query.
+     *
+     * @param uAlternatives An integer indicating the maximum number of results to
+     *        be retrieved.
+     */
+    void SetAlternatives(size_t uAlternatives);
+
+    /**
+     * This method retrieves a value that indicates the maximum number of alternative routes
+     * results to be retrieved in response to the query.
+     *
+     * @return An integer indicating the maximum number of results to be retrieved.
+     */
+    size_t GetAlternatives(void) const;
 #endif
 
     /**
index db23915..be5abd3 100644 (file)
@@ -1269,10 +1269,10 @@ void HerePlace::__flushReplies(int error)
        }
        else if (m_bReplyWithList)
        {
-               int error = maps_item_list_create(&place_list);
+               int error = maps_place_list_create(&place_list);
                if (error != MAPS_ERROR_NONE)
                {
-                       ((maps_service_search_place_list_cb)m_pCbFunc)((maps_error_e)error, 0, m_nReqId, NULL, m_pUserData);
+                       ((maps_service_search_place_list_cb)m_pCbFunc)((maps_error_e)error, m_nReqId, 0, NULL, m_pUserData);
                        return;
                }
 
@@ -1284,7 +1284,7 @@ void HerePlace::__flushReplies(int error)
                        maps_item_list_append(place_list, mapsPlace, maps_place_clone);
                }
 
-               ((maps_service_search_place_list_cb)m_pCbFunc)((maps_error_e)error, maps_item_list_items(place_list), m_nReqId, place_list, m_pUserData);
+               ((maps_service_search_place_list_cb)m_pCbFunc)((maps_error_e)error, m_nReqId, maps_item_list_items(place_list), place_list, m_pUserData);
        }
        else
        {
index 0a537a5..4c17585 100644 (file)
@@ -184,6 +184,15 @@ here_error_e HereRoute::PreparePreference(maps_preference_h hPref)
                g_free(szViewBounds);
        }
 
+       bool is_alternatives_enabled = false;
+       if (maps_preference_get_route_alternatives_enabled(hPref, &is_alternatives_enabled) == MAPS_ERROR_NONE)
+       {
+               if (is_alternatives_enabled)
+               {
+                       m_pQuery->SetAlternatives(2);
+               }
+       }
+
        return HERE_ERROR_NONE;
 }