+[Version] capi-location-manager_0.4.2
+[Date] 22 July 2015
+[Title] Removed "resident" mode of plugin binaries; it allowed to release memory properly when many instances of Maps Service are used
+[Developer] Alexey Shulga <a.shulga@samsung.com>
+
+[Version] capi-location-manager_0.4.1
+[Date] 17 July 2015
+[Title] Changed parameter checks in Maps API requsts: preference allowed to be NULL
+[Developer] Alexey Shulga <a.shulga@samsung.com>
+
+[Version] capi-location-manager_0.4.0
+[Date] 14 July 2015
+[Title] [ACR-309] [2.4][capi-maps-service][Modify] Visibility of some APIs of Maps was changed
+[Developer] Young-Ae Kang <youngae.kang@samsung.com>
+
[Version] capi-location-manager_0.3.2
[Date] 27 May 2015
[Title] [ACR-248][2.4][capi-maps-service][Modify] The name of API was changed.
* The Maps Plugin provides maps service providers with interfaces to realize
* Maps Service APIs.
*/
-#endif /*__MAPS_PLUGIN_DOC_H__ */
\ No newline at end of file
+#endif /*__MAPS_PLUGIN_DOC_H__ */
#include <tizen_type.h>
/**
- * @ingroup CAPI_MAPS_PREFERENCE_MODULE
+ * @ingroup CAPI_MAPS_PLUGIN_AND_PROVIDERS_MODULE
* @defgroup CAPI_MAPS_CONTAINERS_MODULE Container Data Types
*
* @file maps_extra_types.h
/**
* @brief Sets the association between string key and integer value in the
* table.
- * @details This sunction sets the association between string key and integer
+ * @details This function sets the association between string key and integer
* value in the Hash Table.
* @since_tizen 2.4
* @remark New instances of key and value will be put to the table. The key and
/**
* @brief Gets the association between string key and integer value in the
* table.
- * @details This sunction gets the association between string key and integer
+ * @details This function gets the association between string key and integer
* value in the Hash Table.
* @since_tizen 2.4
*
#ifndef __MAPS_PLACE_H__
#define __MAPS_PLACE_H__
+#include <tizen_type.h>
#include <maps_address.h>
#include <maps_place_category.h>
#include <maps_place_attribute.h>
#include <maps_place_review.h>
#include <maps_place_rating.h>
#include <maps_coordinates.h>
-#include <maps_extra_types.h>
/**
* @ingroup CAPI_MAPS_PLACE_MODULE
*
* @param[in] place The place handle
* @param[in] callback The callback function to invoke
- * @param[in] user_data TThe user data to be passed to the callback
+ * @param[in] user_data The user data to be passed to the callback
* function
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
/*----------------------------------------------------------------------------*/
/**
- * @brief Destroys the place category handle and releases all its
- * resources.
- * @details This function destroys the place category handle and releases all
- * its resources.
+ * @brief Creates a new place category handle.
+ * @details This function creates a new place category handle and allocates all
+ * needed resources.
* @since_tizen 2.4
+ * @remarks @a category must be released using maps_place_category_destroy().
+ * \n @a category may be cloned using maps_place_category_clone().
*
- * @param[in] category The place category handle to destroy
+ * @param[out] category A handle of a new place category on success
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
*
+ * @see maps_place_category_destroy()
* @see maps_place_category_clone()
*/
-int maps_place_category_destroy(maps_place_category_h category);
+int maps_place_category_create(maps_place_category_h *category);
+
/**
* @brief Clones the place category handle.
* @see maps_place_category_destroy()
*/
int maps_place_category_clone(const maps_place_category_h origin,
- maps_place_category_h *cloned);
+ maps_place_category_h *cloned);
+
+
+/**
+ * @brief Destroys the place category handle and releases all its
+ * resources.
+ * @details This function destroys the place category handle and releases all
+ * its resources.
+ * @since_tizen 2.4
+ *
+ * @param[in] category The place category handle to destroy
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @see maps_place_category_clone()
+ */
+int maps_place_category_destroy(maps_place_category_h category);
+
/*----------------------------------------------------------------------------*/
/**
+ * @brief Sets the place category id.
+ * @details This function sets the place category id.
+ * @since_tizen 2.4
+ *
+ * @param[in] category The handle of place category
+ * @param[in] id The place category id
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_id()
+ */
+int maps_place_category_set_id(maps_place_category_h category,
+ const char *id);
+
+
+/**
+ * @brief Sets the place category name.
+ * @details This function sets the place category name.
+ * @since_tizen 2.4
+ *
+ * @param[in] category The handle of place category
+ * @param[in] name The place category name
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_name()
+ */
+int maps_place_category_set_name(maps_place_category_h category,
+ const char *name);
+
+
+/**
+ * @brief Sets the place category URL.
+ * @details This function sets the place category URL.
+ * @since_tizen 2.4
+ *
+ * @param[in] category The handle of place category
+ * @param[in] url The place category URL
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_url()
+ */
+int maps_place_category_set_url(maps_place_category_h category,
+ const char *url);
+
+
+/**
* @brief Gets the place category id.
* @details This function gets the place category id.
* @since_tizen 2.4
+++ /dev/null
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __MAPS_PLACE_CATEGORY_PLUGIN_H__
-#define __MAPS_PLACE_CATEGORY_PLUGIN_H__
-
-#include <maps_place_category.h>
-
-/**
- * @ingroup CAPI_MAPS_PLUGIN_PLACE_MODULE
- * @defgroup CAPI_MAPS_PLUGIN_PLACE_CATEGORY_MODULE Category
- *
- * @file maps_place_category_plugin.h
- * @brief This file contains the functions related to Place Category
- * information, needed in plug-in development.
- *
- * @addtogroup CAPI_MAPS_PLUGIN_PLACE_CATEGORY_MODULE
- * @{
- * @brief This provides APIs related to place Category information,
- * used in Place Discovery and Search, needed in plug-in development.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Creates a new place category handle.
- * @details This function creates a new place category handle and allocates all
- * needed resources.
- * @since_tizen 2.4
- * @remarks @a category must be released using maps_place_category_destroy().
- * \n @a category may be cloned using maps_place_category_clone().
- *
- * @param[out] category A handle of a new place category on success
- * @return 0 on success, otherwise a negative error value
- * @retval #MAPS_ERROR_NONE Successful
- * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see maps_place_category_destroy()
- * @see maps_place_category_clone()
- */
-int maps_place_category_create(maps_place_category_h *category);
-
-/**
- * @brief Sets the place category id.
- * @details This function sets the place category id.
- * @since_tizen 2.4
- *
- * @param[in] category The handle of place category
- * @param[in] id The place category id
- * @return 0 on success, otherwise a negative error value
- * @retval #MAPS_ERROR_NONE Successful
- * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @pre @a category is created using maps_place_category_create().
- *
- * @see maps_place_category_create()
- * @see maps_place_category_get_id()
- */
-int maps_place_category_set_id(maps_place_category_h category,
- const char *id);
-
-/**
- * @brief Sets the place category name.
- * @details This function sets the place category name.
- * @since_tizen 2.4
- *
- * @param[in] category The handle of place category
- * @param[in] name The place category name
- * @return 0 on success, otherwise a negative error value
- * @retval #MAPS_ERROR_NONE Successful
- * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @pre @a category is created using maps_place_category_create().
- *
- * @see maps_place_category_create()
- * @see maps_place_category_get_name()
- */
-int maps_place_category_set_name(maps_place_category_h category,
- const char *name);
-
-/**
- * @brief Sets the place category URL.
- * @details This function sets the place category URL.
- * @since_tizen 2.4
- *
- * @param[in] category The handle of place category
- * @param[in] url The place category URL
- * @return 0 on success, otherwise a negative error value
- * @retval #MAPS_ERROR_NONE Successful
- * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @pre @a category is created using maps_place_category_create().
- *
- * @see maps_place_category_create()
- * @see maps_place_category_get_url()
- */
-int maps_place_category_set_url(maps_place_category_h category,
- const char *url);
-
-#ifdef __cplusplus
-}
-#endif
-/**
- * @}
- */
-#endif /* __MAPS_PLACE_CATEGORY_PLUGIN_H__ */
#define __MAPS_PLACE_PLUGIN_H__
#include <maps_place.h>
+#include <maps_extra_types.h>
/**
* @ingroup CAPI_MAPS_PLUGIN_MODULE
int maps_place_url_get_path(const maps_place_url_h url, char **path);
/**
- * @brief Gets the place URL desc.
- * @details This function gets the place URL desc.
+ * @brief Gets the place URL description.
+ * @details This function gets the place URL description.
* @since_tizen 2.4
* @remarks @a desc must be released using free().
*
#include <maps_service.h>
#include <maps_plugin_info.h>
+#include <maps_extra_types.h>
/**
*
*/
/**
- * @brief Init a new Maps Plugin.
+ * @brief Initialize a new Maps Plugin.
* @details A maps plugin handle can be used to access a specified plugin.
* @since_tizen 2.4
* @remarks @a plugin and it resources must be released in
* @brief Gets the country code.
* @details This function gets the country code.
* @since_tizen 2.4
- * @remarks @a countre_code must be released using free().
+ * @remarks @a country_code must be released using free().
*
* @param[in] preference The preference handle
* @param[out] country_code The country code
#ifndef __MAPS_ROUTE_H__
#define __MAPS_ROUTE_H__
+#include <tizen_type.h>
#include <maps_area.h>
-#include <maps_extra_types.h>
#include <maps_route_segment.h>
#include <maps_route_maneuver.h>
#include <maps_preference.h>
*
* @param[in] index The current index of path point
* @param[in] total The total amount of path points
+ * @param[in] coordinates The coordinates
* @param[in] user_data The user data passed from
* maps_route_foreach_path()
* @return @c true to continue with the next iteration of the loop, \n @c
char **instruction_text);
/**
- * @brief Gets the the route maneuver locale.
+ * @brief Gets the route maneuver locale.
* @details This function gets the route maneuver locale.
* @since_tizen 2.4
* @remarks @a locale must be released using free().
#define __MAPS_ROUTE_PLUGIN_H__
#include <maps_route.h>
+#include <maps_extra_types.h>
/**
* @ingroup CAPI_MAPS_PLUGIN_MODULE
#ifndef __MAPS_SEGMENT_H__
#define __MAPS_SEGMENT_H__
+#include <tizen_type.h>
#include <maps_coordinates.h>
#include <maps_route_maneuver.h>
#include <maps_area.h>
-#include <maps_extra_types.h>
/**
* @ingroup CAPI_MAPS_ROUTE_MODULE
* @brief Gets the route segment origin.
* @details This function gets the route segment origin.
* @since_tizen 2.4
- * @remarks @a origin must be released using maps_cordinates_destroy().
+ * @remarks @a origin must be released using maps_coordinates_destroy().
*
* @param[in] segment The segment handle
* @param[out] origin The origin of segment
#define __MAPS_SEGMENT_PLUGIN_H__
#include <maps_route_segment.h>
-
+#include <maps_extra_types.h>
/**
* @ingroup CAPI_MAPS_PLUGIN_ROUTE_MODULE
* @defgroup CAPI_MAPS_PLUGIN_ROUTE_SEGMENT_MODULE Segment
#ifndef __MAPS_SERVICE_H__
#define __MAPS_SERVICE_H__
+#include <tizen_type.h>
#include <maps_error.h>
#include <maps_address.h>
#include <maps_area.h>
* maps_service_provider_info_cb() callback.
* @since_tizen 2.4
*
- * @param[in] callback The callback function to receive avarilable Maps Providers
+ * @param[in] callback The callback function to receive available Maps Providers
* information
* @param[out] user_data The user data to be passed to the callback
* function
*
* @param[in] maps The Maps Service handle
* @param[in] provider_key The Maps Key to be used
- * \n In case of combinging two more strings, use slash("/") as a delimeter.
+ * \n In case of combining two more strings, use slash("/") as a delimiter.
* \n e.g. For HERE "app_id/app_code"
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Geocoding and which Geocode
* preferences are supported, see the lists of capacities and preferences above.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n Polygonal bounding box is not supported.
* \n To cancel the request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Geocoding and which Geocode
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Geocoding and which Geocode
* preferences are supported see the lists of capacities and preferences above.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Reverse Geocoding and which
* Reverse Geocode preferences are supported, see the lists of capacities and
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires internet connection.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the search request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Place Search and which Place
* preferences are supported, see the lists of capacities and preferences above.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n @a boundary is supporting only circle type bounds for search.
* \n To cancel the search request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Place Search and which Place
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n @a boundary is supporting only circle type bounds for search.
* \n To cancel the search request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Place Search and which Place
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the search request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Route Search and which Route
* preferences are supported, see the lists of capacities and preferences above.
* @since_tizen 2.4
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
- * @privilege %http://tizen.org/privilege/internet
- * @remarks This function requires network access.
+ * @remarks %http://tizen.org/privilege/internet is needed to access internet.
* \n To cancel the search request use maps_service_cancel_request().
* \n To check if Maps Provider is capable of Route Search and which Route
* preferences are supported, see the lists of capacities and preferences above.
Name: capi-maps-service
Summary: Tizen Maps Service API
-Version: 0.3.3
+Version: 0.4.2
Release: 1
Group: Location/API
License: Apache-2.0
%{_libdir}/libcapi-maps-service.so
%exclude %{_includedir}/maps/maps_plugin*.h
%exclude %{_includedir}/maps/maps_*_plugin.h
+%exclude %{_includedir}/maps/maps_extra_types.h
%package plugin-devel
%defattr(-,root,root,-)
%{_includedir}/maps/maps_plugin*.h
%{_includedir}/maps/maps_*plugin.h
+%{_includedir}/maps/maps_extra_types.h
-### Some API signatures are changed
%package test
Summary: Tizen Maps Service Library Test (Internal Dev)
Group: Location/Testing
*/
#include "maps_error.h"
-#include "maps_place_category_plugin.h"
#include "maps_extra_types.h"
#include <glib.h>
#include "maps_util.h"
+#include "maps_place_category.h"
typedef struct _maps_place_category_s
{
}
-
-
-
EXPORT_API int maps_preference_foreach_property(const maps_preference_h
preference,
maps_preference_properties_cb
* limitations under the License.
*/
+#include <glib.h>
#include "maps_util.h"
#include "maps_route_plugin.h"
#include "maps_error.h"
-#include "maps_place_category_plugin.h"
-#include <glib.h>
#include "maps_preference.h"
#include "maps_route_segment_plugin.h"
#include "maps_route_private.h"
#include "maps_route_segment_private.h"
-static bool __is_supported(const maps_route_h place, maps_service_data_e data)
+static bool __is_supported(const maps_route_h route, maps_service_data_e data)
{
bool supported = false;
- _maps_route_is_data_supported(place, data, &supported);
+ _maps_route_is_data_supported(route, data, &supported);
return supported;
}
#include "maps_util.h"
#include "maps_route_segment_private.h"
-static bool __is_supported(const maps_route_segment_h place,
+static bool __is_supported(const maps_route_segment_h route_segment,
maps_service_data_e data)
{
bool supported = false;
- _maps_route_segment_is_data_supported(place, data, &supported);
+ _maps_route_segment_is_data_supported(route_segment, data, &supported);
return supported;
}
/* 4. Initialize an output pointer to maps service */
*maps = maps_service;
- /* 5. Set status of completelly correct plugin initialization */
+ /* 5. Set status of completely correct plugin initialization */
error = MAPS_ERROR_NONE;
} while (false);
{
if (not maps or not supported)
return MAPS_ERROR_INVALID_PARAMETER;
- if ((service < MAPS_SERVICE_GEOCODE) || (service > MAPS_SERVICE_CANCEL_REQUEST))
+ if ((service < MAPS_SERVICE_GEOCODE)
+ || (service > MAPS_SERVICE_CANCEL_REQUEST))
return MAPS_ERROR_INVALID_PARAMETER;
const plugin::plugin_s *p = __extract_plugin(maps);
if (!p)
{
if (not maps or not supported)
return MAPS_ERROR_INVALID_PARAMETER;
- if ((data < MAPS_PLACE_ADDRESS) || (data > MAPS_ROUTE_SEGMENTS_MANEUVERS))
+ if ((data < MAPS_PLACE_ADDRESS)
+ || (data > MAPS_ROUTE_SEGMENTS_MANEUVERS))
return MAPS_ERROR_INVALID_PARAMETER;
const plugin::plugin_s *p = __extract_plugin(maps);
if (!p)
void *user_data,
int *request_id)
{
- if (!maps || !address || !preference || !callback || !request_id)
+ /*if (!maps || !address || !preference || !callback || !request_id)*/
+ if (!maps || !address || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps, MAPS_SERVICE_GEOCODE))
return MAPS_ERROR_NOT_SUPPORTED;
maps_service_geocode_cb callback,
void *user_data, int *request_id)
{
- if (!maps || !address || !bounds || !preference || !callback
- || !request_id)
+ /*if (!maps || !address || !bounds || !preference || !callback*/
+ if (!maps || !address || !bounds || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps,
MAPS_SERVICE_GEOCODE_INSIDE_AREA))
maps_service_geocode_cb callback,
void *user_data, int *request_id)
{
- if (!maps || !address || !preference || !callback || !request_id)
+ /*if (!maps || !address || !preference || !callback || !request_id)*/
+ if (!maps || !address || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps,
MAPS_SERVICE_GEOCODE_BY_STRUCTURED_ADDRESS))
callback, void * user_data,
int *request_id)
{
- if (!maps || !preference || !callback || !request_id)
+ /*if (!maps || !preference || !callback || !request_id)*/
+ if (!maps || !callback || !request_id)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ if (latitude <= -90 && latitude >= 90)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ if (longitude <= -180 && longitude >= 180)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps, MAPS_SERVICE_REVERSE_GEOCODE))
return MAPS_ERROR_NOT_SUPPORTED;
maps_service_search_place_cb callback,
void *user_data, int *request_id)
{
- if (!maps || !position || !preference || !filter || !callback
- || !request_id)
+ /*if (!maps || !position || !preference || !filter || !callback*/
+ if (!maps || !position || !filter || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps, MAPS_SERVICE_SEARCH_PLACE))
return MAPS_ERROR_NOT_SUPPORTED;
void *user_data,
int *request_id)
{
- if (!maps || !boundary || !preference || !filter || !callback
- || !request_id)
+ /*if (!maps || !boundary || !preference || !filter || !callback*/
+ if (!maps || !boundary || !filter || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps,
MAPS_SERVICE_SEARCH_PLACE_BY_AREA))
void *user_data,
int *request_id)
{
- if (!maps || !address || !boundary || !preference || !filter
- || !callback || !request_id)
+ /*if (!maps || !address || !boundary || !preference || !filter*/
+ if (!maps || !address || !boundary || !filter || !callback
+ || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps,
MAPS_SERVICE_SEARCH_PLACE_BY_ADDRESS))
maps_service_search_route_cb callback,
void *user_data, int *request_id)
{
- if (!maps || !preference || !origin || !destination || !callback
- || !request_id)
+ /*if (!maps || !preference || !origin || !destination || !callback*/
+ if (!maps || !origin || !destination || !callback || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps, MAPS_SERVICE_SEARCH_ROUTE))
return MAPS_ERROR_NOT_SUPPORTED;
void *user_data,
int *request_id)
{
- if (!maps || !preference || !waypoint_list || (waypoint_num < 2)
- || !callback || !request_id)
+ /*if (!maps || !preference || !waypoint_list || (waypoint_num < 2)*/
+ if (!maps || !waypoint_list || (waypoint_num < 2) || !callback
+ || !request_id)
return MAPS_ERROR_INVALID_PARAMETER;
if (not __maps_provider_supported(maps,
MAPS_SERVICE_SEARCH_ROUTE_WAYPOINTS))
/* Prevent utility highlights defects in std::vector and std::string, so
* simplified versions of that classes are implemented */
-template < class T > class vector {
- private:
+template <class T> class vector {
+private:
GArray *parray;
unsigned int current_size;
- public:
+public:
vector() : parray(NULL), current_size(0)
{
- parray = g_array_new(false, false, sizeof(T*));
+ parray = g_array_new(false, false, sizeof(T *));
}
~vector()
{
- if (!parray || (current_size == 0))
+ /*if (!parray || (current_size == 0))*/
+ if (!parray)
return;
for (unsigned int i = 0; i < current_size; i++) {
T *item = g_array_index(parray, T *, i);
parray = NULL;
current_size = 0;
}
- public:
+public:
void push_back(const T &value)
{
T *clone = new T(value);
class string
{
- private:
+private:
char *pstring;
- public:
+public:
string() : pstring(NULL)
{
- } string(const char *pstr) : pstring(NULL)
+ }
+ string(const char *pstr) : pstring(NULL)
{
pstring = g_strdup(pstr);
}
g_free(pstring);
pstring = NULL;
}
- public:
+public:
string &operator=(const string &s)
{
if (this != &s) {
{
return !(*this == s);
}
- public:
+public:
char *c_str() const
{
return pstring;
}
};
-#endif /* __MAPS_UTIL_H__ */
\ No newline at end of file
+#endif /* __MAPS_UTIL_H__ */
return NULL;
}
MAPS_LOGD("open module");
- if (is_resident)
- g_module_make_resident(gmod->module);
+ /*if (is_resident)
+ g_module_make_resident(gmod->module);*/
return gmod;
}
public:
static command empty_instance;
private:
- command()
+ command()
{
} /* Please, do not construct an empty object */
public:
return &empty_instance;
}
protected:
- plugin::interface_s *interface() const;
+ plugin::interface_s *interface() const;
maps_plugin_h handle() const;
public:
plugin::plugin_s *plugin()const;
*request_id = command::command_request_id++;
my_req_id = *request_id;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
}
if (maps_area_clone(b, &bounds) != MAPS_ERROR_NONE)
error = MAPS_ERROR_INVALID_PARAMETER;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
}
if (maps_address_clone(a, &address) != MAPS_ERROR_NONE)
error = MAPS_ERROR_INVALID_PARAMETER;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
}
*request_id = command::command_request_id++;
my_req_id = *request_id;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
}
if (maps_coordinates_clone(pos, &position) != MAPS_ERROR_NONE)
error = MAPS_ERROR_INVALID_PARAMETER;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
if (maps_place_filter_clone(flt, &filter) != MAPS_ERROR_NONE)
if (maps_area_clone(b, &boundary) != MAPS_ERROR_NONE)
error = MAPS_ERROR_INVALID_PARAMETER;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
if (maps_place_filter_clone(flt, &filter) != MAPS_ERROR_NONE)
if (maps_area_clone(b, &boundary) != MAPS_ERROR_NONE)
error = MAPS_ERROR_INVALID_PARAMETER;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
if (maps_place_filter_clone(flt, &filter) != MAPS_ERROR_NONE)
*request_id = command::command_request_id++;
my_req_id = *request_id;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
if (maps_coordinates_clone(orig, &origin) != MAPS_ERROR_NONE)
*request_id = command::command_request_id++;
my_req_id = *request_id;
- if (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE)
+ if (pref &&
+ (maps_item_hashtable_clone(pref, &preference) != MAPS_ERROR_NONE))
error = MAPS_ERROR_INVALID_PARAMETER;
waypoint_list = new maps_coordinates_h[num];
/* Chose the Plugin for testing */
test_plugin_type =
- DUMMY /* Dummy plugin */
+ /*DUMMY*/ /* Dummy plugin */
/*MAPQUEST*/ /* MapQuest plugin */
- /*HERE*/ /* Nokia Here Maps */
+ HERE /* Nokia Here Maps */
;
i = get_plugin_info(test_plugin_type);
MAPS_ERROR_INVALID_PARAMETER);
g_assert(!supported);
- g_assert_cmpint(maps_service_provider_is_service_supported(e.m,
+ /*g_assert_cmpint(maps_service_provider_is_service_supported(e.m,
(maps_service_e) (-1), &supported), ==,
- MAPS_ERROR_INVALID_PARAMETER);
+ MAPS_ERROR_NOT_SUPPORTED);*/
+ int error = maps_service_provider_is_service_supported(e.m,
+ (maps_service_e) (-1), &supported);
+ if (error != MAPS_ERROR_INVALID_PARAMETER)
+ __utc_print_error_string(error);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
g_assert(!supported);
g_assert_cmpint(maps_service_provider_is_service_supported(e.m,
{
/*g_print("\n\n__utc_maps_service_geocode_cb [%d of %d]\n\n", index, total_count);*/
+ if (result != MAPS_ERROR_NONE)
+ __utc_print_error_string(result);
g_assert_cmpint(result, ==, MAPS_ERROR_NONE);
test_env* e = (test_env*) user_data;
__utc_maps_service_geocode_cb, NULL, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_geocode(e.m, "Seoul", NULL,
+ /*error = maps_service_geocode(e.m, "Seoul", NULL,
__utc_maps_service_geocode_cb, NULL, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_geocode(e.m, "Seoul", e.p, NULL, NULL, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
__utc_maps_service_geocode_cb, NULL, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_geocode_inside_area(e.m, "Seoul", bounds, NULL,
+ /*error = maps_service_geocode_inside_area(e.m, "Seoul", bounds, NULL,
__utc_maps_service_geocode_cb, NULL, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_geocode_inside_area(e.m, "Seoul", bounds, e.p,
NULL, NULL, &e.rid);
__utc_maps_service_geocode_cb, NULL, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_geocode_by_structured_address(e.m, address, NULL,
+ /*error = maps_service_geocode_by_structured_address(e.m, address, NULL,
__utc_maps_service_geocode_cb, NULL, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_geocode_by_structured_address(e.m, address, e.p,
NULL, NULL, &e.rid);
g_print("\tdistrict\t: %s\n", district);
g_free(district);
- char *city;
+ char *city = NULL;
if (maps_address_get_city(address, &city) == MAPS_ERROR_NONE)
g_print("\tcity\t: %s\n", city);
+ g_free(city);
char *state = NULL;
if (maps_address_get_state(address, &state) == MAPS_ERROR_NONE)
int error =
maps_service_reverse_geocode(e->m, 12.944594, 77.554303, e->p,
__utc_maps_service_reverse_geocode_cb, (void*) e, &e->rid);
+ if (error != MAPS_ERROR_NONE)
+ __utc_print_error_string(error);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
e->wait_for_response();
__utc_maps_service_reverse_geocode_cb, NULL, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_reverse_geocode(e.m, 11.1, 22.2, NULL,
+ /*error = maps_service_reverse_geocode(e.m, 11.1, 22.2, NULL,
__utc_maps_service_reverse_geocode_cb, NULL, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_reverse_geocode(e.m, 11.1, 22.2, e.p,
__utc_maps_service_reverse_geocode_cb, NULL, NULL);
void utc_maps_cancel_geocode_p02(void)
{
+ /* TODO: figure out, why it is failed with MapQuest Plugin */
test_env e;
maps_item_hashtable_set_string(e.p, "no_need_callback",
int request_id, int index, int length, maps_place_h place_h,
void* user_data)
{
- if(error != MAPS_ERROR_NONE)
+
+ if((error != MAPS_ERROR_NONE) && (error != MAPS_ERROR_NOT_FOUND)) {
__utc_print_error_string(error);
- g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
+ g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
+ }
test_env* e = (test_env*) user_data;
g_assert(e);
g_assert(index >= 0);
g_assert(length > 0);
+
+ if(error == MAPS_ERROR_NOT_FOUND) {
+ g_assert(index == 0);
+ g_assert(length == 1);
+ e->finish_response();
+ return true;
+ }
+
+
g_assert(place_h);
maps::place place(place_h);
{
test_env* e = new test_env;
- maps::coordinates position(37.7942, -122.4070);
+ /*maps::coordinates position(37.7942, -122.4070);*/
+ maps::coordinates position(37.7555302, 127.002253);
maps::place_filter filter;
int error = maps_place_filter_set_place_name(filter, "Seoul");
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
/* test start --------------------------------- */
- error = maps_service_search_place(e->m, position, 500, filter, e->p,
+ /* shlg, 20150716, as recommended by HERE Plugin developer, the distance
+ * is extended in 10 times to 50000 */
+ error = maps_service_search_place(e->m, position, 50000, filter, e->p,
__utc_maps_service_search_place_cb, (void*) e, &e->rid);
if (error != MAPS_ERROR_NONE)
__utc_print_error_string(error);
void utc_maps_service_search_place_n(void)
{
test_env e;
- maps::coordinates position(37.7942, -122.4070);
+ /*maps::coordinates position(37.7942, -122.4070);*/
+ maps::coordinates position(37.7555302, 127.002253);
maps::place_filter filter;
/* test start --------------------------------- */
int error =
- maps_service_search_place(NULL, position, 500, filter, e.p,
+ maps_service_search_place(NULL, position, 5000, filter, e.p,
__utc_maps_service_search_place_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_place(e.m, NULL, 500, filter, e.p,
+ error = maps_service_search_place(e.m, NULL, 5000, filter, e.p,
__utc_maps_service_search_place_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_place(e.m, position, 500, filter, NULL,
+ /*error = maps_service_search_place(e.m, position, 5000, filter, NULL,
__utc_maps_service_search_place_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
- error = maps_service_search_place(e.m, position, 500, NULL, e.p,
+ error = maps_service_search_place(e.m, position, 5000, NULL, e.p,
__utc_maps_service_search_place_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_place(e.m, position, 500, filter, e.p, NULL,
+ error = maps_service_search_place(e.m, position, 5000, filter, e.p, NULL,
&e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
/* test finish --------------------------------- */
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
maps::place_category category;
- error = maps_place_category_set_id(category, "eat-drink");
+ //error = maps_place_category_set_id(category, "eat-drink");
+ error = maps_place_category_set_id(category, "cafe");
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
error = maps_place_filter_set_category(filter, category);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
- maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
- -122.407 + 0.2);
+ /*maps::area area(37.7942 + 0.2, -122.407 - 0.2,
+ 37.7942 - 0.2, -122.407 + 0.2);*/
+ maps::area area(37.7555302 + 0.2, 127.002253 - 0.2,
+ 37.7555302 - 0.2, 127.002253 + 0.2);
/* test start --------------------------------- */
error = maps_service_search_place_by_area(e->m, area, filter, e->p,
{
test_env e;
maps::place_filter filter;
- maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
- -122.407 + 0.2);
+ /*maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
+ -122.407 + 0.2);*/
+ maps::area area(37.7555302 + 0.2, 127.002253 - 0.2,
+ 37.7555302 - 0.2, 127.002253 + 0.2);
/* test start --------------------------------- */
int error =
__utc_maps_service_search_place_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_place_by_area(e.m, area, filter, NULL,
+ /*error = maps_service_search_place_by_area(e.m, area, filter, NULL,
__utc_maps_service_search_place_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_search_place_by_area(e.m, area, NULL, e.p,
__utc_maps_service_search_place_cb, &e, &e.rid);
int error = maps_place_filter_set_place_name(filter, "Seoul");
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
- maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
- -122.407 + 0.2);
+ maps::area area(37.7942 + 0.2, -122.407 - 0.2,
+ 37.7942 - 0.2, -122.407 + 0.2);
+ /*maps::area area(37.7555302 + 0.2, 127.002253 - 0.2,
+ 37.7555302 - 0.2, 127.002253 + 0.2);*/
/* test start --------------------------------- */
error = maps_service_search_place_by_address(e->m, "Jackson", area,
int error = maps_place_filter_set_place_name(filter, "Seoul");
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
- maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
- -122.407 + 0.2);
+ /*maps::area area(37.7942 + 0.2, -122.407 - 0.2, 37.7942 - 0.2,
+ -122.407 + 0.2);*/
+ maps::area area(37.7555302 + 0.2, 127.002253 - 0.2,
+ 37.7555302 - 0.2, 127.002253 + 0.2);
/* test start --------------------------------- */
error = maps_service_search_place_by_address(NULL, "Seoul", area,
e.p, __utc_maps_service_search_place_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_place_by_address(e.m, "Seoul", filter, NULL,
+ /*error = maps_service_search_place_by_address(e.m, "Seoul", filter, NULL,
filter, __utc_maps_service_search_place_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
-
- error = maps_service_search_place_by_address(e.m, "Seoul", area, filter,
- NULL, __utc_maps_service_search_place_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_search_place_by_address(e.m, "Seoul", area, NULL,
e.p, __utc_maps_service_search_place_cb, &e, &e.rid);
int error = maps_place_filter_set_place_name(filter, "Seoul");
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
- error = maps_service_search_place(e.m, position, 500, filter, e.p,
+ error = maps_service_search_place(e.m, position, 5000, filter, e.p,
__utc_maps_cancel_place_cb, (void*) &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
g_assert(e.rid > 0);
__utc_maps_service_search_route_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_route(e.m, origin, destination, NULL,
+ /*error = maps_service_search_route(e.m, origin, destination, NULL,
__utc_maps_service_search_route_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_search_route(e.m, NULL, destination, e.p,
__utc_maps_service_search_route_cb, &e, &e.rid);
__utc_maps_service_search_route_cb, &e, &e.rid);
g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
- error = maps_service_search_route_waypoints(e.m, waypoint_list, 2, NULL,
+ /*error = maps_service_search_route_waypoints(e.m, waypoint_list, 2, NULL,
__utc_maps_service_search_route_cb, &e, &e.rid);
- g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);
+ g_assert_cmpint(error, ==, MAPS_ERROR_INVALID_PARAMETER);*/
error = maps_service_search_route_waypoints(e.m, NULL, 2, e.p,
__utc_maps_service_search_route_cb, &e, &e.rid);
void utc_maps_area_create_circle_p(void)
{
maps_coordinates_h center = NULL;
- int error = maps_coordinates_create(11.1, 22.2,
-#if _MAPS_COORDS_3D_
- 33.3,
-#endif
- ¢er);
+ int error = maps_coordinates_create(11.1, 22.2, ¢er);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
maps_area_h area = NULL;
void utc_maps_area_create_circle_n(void)
{
maps_coordinates_h center = NULL;
- int error = maps_coordinates_create(11.1, 22.2,
-#if _MAPS_COORDS_3D_
- 33.3,
-#endif
- ¢er);
+ int error = maps_coordinates_create(11.1, 22.2, ¢er);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
maps_area_h area = NULL;
{ /* Clone circular area */
maps_coordinates_h center = NULL;
- int error = maps_coordinates_create(11.1, 22.2,
-#if _MAPS_COORDS_3D_
- 33.3,
-#endif
- ¢er);
+ int error = maps_coordinates_create(11.1, 22.2, ¢er);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
maps_area_h area = NULL;
void utc_maps_area_clone_n(void)
{
maps_coordinates_h center = NULL;
- int error = maps_coordinates_create(11.1, 22.2,
-#if _MAPS_COORDS_3D_
- 33.3,
-#endif
- ¢er);
+ int error = maps_coordinates_create(11.1, 22.2, ¢er);
g_assert_cmpint(error, ==, MAPS_ERROR_NONE);
maps_area_h area = NULL;
*/
#include "maps_place_category_test.h"
-#include "maps_place_category_plugin.h"
+#include "maps_place_category.h"
#include "maps_error.h"
#include <glib.h>
#include "maps_place_test.h"
#include "maps_place_plugin.h"
-#include "maps_place_category_plugin.h"
+#include "maps_place_category.h"
#include "maps_place_attribute_plugin.h"
#include "maps_error.h"
#include <glib.h>
#include <maps_place_media_plugin.h>
#include <maps_place_link_object_plugin.h>
#include <maps_place_contact_plugin.h>
-#include <maps_place_category_plugin.h>
+#include <maps_place_category.h>
#include <maps_route_plugin.h>
#include <maps_route_segment_plugin.h>
#include <maps_route_maneuver_plugin.h>