[ACR-655] Add Overlay object API 31/72331/22 submit/tizen/20160615.105814
authorchanywa <cbible.kim@samsung.com>
Tue, 31 May 2016 11:50:27 +0000 (20:50 +0900)
committerchanywa <cbible.kim@samsung.com>
Wed, 15 Jun 2016 10:53:10 +0000 (19:53 +0900)
Change-Id: I0dc4cb09c7622c68eba573d1fa5f40c82053b271

44 files changed:
CMakeLists.txt
doc/maps_service_doc.h [changed mode: 0644->0755]
include/maps_address.h
include/maps_area.h
include/maps_coordinates.h
include/maps_error.h [changed mode: 0644->0755]
include/maps_place.h
include/maps_place_attribute.h
include/maps_place_category.h
include/maps_place_contact.h
include/maps_place_editorial.h
include/maps_place_filter.h
include/maps_place_image.h
include/maps_place_link_object.h
include/maps_place_media.h
include/maps_place_rating.h
include/maps_place_review.h
include/maps_place_url.h
include/maps_plugin.h
include/maps_preference.h
include/maps_route.h
include/maps_route_maneuver.h
include/maps_route_segment.h
include/maps_route_segment_plugin.h [changed mode: 0644->0755]
include/maps_service.h [changed mode: 0644->0755]
include/maps_view.h [changed mode: 0644->0755]
include/maps_view_event_data.h
include/maps_view_object.h
include/maps_view_plugin.h
include/maps_view_snapshot.h [new file with mode: 0755]
packaging/capi-maps-service.spec
src/api/maps_area.cpp
src/api/maps_route_segment_private.h
src/api/maps_service.cpp
src/api/maps_view.cpp
src/api/maps_view_event_data.cpp
src/api/maps_view_object.cpp
src/api/maps_view_snapshot.cpp [new file with mode: 0755]
src/plugin/empty_module.cpp
src/plugin/module.cpp
src/plugin/module.h
src/view/gesture_processor.cpp
src/view/overlay_constructor.cpp [new file with mode: 0644]
src/view/overlay_constructor.h [new file with mode: 0644]

index 6b91fc4..ab27171 100644 (file)
@@ -27,6 +27,9 @@ SET(dependents
        eina
        evas
        ecore
+       cairo
+       elementary
+       capi-media-image-util
        )
 SET(pc_dependents "capi-base-common")
 
old mode 100644 (file)
new mode 100755 (executable)
index c4183ed..ea74bd3
  * The developer is allowed to choose one of map providers by manipulating map
  * plug-ins.
  *
- * @if WEARABLE
- * @section    CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
- * This API is related with the following features:
- *  - http://tizen.org/feature/network.internet
- *
- * It is recommended to design feature related codes in your application for
- * reliability.\n
- *
- * You can check if a device supports the related features for this API by using
- * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of
- * your application.\n
- *
- * To ensure your application is only running on the device with specific
- * features, please define the features in your manifest file using the manifest
- * editor in the SDK.\n
- *
- * More details on featuring your application can be found from
- * <a href="https://developer.tizen.org/development/tools/native-tools/manifest-text-editor#feature"><b>Feature Element</b>.</a>
- * @endif
  */
 
 #endif /*__MAPS_SERVICE_DOC_H__ */
index 87f89e5..7017325 100755 (executable)
@@ -37,14 +37,14 @@ extern "C" {
 /**
  * @brief      The address handle.
  * @details The address handle can be obtained via calling of maps_address_create()
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef void *maps_address_h;
 
 /**
  * @brief The address list handle
  * @details The address list handle can be obtained via calling of maps_address_list_create().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef void *maps_address_list_h;
 
@@ -54,7 +54,7 @@ typedef void *maps_address_list_h;
  * @brief      Creates a new address handle.
  * @details This function creates a new address handle and allocates all
  * needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a address must be released using maps_address_destroy().
  * \n @a address may be cloned using maps_address_clone().
  *
@@ -73,7 +73,7 @@ int maps_address_create(maps_address_h *address);
  * @brief      Destroys the address handle and releases all its resources.
  * @details This function destroys the address handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -92,7 +92,7 @@ int maps_address_destroy(maps_address_h address);
  * @details This function clones the address handle @a origin and all its
  * resources.
  * \n Address handle @a origin may be created using maps_address_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_address_destroy().
  *
  * @param[in]  origin          The original address handle
@@ -114,7 +114,7 @@ int maps_address_clone(const maps_address_h origin, maps_address_h *cloned);
 /**
  * @brief      Gets the building number of the address handle.
  * @details This function gets the building number of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a building_number must be released using free().
  *
  * @param[in]  address         The address handle
@@ -134,7 +134,7 @@ int maps_address_get_building_number(const maps_address_h address,
 /**
  * @brief      Gets the street name of the address handle.
  * @details This function gets the street name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a street must be released using free().
  *
  * @param[in]  address The address handle
@@ -153,7 +153,7 @@ int maps_address_get_street(const maps_address_h address, char **street);
 /**
  * @brief      Gets the district name of the address handle.
  * @details This function gets the district name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a district must be released using free().
  *
  * @param[in]  address         The address handle
@@ -172,7 +172,7 @@ int maps_address_get_district(const maps_address_h address, char **district);
 /**
  * @brief      Gets the city name of the address handle.
  * @details This function gets the city name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a city must be released using free().
  *
  * @param[in]  address         The address handle
@@ -191,7 +191,7 @@ int maps_address_get_city(const maps_address_h address, char **city);
 /**
  * @brief      Gets the state name of the address handle
  * @details This function gets the state name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a state must be released using free().
  *
  * @param[in]  address         The address handle
@@ -210,7 +210,7 @@ int maps_address_get_state(const maps_address_h address, char **state);
 /**
  * @brief      Gets the country name of the address handle.
  * @details This function gets the country name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a country must be released using free().
  *
  * @param[in]  address         The address handle
@@ -229,7 +229,7 @@ int maps_address_get_country(const maps_address_h address, char **country);
 /**
  * @brief      Gets the country code of the address handle.
  * @details This function gets the country code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a country_code must be released using free().
  *
  * @param[in]  address         The address handle
@@ -249,7 +249,7 @@ int maps_address_get_country_code(const maps_address_h address,
 /**
  * @brief      Gets the county of the address handle.
  * @details This function gets the county of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a county must be released using free().
  *
  * @param[in]  address         The address handle
@@ -268,7 +268,7 @@ int maps_address_get_county(const maps_address_h address, char **county);
 /**
  * @brief      Gets the postal code of the address handle.
  * @details This function gets the postal code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a postal_code must be released using free().
  *
  * @param[in]  address         The address handle
@@ -288,7 +288,7 @@ int maps_address_get_postal_code(const maps_address_h address,
 /**
  * @brief      Gets the free text of the address handle.
  * @details This function gets the free text of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a freetext must be released using free().
  *
  * @param[in]  address         The address handle
@@ -309,7 +309,7 @@ int maps_address_get_freetext(const maps_address_h address, char **freetext);
 /**
  * @brief      Sets the building number of the address handle.
  * @details This function sets the building number of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  building_number The building number to be set
@@ -328,7 +328,7 @@ int maps_address_set_building_number(maps_address_h address,
 /**
  * @brief      Sets the street name of the address handle.
  * @details This function sets the street name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  street          The street name to be set
@@ -346,7 +346,7 @@ int maps_address_set_street(maps_address_h address, const char *street);
 /**
  * @brief      Sets the district name of the address handle.
  * @details This function sets the district name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  district        The district name to be set
@@ -364,7 +364,7 @@ int maps_address_set_district(maps_address_h address, const char *district);
 /**
  * @brief      Sets the city name of the address handle.
  * @details This function sets the city name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  city            The city name to be set
@@ -382,7 +382,7 @@ int maps_address_set_city(maps_address_h address, const char *city);
 /**
  * @brief      Sets the state name of the address handle.
  * @details This function sets the state name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  state           The state name to be set
@@ -400,7 +400,7 @@ int maps_address_set_state(maps_address_h address, const char *state);
 /**
  * @brief      Sets the country name of the address handle.
  * @details This function sets the country name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  country         The country name to be set
@@ -418,7 +418,7 @@ int maps_address_set_country(maps_address_h address, const char *country);
 /**
  * @brief      Sets the country code of the address handle.
  * @details This function sets the country code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  country_code    The country code to be set
@@ -437,7 +437,7 @@ int maps_address_set_country_code(maps_address_h address,
 /**
  * @brief      Sets the county of the address handle.
  * @details This function sets the county of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  county          The county to be set
@@ -455,7 +455,7 @@ int maps_address_set_county(maps_address_h address, const char *county);
 /**
  * @brief      Sets the postal code of the address handle.
  * @details This function sets the postal code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  postal_code     The postal code to be set
@@ -474,7 +474,7 @@ int maps_address_set_postal_code(maps_address_h address,
 /**
  * @brief      Sets the free text of the address handle.
  * @details This function sets the free text of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address         The address handle
  * @param[in]  freetext        The free text to be set
@@ -491,7 +491,7 @@ int maps_address_set_freetext(maps_address_h address, const char *freetext);
 
 /**
  * @brief      Creates a address list having a set of addresses.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[out] address_list    The address list handle
  * @return     0 on success, otherwise a negative error value
@@ -505,7 +505,7 @@ int maps_address_list_create(maps_address_list_h *address_list);
 
 /**
  * @brief      Appends an address to an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks    Don't release @a address before removed from the list using maps_address_list_remove().
  *
  * @param[in]  address_list    The address list handle
@@ -523,7 +523,7 @@ int maps_address_list_append(maps_address_list_h address_list, maps_address_h ad
 
 /**
  * @brief      Removes an address from an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks    @a address is just excepted from the list.\n
  * It must be released using maps_address_destroy().
  *
@@ -541,7 +541,7 @@ int maps_address_list_remove(maps_address_list_h address_list, maps_address_h ad
 
 /**
  * @brief      Gets the number of elements in an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address_list    The address list handle
  * @param[out] length  The number of elements in the address list
@@ -556,7 +556,7 @@ int maps_address_list_get_length(maps_address_list_h address_list, int *length);
 
 /**
  * @brief      Called iteratively to get address information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  index   The index of iteration
  * @param[in]  address The address handle
@@ -572,7 +572,7 @@ typedef bool (*maps_address_cb)(int index, maps_address_h address, void *user_da
 
 /**
  * @brief Retrieves all addresses by invoking a specific callback for each address of address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address_list    The address list handle
  * @param[in]  callback        The iteration callback
@@ -590,7 +590,7 @@ int maps_address_list_foreach(maps_address_list_h address_list,
 
 /**
  * @brief      Frees all of the memory used by a address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  address_list    The address list handle
  * @return     0 on success, otherwise a negative error value
index 8272959..a996ad5 100755 (executable)
@@ -40,7 +40,7 @@ extern "C" {
  * @brief      Handle of the Geographical Area.
  * @details The Geographical Area handle can be obtained via call of
  * maps_area_create_rectangle() or maps_area_create_circle().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * \n To release the handle use maps_area_destroy().
  * \n To clone the handle use maps_area_clone().
  *
@@ -55,7 +55,7 @@ typedef void *maps_area_h;
  * @brief      Enumeration of supported types of the Geographical Area.
  * @details This enumeration represents allowed geographical type of
  * Geographical Area: rectangular and circular.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum {
        MAPS_AREA_NONE = 0,             /**< Undefined geographical area type. */
@@ -69,7 +69,7 @@ typedef enum {
  * specified with left top and right bottom coordinates.
  * @warning Do not use #maps_area_rectangle_s directly
  * if you are an application developer.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef struct _maps_area_rectangle_s {
        maps_coordinates_s top_left;            /**< The top left position of rectangle. */
@@ -82,7 +82,7 @@ typedef struct _maps_area_rectangle_s {
  * @details This structure represents a circular Geographical Area.
  * @warning Do not use #maps_area_circle_s directly
  * if you are an application developer.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef struct _maps_area_circle_s {
        maps_coordinates_s center;      /**< The center position of a circle. */
@@ -96,7 +96,7 @@ typedef struct _maps_area_circle_s {
  * @warning Do not use #maps_area_s directly
  * if you are an application developer.
  * Using #maps_area_h is recommanded.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef struct _maps_area_s {
        maps_area_type_e type;  /**< The area type of this information. */
@@ -113,7 +113,7 @@ typedef struct _maps_area_s {
  * specified information.
  * @details This function creates a rectangular type of new #maps_area_h with a
  * specified left top and right bottom coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a area must be released using maps_area_destroy().
  * \n @a area may be cloned using maps_area_clone().
  * \n @a top_left and @a bottom_right must be released using
@@ -145,7 +145,7 @@ int maps_area_create_rectangle(const maps_coordinates_h top_left,
  * specified information.
  * @details This function creates a circular type of new #maps_area_h
  * Geographical Area with a specified center coordinates and a radius.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a area must be released using maps_area_destroy().
  * \n @a center must be released using maps_coordinates_destroy().
  * \n The @a radius is specified in units, listed in #maps_distance_unit_e.
@@ -177,7 +177,7 @@ int maps_area_create_circle(const maps_coordinates_h center,
  * @brief      Destroys the Geographical Area and releases all its resources.
  * @details This function destroys the Geographical Area #maps_area_h and
  * releases all its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  area            The area #maps_area_h
  * @return     0 on success, otherwise a negative error value
@@ -197,7 +197,7 @@ int maps_area_destroy(maps_area_h area);
  * @brief      Clones the Geographical Area.
  * @details This function makes a clone of the @a origin Geographical Area of
  * type #maps_area_h.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_area_destroy().
  *
  * @param[in]  origin          The area #maps_area_h to be copied
index d31027b..189d0bd 100755 (executable)
@@ -36,7 +36,7 @@ extern "C" {
  * @brief      Handle of the Geographical Coordinates.
  * @details The Geographical Coordinates handle can be obtained via call of
  * maps_coordinates_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks To release the handle use maps_coordinates_destroy().
  * \n To clone the handle use maps_coordinates_clone().
  */
@@ -48,7 +48,7 @@ typedef void *maps_coordinates_h;
  * a @a latitude and @a longitude values.
  * \n The @a latitude must be in range of [-90.0, 90.0].
  * \n The @a longitude must be in range of [-180.0, 180.0].
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks #maps_coordinates_h is a void pointer to the #maps_coordinates_h.
  * @warning Do not use #maps_coordinates_s directly if you are an application developer.
  * Using #maps_coordinates_h is recommanded.
@@ -63,7 +63,7 @@ typedef struct _maps_coordinates_s {
 /**
  * @brief      The coorinates list handle.
  * @details The coorindates list handle can be obtained via calling of maps_coordinates_list_create().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef void *maps_coordinates_list_h;
 
@@ -76,7 +76,7 @@ typedef void *maps_coordinates_list_h;
  * Coordinates of type #maps_coordinates_h
  * with a specified @a latitude and @a longitude.
  * \n New handle is assigned with this instance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a coordinates must be released using maps_coordinates_destroy().
  * \n @a coordinates may be cloned using maps_coordinates_clone().
  *
@@ -99,7 +99,7 @@ int maps_coordinates_create(const double latitude, const double longitude,
  * resources.
  * @details This function destroys the Geographical Coordinates
  * #maps_coordinates_h and releases all its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle to destroy
  * @return     0 on coordinates, otherwise a negative error value
@@ -117,7 +117,7 @@ int maps_coordinates_destroy(maps_coordinates_h coordinates);
  * @brief      Clones the Geographical Coordinates.
  * @details This function makes a clone of the @a origin Geographical
  * Coordinates of type #maps_coordinates_h.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_coordinates_destroy().
  *
  * @param[in]  origin          The original coordinate handle
@@ -140,7 +140,7 @@ int maps_coordinates_clone(const maps_coordinates_h origin,
 /**
  * @brief      Gets the latitude of the coordinates.
  * @details This function gets the @a latitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle
  * @param[out] latitude        The latitude of the coordinate handle
@@ -159,7 +159,7 @@ int maps_coordinates_get_latitude(const maps_coordinates_h coordinates,
 /**
  * @brief      Gets the longitude of the coordinates.
  * @details This function gets the @a longitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle
  * @param[out] longitude       The longitude of the coordinate handle
@@ -179,7 +179,7 @@ int maps_coordinates_get_longitude(const maps_coordinates_h coordinates,
  * @brief      Gets the latitude and longitude of the coordinates.
  * @details This function gets the @a longitude and @a longitude value of the
  * coordinates handle.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle
  * @param[out] latitude        The latitude of the coordinate handle
@@ -201,7 +201,7 @@ int maps_coordinates_get_latitude_longitude(const maps_coordinates_h coordinates
 /**
  * @brief      Sets the latitude of the coordinates.
  * @details This function sets the @a latitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle
  * @param[in]  latitude        The latitude of the coordinate handle
@@ -220,7 +220,7 @@ int maps_coordinates_set_latitude(maps_coordinates_h coordinates,
 /**
  * @brief      Sets the longitude of the coordinates.
  * @details This function sets the @a longitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinate handle
  * @param[out] longitude       The longitude of the coordinate handle
@@ -240,7 +240,7 @@ int maps_coordinates_set_longitude(maps_coordinates_h coordinates,
  * @brief      Sets the latitude and longitude of the coordinates.
  * @details This function sets the @a latitude and @a latitude value of the
  * coordinates handle.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates     The coordinates handle
  * @param[in]  latitude        The latitude [-90.0 ~ 90.0] (degrees)
@@ -260,7 +260,7 @@ int maps_coordinates_set_latitude_longitude(maps_coordinates_h coordinates,
 
 /**
  * @brief      Creates a coordinates list having a set of coordinates.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[out] coordinates_list        The coordinates list handle
  * @return     0 on success, otherwise a negative error value
@@ -274,7 +274,7 @@ int maps_coordinates_list_create(maps_coordinates_list_h *coordinates_list);
 
 /**
  * @brief      Frees all of the memory used by a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates_list        coordinates list handle
  * @retval     #MAPS_ERROR_NONE Successful
@@ -286,7 +286,7 @@ int maps_coordinates_list_destroy(maps_coordinates_list_h coordinates_list);
 
 /**
  * @brief      Appends a coordinates to a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates_list        The coordinates list handle
  * @param[in]  coordinates     The coordinates handle
@@ -303,7 +303,7 @@ int maps_coordinates_list_append(maps_coordinates_list_h coordinates_list,
 
 /**
  * @brief      Removes a coordinates from a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates_list        The coordinates list handle
  * @param[in]  coordinates     The coordinates handle
@@ -319,7 +319,7 @@ int maps_coordinates_list_remove(maps_coordinates_list_h coordinates_list,
 
 /**
  * @brief      Gets the number of elements in an coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates_list        The coordinates list handle
  * @param[out] length  The number of elements in the coordinates list
@@ -335,7 +335,7 @@ int maps_coordinates_list_get_length(maps_coordinates_list_h coordinates_list,
 
 /**
  * @brief      Called iteratively to get a coordinates information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  index           The index of iteration
  * @param[in]  coordinates     The handle of coordinates
@@ -349,7 +349,7 @@ typedef bool (*maps_coordinates_cb) (int index, maps_coordinates_h coordinates,
 
 /**
  * @brief Retrieves all coordinates by invoking a specific callback for each coordinates of coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  coordinates_list        The coordinates list handle
  * @param[in]  callback        The iteration callback
old mode 100644 (file)
new mode 100755 (executable)
index 88efcae..f4d692c
 
 /**
  * @ingroup    CAPI_MAPS_SERVICE_MODULE
- * @defgroup   CAPI_MAPS_ERROR_MODULE Errors
  *
  * @file maps_error.h
  * @brief This file contains the list of errors of Maps API
  *
- * @addtogroup CAPI_MAPS_ERROR_MODULE
+ * @addtogroup CAPI_MAPS_SERVICE_AND_PREFERENCE_MODULE
  * @{
  * @brief This provides a list of Maps API errors
  */
@@ -38,7 +37,7 @@ extern "C" {
 
 /**
  * @brief Enumerations of error codes for Maps Service and Plug-ins
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_error_e {
        MAPS_ERROR_NONE = TIZEN_ERROR_NONE,     /**< Successful */
index 5762019..d4a6ba4 100644 (file)
@@ -51,7 +51,7 @@ extern "C" {
  * @details The handle of Place instance.
  * @remarks To release the handle use maps_place_destroy().
  * \n To clone the handle use maps_place_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_destroy()
  * @see maps_place_clone()
@@ -61,7 +61,7 @@ typedef void *maps_place_h;
 /**
  * @brief      The Place list handle
  * @details The handle of Place list instance.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_list_foreach()
  * @see maps_place_list_destroy()
@@ -74,7 +74,7 @@ typedef void *maps_place_list_h;
  * @brief      Called when requesting the list of Place Properties.
  * @details This callback is invoked while iterating through the list of Place
  * Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a key and @a value must be released using free() and corresponding
  * release method for property value correspondingly.
  *
@@ -98,7 +98,7 @@ typedef bool(*maps_place_properties_cb) (int index, int total, char *key,
  * @brief      Called when requesting the list of Place Categories.
  * @details This callback is invoked while iterating through the list of Place
  * Categories.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a category is valid only in this function and must be released
  * using maps_place_category_destroy().
  * \n To use @a category outside this function, clone it with
@@ -125,7 +125,7 @@ typedef bool(*maps_place_categories_cb) (int index, int total,
  * @brief      Called when requesting the list of Place Attributes.
  * @details This callback is invoked while iterating through the list of Place
  * Attributes.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a attribute is valid only in this function and must be released
  * using maps_place_attribute_destroy().
  * \n To use @a attribute outside this function, clone it with
@@ -152,7 +152,7 @@ typedef bool(*maps_place_attributes_cb) (int index, int total,
  * @brief      Called when requesting the list of Place Contacts.
  * @details This callback is invoked while iterating through the list of Place
  * Contacts.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a contact is valid only in this function and must be released using
  * maps_place_contact_destroy().
  * \n To use @a contact outside this function, clone it with
@@ -179,7 +179,7 @@ typedef bool(*maps_place_contacts_cb) (int index, int total,
  * @brief      Called when requesting the list of Place Editorial.
  * @details This callback is invoked while iterating through the list of Place
  * Editorials.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a editorial is valid only in this function and must be released
  * using maps_place_editorial_destroy().
  * \n To use @a editorial outside this function, clone it with
@@ -206,7 +206,7 @@ typedef bool(*maps_place_editorials_cb) (int index, int total,
  * @brief      Called when requesting the list of Place Image.
  * @details This callback is invoked while iterating through the list of Place
  * Images.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a image is valid only in this function and must be released using
  * maps_place_image_destroy().
  * \n To use @a image outside this function, clone it with
@@ -233,7 +233,7 @@ typedef bool(*maps_place_images_cb) (int index, int total,
  * @brief      Called when requesting the list of Place Review.
  * @details This callback is invoked while iterating through the list of Place
  * Reviews.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a review is valid only in this function and must be released using
  * maps_place_review_destroy().
  * \n To use @a review outside this function, clone it with
@@ -259,7 +259,7 @@ typedef bool(*maps_place_reviews_cb) (int index, int total,
 /**
  * @brief      Called when requesting the list of Place.
  * @details This callback is invoked while iterating through the list of Place.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  index           The current index of review
  * @param[in]  place           The place handle
@@ -286,7 +286,7 @@ typedef bool(*maps_place_cb) (int index, maps_place_h place, void *user_data);
  * @brief      Destroys the place handle and releases all its resources.
  * @details This function destroys the place handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  place           The place handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -301,7 +301,7 @@ int maps_place_destroy(maps_place_h place);
  * @brief      Clones the place handle.
  * @details This function clones the place handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_destroy().
  *
  * @param[in]  origin  The original place handle
@@ -320,7 +320,7 @@ int maps_place_clone(const maps_place_h origin, maps_place_h *cloned);
 /**
  * @brief      Gets the place id.
  * @details This function gets the place id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  place           The place handle
@@ -334,7 +334,7 @@ int maps_place_get_id(const maps_place_h place, char **id);
 /**
  * @brief      Gets the place name.
  * @details This function gets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a name must be released using free().
  *
  * @param[in]  place           The place handle
@@ -348,7 +348,7 @@ int maps_place_get_name(const maps_place_h place, char **name);
 /**
  * @brief      Gets the place view URI.
  * @details This function gets the place view URI.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a uri must be released using free().
  *
  * @param[in]  place           The place handle
@@ -362,7 +362,7 @@ int maps_place_get_uri(const maps_place_h place, char **uri);
 /**
  * @brief      Gets the place location.
  * @details This function gets the place location.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a location must be released using maps_coordinates_destroy().
  *
  * @param[in]  place                   The place handle
@@ -378,7 +378,7 @@ int maps_place_get_location(const maps_place_h place,
  * @brief      Gets the place distance from the center of the location.
  * @details This function gets the place distance from the center of the
  * location.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  place                   The place handle
  * @param[out] distance                The place distance in meters
@@ -391,7 +391,7 @@ int maps_place_get_distance(const maps_place_h place, int *distance);
 /**
  * @brief      Gets the place address.
  * @details This function gets the place address.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a address must be released using maps_address_destroy().
  *
  * @param[in]  place                   The place handle
@@ -407,7 +407,7 @@ int maps_place_get_address(const maps_place_h place,
 /**
  * @brief      Gets the place rating.
  * @details This function gets the place rating.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a rating must be released using maps_place_rating_destroy().
  *
  * @param[in]  place           The place handle
@@ -423,7 +423,7 @@ int maps_place_get_rating(const maps_place_h place,
 /**
  * @brief      Retrieves all properties.
  * @details This function retrieves all place properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The properties will be delivered via maps_place_properties_cb().
  *
  * @param[in]  place           The place handle
@@ -447,7 +447,7 @@ int maps_place_foreach_property(const maps_place_h place,
 /**
  * @brief      Retrieves all categories
  * @details This function retrieves all place categories.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The categories will be delivered via maps_place_categories_cb().
  *
  * @param[in]  place           The place handle
@@ -472,7 +472,7 @@ int maps_place_foreach_category(const maps_place_h place,
 /**
  * @brief      Retrieves all attributes.
  * @details This function retrieves all place attributes.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The attributes will be delivered via maps_place_attributes_cb().
  *
  * @param[in]  place           The place handle
@@ -497,7 +497,7 @@ int maps_place_foreach_attribute(const maps_place_h place,
 /**
  * @brief      Retrieves all contacts.
  * @details This function retrieves all place contacts.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The contacts will be delivered via maps_place_contacts_cb().
  *
  * @param[in]  place           The place handle
@@ -522,7 +522,7 @@ int maps_place_foreach_contact(const maps_place_h place,
 /**
  * @brief      Retrieves all editorials.
  * @details This function retrieves all place editorials.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The editorials will be delivered via maps_place_editorials_cb().
  *
  * @param[in]  place           The place handle
@@ -547,7 +547,7 @@ int maps_place_foreach_editorial(const maps_place_h place,
 /**
  * @brief      Retrieves all images.
  * @details This function retrieves all place images.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The images will be delivered via maps_place_images_cb().
  *
  * @param[in]  place           The place handle
@@ -571,7 +571,7 @@ int maps_place_foreach_image(const maps_place_h place,
 /**
  * @brief      Retrieves all reviews.
  * @details This function retrieves all place reviews.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The reviews will be delivered via maps_place_reviews_cb().
  *
  * @param[in]  place           The place handle
@@ -596,7 +596,7 @@ int maps_place_foreach_review(const maps_place_h place,
 /**
  * @brief      Gets the place supplier link.
  * @details This function gets the place supplier link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a supplier must be released using maps_place_link_object_destroy().
  *
  * @param[in]  place                   The place handle image
@@ -612,7 +612,7 @@ int maps_place_get_supplier_link(const maps_place_image_h place,
 /**
  * @brief      Gets the place related link.
  * @details This function gets the place related link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a related must be released using maps_place_link_object_destroy().
  *
  * @param[in]  place           The place handle image
@@ -628,7 +628,7 @@ int maps_place_get_related_link(const maps_place_image_h place,
 /**
  * @brief      Retrieves all places.
  * @details This function retrieves all places.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The places will be delivered via maps_place_cb().
  * \n @a place_list must be released using maps_place_list_destroy().
  *
@@ -650,7 +650,7 @@ int maps_place_list_foreach(const maps_place_list_h place_list, maps_place_cb ca
 
 /**
  * @brief      Frees all of the memory used by a place list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  place_list      The place list handle
  * @return     0 on success, otherwise a negative error value
index cf057df..526f623 100644 (file)
@@ -40,7 +40,7 @@ extern "C" {
  * @details The handle of Place Attribute instance.
  * @remarks To release the handle use maps_place_attribute_destroy().
  * \n To clone the handle use maps_place_attribute_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_attribute_destroy()
  * @see maps_place_attribute_clone()
@@ -54,7 +54,7 @@ typedef void *maps_place_attribute_h;
  * resources.
  * @details This function destroys the place attribute handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  attribute       The place attribute handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -69,7 +69,7 @@ int maps_place_attribute_destroy(maps_place_attribute_h attribute);
  * @brief      Clones the place attribute handle.
  * @details This function clones the place attribute handle @a origin and all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_attribute_destroy().
  *
  * @param[in]  origin          The original place attribute handle
@@ -89,7 +89,7 @@ int maps_place_attribute_clone(const maps_place_attribute_h origin,
 /**
  * @brief      Gets the place attribute id.
  * @details This function gets the place attribute id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  attribute       The handle to place attribute
@@ -104,7 +104,7 @@ int maps_place_attribute_get_id(const maps_place_attribute_h attribute,
 /**
  * @brief      Gets the place link object label.
  * @details This function gets the place link object label.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a label must be released using free().
  *
  * @param[in]  attribute       The handle to place attribute
@@ -119,7 +119,7 @@ int maps_place_attribute_get_label(const maps_place_attribute_h attribute,
 /**
  * @brief      Gets the place attribute text.
  * @details This function gets the place attribute text.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a text must be released using free().
  *
  * @param[in]  attribute       The handle to place attribute
index b9b12ed..8b3118b 100644 (file)
@@ -40,7 +40,7 @@ extern "C" {
  * @details The handle of Place Category instance.
  * @remarks To release the handle use maps_place_category_destroy().
  * \n To clone the handle use maps_place_category_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_category_destroy()
  * @see maps_place_category_clone()
@@ -49,11 +49,32 @@ typedef void *maps_place_category_h;
 
 /*----------------------------------------------------------------------------*/
 
+
+/**
+ * @brief      Creates a new place category handle.
+ * @details This function creates a new place category handle and allocates all
+ * needed resources.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ * @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      Clones the place category handle.
  * @details This function clones the place category handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_category_destroy().
  *
  * @param[in]  origin          The original place category handle
@@ -74,7 +95,7 @@ int maps_place_category_clone(const maps_place_category_h origin,
  * resources.
  * @details This function destroys the place category handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  category        The place category handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -91,7 +112,7 @@ int maps_place_category_destroy(maps_place_category_h category);
 /**
  * @brief      Gets the place category id.
  * @details This function gets the place category id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  category        The handle of place category
@@ -100,12 +121,14 @@ int maps_place_category_destroy(maps_place_category_h category);
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
  */
-int maps_place_category_get_id(const maps_place_category_h category, char **id);
+int maps_place_category_get_id(const maps_place_category_h category,
+                                                               char **id);
+
 
 /**
  * @brief      Gets the place category name.
  * @details This function gets the place category name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a name must be released using free().
  *
  * @param[in]  category        The handle of place category
@@ -114,12 +137,14 @@ int maps_place_category_get_id(const maps_place_category_h category, char **id);
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
  */
-int maps_place_category_get_name(const maps_place_category_h category, char **name);
+int maps_place_category_get_name(const maps_place_category_h category,
+                                                               char **name);
+
 
 /**
  * @brief      Gets the place category URL.
  * @details This function gets the place category URL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a url must be released using free().
  *
  * @param[in]  category        The handle of place category
@@ -128,7 +153,69 @@ int maps_place_category_get_name(const maps_place_category_h category, char **na
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
  */
-int maps_place_category_get_url(const maps_place_category_h category, char **url);
+int maps_place_category_get_url(const maps_place_category_h category,
+                                                               char **url);
+
+
+/**
+ * @brief      Sets the place category id.
+ * @details This function sets the place category id.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @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 @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @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 @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @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
 }
index 3cd17d6..33c774e 100644 (file)
@@ -39,7 +39,7 @@ extern "C" {
  * @details The handle of Place Contact instance.
  * @remarks To release the handle use maps_place_contact_destroy().
  * \n To clone the handle use maps_place_contact_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_contact_destroy()
  * @see maps_place_contact_clone()
@@ -53,7 +53,7 @@ typedef void *maps_place_contact_h;
  * resources.
  * @details This function destroys the place contact handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  contact         The place contact handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -68,7 +68,7 @@ int maps_place_contact_destroy(maps_place_contact_h contact);
  * @brief      Clones the place contact handle.
  * @details This function clones the place contact handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_contact_destroy().
  *
  * @param[in]  origin          The original place contact handle
@@ -88,7 +88,7 @@ int maps_place_contact_clone(const maps_place_contact_h origin,
 /**
  * @brief      Gets the place contact label.
  * @details This function gets the place contact label.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a label must be released using free().
  *
  * @param[in]  contact         The handle to place contact
@@ -103,7 +103,7 @@ int maps_place_contact_get_label(const maps_place_contact_h contact,
 /**
  * @brief      Gets the place contact type.
  * @details This function gets the place contact type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a type must be released using free().
  *
  * @param[in]  contact         The handle to place contact
@@ -118,7 +118,7 @@ int maps_place_contact_get_type(const maps_place_contact_h contact,
 /**
  * @brief      Gets the place contact value.
  * @details This function gets the place contact value.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a value must be released using free().
  *
  * @param[in]  contact         The handle to place contact
index 75d857a..2a32247 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @details The handle of Place Editorial instance.
  * @remarks To release the handle use maps_place_editorial_destroy().
  * \n To clone the handle use maps_place_editorial_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_editorial_destroy()
  * @see maps_place_editorial_clone()
@@ -56,7 +56,7 @@ typedef void *maps_place_editorial_h;
  * resources.
  * @details This function destroys the place editorial handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  editorial       The place editorial handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -71,7 +71,7 @@ int maps_place_editorial_destroy(maps_place_editorial_h editorial);
  * @brief      Clones the place editorial handle.
  * @details This function clones the place editorial handle @a origin and all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_editorial_destroy().
  *
  * @param[in]  origin          The original place editorial handle
@@ -91,7 +91,7 @@ int maps_place_editorial_clone(const maps_place_editorial_h origin,
 /**
  * @brief      Gets the place editorial description.
  * @details This function gets the place editorial description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a description must be released using free().
  *
  * @param[in]  editorial       The handle of place editorial
@@ -106,7 +106,7 @@ int maps_place_editorial_get_description(const maps_place_editorial_h
 /**
  * @brief      Gets the place editorial language.
  * @details This function gets the place editorial language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a language must be released using free().
  *
  * @param[in]  editorial       The handle of place editorial
@@ -121,7 +121,7 @@ int maps_place_editorial_get_language(const maps_place_editorial_h editorial,
 /**
  * @brief      Gets the place editorial media.
  * @details This function gets the place editorial media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a media must be released using maps_place_media_destroy().
  *
  * @param[in]  editorial       The handle of place editorial
index d677cc7..bfe17ea 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
  * @details The handle of Place Filter instance.
  * @remarks To release the handle use maps_place_filter_destroy().
  * \n To clone the handle use maps_place_filter_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_filter_destroy()
  * @see maps_place_filter_clone()
@@ -54,7 +54,7 @@ typedef void *maps_place_filter_h;
  * @brief      Called when requesting the list of Place Filter Properties.
  * @details This callback is invoked while iterating through the list of Place
  * Filter Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a key and @a value must be released using free() and corresponding
  * release method for property value correspondingly.
  *
@@ -81,7 +81,7 @@ typedef bool(*maps_place_filter_properties_cb) (int index, int total,
  * @brief      Creates a new place filter handle.
  * @details This function creates a new place filter handle and allocates all
  * needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a filter must be released using maps_place_filter_destroy().
  * \n @a filter may be cloned using maps_place_filter_clone().
  *
@@ -100,7 +100,7 @@ int maps_place_filter_create(maps_place_filter_h *filter);
  * @brief      Destroys the place filter handle and releases all its resources.
  * @details This function destroys the place filter handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The place filter handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -120,7 +120,7 @@ int maps_place_filter_destroy(maps_place_filter_h filter);
  * resources.
  * \n Place filter handle @a origin may be created using
  * maps_place_filter_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_filter_destroy().
  *
  * @param[in]  origin  The place filter handle to be cloned
@@ -144,7 +144,7 @@ int maps_place_filter_clone(const maps_place_filter_h origin,
  * @brief      Gets the value of the specified key in the place filter.
  * @details This function gets the value of the specified key in the place
  * filter.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a value must be released using free().
  *
  * @param[in]  filter          The handle of the place filter
@@ -165,7 +165,7 @@ int maps_place_filter_get(const maps_place_filter_h filter, const char *key,
 /**
  * @brief      Gets the value of keyword.
  * @details This function gets the value of keyword.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a keyword must be released using free().
  *
  * @param[in]  filter          The handle of the place filter
@@ -185,7 +185,7 @@ int maps_place_filter_get_keyword(const maps_place_filter_h filter,
 /**
  * @brief      Gets the place name.
  * @details This function gets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a place_name must be released using free().
  *
  * @param[in]  filter          The handle of the place filter
@@ -206,7 +206,7 @@ int maps_place_filter_get_place_name(const maps_place_filter_h filter,
  * @brief      Gets the category.
  * @details This function gets the category.
  * \n For allowed values of keys, see the macros above.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a category must be released using maps_place_category_destroy().
  *
  * @param[in]  filter          The handle of the place filter
@@ -226,7 +226,7 @@ int maps_place_filter_get_category(const maps_place_filter_h filter,
 /**
  * @brief Retrieves all filter properties.
  * @details This function retrieves all place filter properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The handle of the place filter
  * @param[in]  callback        The callback function to invoke
@@ -254,7 +254,7 @@ int maps_place_filter_foreach_property(const maps_place_filter_h filter,
 /**
  * @brief      Gets the place address.
  * @details This function gets the place address.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a place_address must be released using free().
  *
  * @param[in]  filter                  The handle of the place filter
@@ -277,7 +277,7 @@ int maps_place_filter_get_place_address(const maps_place_filter_h filter,
  * @brief      Sets the filter value.
  * @details This function sets the filter value in an assignment with a
  * specified string key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The handle of the place filter
  * @param[in]  key             The key of filter
@@ -298,7 +298,7 @@ int maps_place_filter_set(maps_place_filter_h filter, const char *key,
 /**
  * @brief      Sets the keyword.
  * @details This function sets the keyword.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The handle of the place filter
  * @param[in]  keyword         The keyword
@@ -317,7 +317,7 @@ int maps_place_filter_set_keyword(maps_place_filter_h filter,
 /**
  * @brief      Sets the place name.
  * @details This function sets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The handle of the place filter
  * @param[in]  place_name      The place name
@@ -336,7 +336,7 @@ int maps_place_filter_set_place_name(maps_place_filter_h filter,
 /**
  * @brief      Sets the category.
  * @details This function sets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter          The handle of the place filter
  * @param[in]  category        The category
@@ -355,7 +355,7 @@ int maps_place_filter_set_category(maps_place_filter_h filter,
 /**
  * @brief      Sets the place address.
  * @details This function sets the place address.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  filter                  The handle of the place filter
  * @param[in]  place_address   The place address
index cd84d94..32a8c8e 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @details The handle of Place Image instance.
  * @remarks To release the handle use maps_place_image_destroy().
  * \n To clone the handle use maps_place_image_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_image_destroy()
  * @see maps_place_image_clone()
@@ -55,7 +55,7 @@ typedef void *maps_place_image_h;
  * @brief      Destroys the place image handle and releases all its resources.
  * @details This function destroys the place image handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  image           The place image handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -70,7 +70,7 @@ int maps_place_image_destroy(maps_place_image_h image);
  * @brief      Clones the place image handle.
  * @details This function clones the place image handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_image_destroy().
  *
  * @param[in]  origin          The original place image handle
@@ -90,7 +90,7 @@ int maps_place_image_clone(const maps_place_image_h origin,
 /**
  * @brief      Gets the place image id.
  * @details This function gets the place image id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  image           The handle of place image
@@ -104,7 +104,7 @@ int maps_place_image_get_id(const maps_place_image_h image, char **id);
 /**
  * @brief      Gets the place image URL.
  * @details This function gets the place image URL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a url must be released using free().
  *
  * @param[in]  image           The handle of place image
@@ -118,7 +118,7 @@ int maps_place_image_get_url(const maps_place_image_h image, char **url);
 /**
  * @brief      Gets the place image width.
  * @details This function gets the place image width.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  image           The handle of place image
  * @param[out] width           The place image width
@@ -131,7 +131,7 @@ int maps_place_image_get_width(const maps_place_image_h image, int *width);
 /**
  * @brief      Gets the place image height.
  * @details This function gets the place image height.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  image           The handle of place image
  * @param[out] height  The place image height
@@ -144,7 +144,7 @@ int maps_place_image_get_height(const maps_place_image_h image, int *height);
 /**
  * @brief      Gets the place image user link.
  * @details This function gets the place image user link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a user must be released using maps_place_link_object_destroy().
  *
  * @param[in]  image           The handle of place image
@@ -161,7 +161,7 @@ int maps_place_image_get_user_link(const maps_place_image_h image,
 /**
  * @brief      Gets the place image media.
  * @details This function gets the place image media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a media must be released using maps_place_media_destroy().
  *
  * @param[in]  image           The handle of place image
index d862c74..7de7741 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
  * @details The handle of Place Link Object instance.
  * @remarks To release the handle use maps_place_link_object_destroy().
  * \n To clone the handle use maps_place_link_object_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_link_object_destroy()
  * @see maps_place_link_object_clone()
@@ -55,7 +55,7 @@ typedef void *maps_place_link_object_h;
  * resources.
  * @details This function destroys the place link object handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  link            The place link object handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -70,7 +70,7 @@ int maps_place_link_object_destroy(maps_place_link_object_h link);
  * @brief      Clones the place link object handle.
  * @details This function clones the place link object handle @a origin and all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_link_object_destroy().
  *
  * @param[in]  origin          The original place link object handle
@@ -90,7 +90,7 @@ int maps_place_link_object_clone(const maps_place_link_object_h origin,
 /**
  * @brief      Gets the place link object id.
  * @details This function gets the place link object id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  link            The handle of place link object
@@ -105,7 +105,7 @@ int maps_place_link_object_get_id(const maps_place_link_object_h link,
 /**
  * @brief      Gets the place link object name.
  * @details This function gets the place link object name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a name must be released using free().
  *
  * @param[in]  link            The handle of place link object
@@ -120,7 +120,7 @@ int maps_place_link_object_get_name(const maps_place_link_object_h link,
 /**
  * @brief      Gets the place link object string.
  * @details This function gets the place link object string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a string must be released using free().
  *
  * @param[in]  link            The handle of place link object
@@ -135,7 +135,7 @@ int maps_place_link_object_get_string(const maps_place_link_object_h link,
 /**
  * @brief      Gets the place link object type.
  * @details This function gets the place link object type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a type must be released using free().
  *
  * @param[in]  link            The handle of place link object
index e57177c..a5adf2f 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
  * @details The handle of Place Media instance.
  * @remarks To release the handle use maps_place_media_destroy().
  * \n To clone the handle use maps_place_media_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_media_destroy()
  * @see maps_place_media_clone()
@@ -54,7 +54,7 @@ typedef void *maps_place_media_h;
  * @brief      Destroys the place media handle and releases all its resources.
  * @details This function destroys the place media handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  media           The place media handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -69,7 +69,7 @@ int maps_place_media_destroy(maps_place_media_h media);
  * @brief      Clones the place media handle.
  * @details This function clones the place media handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_media_destroy().
  *
  * @param[in]  origin          The original place media handle
@@ -89,7 +89,7 @@ int maps_place_media_clone(const maps_place_media_h origin,
 /**
  * @brief      Gets the place media attribution.
  * @details This function gets the place media attribution.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a attribution must be released using free().
  *
  * @param[in]  media           The handle of place media
@@ -104,7 +104,7 @@ int maps_place_media_get_attribution(const maps_place_media_h media,
 /**
  * @brief      Gets the place media supplier link.
  * @details This function gets the place media supplier link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a supplier must be released using maps_place_link_object_destroy().
  *
  * @param[in]  media           The handle of place media
@@ -121,7 +121,7 @@ int maps_place_media_get_supplier(const maps_place_media_h media,
 /**
  * @brief      Gets the place media "via" link.
  * @details This function gets the place media "via" link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a via must be released using maps_place_link_object_destroy().
  *
  * @param[in]  media           The handle of place media
index ee71ca1..362d92c 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
  * @details The handle of Place Rating instance.
  * @remarks To release the handle use maps_place_rating_destroy().
  * \n To clone the handle use maps_place_rating_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_rating_destroy()
  * @see maps_place_rating_clone()
@@ -54,7 +54,7 @@ typedef void *maps_place_rating_h;
  * @brief      Destroys the place rating handle and releases all its resources.
  * @details This function destroys the place rating handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  rating          The place rating handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -69,7 +69,7 @@ int maps_place_rating_destroy(maps_place_rating_h rating);
  * @brief      Clones the place rating handle.
  * @details This function clones the place rating handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_rating_destroy().
  *
  * @param[in]  origin          The original place rating handle
@@ -89,7 +89,7 @@ int maps_place_rating_clone(const maps_place_rating_h origin,
 /**
  * @brief      Gets the place rating count.
  * @details This function gets the place rating count.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  rating          The handle to place rating handle
  * @param[out] count           The place rating count
@@ -102,7 +102,7 @@ int maps_place_rating_get_count(const maps_place_rating_h rating, int *count);
 /**
  * @brief      Gets the place rating average.
  * @details This function gets the place rating average.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  rating          The handle to place rating handle
  * @param[out] average The place average rating
index bf217e4..60d18fd 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * @details The handle of Place Review instance.
  * @remarks To release the handle use maps_place_review_destroy().
  * \n To clone the handle use maps_place_review_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_review_destroy()
  * @see maps_place_review_clone()
@@ -55,7 +55,7 @@ typedef void *maps_place_review_h;
  * @brief      Destroys the place review handle and releases all its resources.
  * @details This function destroys the place review handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  review          The place review handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -70,7 +70,7 @@ int maps_place_review_destroy(maps_place_review_h review);
  * @brief      Clones the place review handle.
  * @details This function clones the place review handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_review_destroy().
  *
  * @param[in]  origin          The original place review handle
@@ -90,7 +90,7 @@ int maps_place_review_clone(const maps_place_review_h origin,
 /**
  * @brief      Gets the place review date.
  * @details This function gets the place review date.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a date must be released using free().
  *
  * @param[in]  review          The handle to place review
@@ -104,7 +104,7 @@ int maps_place_review_get_date(const maps_place_review_h review, char **date);
 /**
  * @brief      Gets the place review title.
  * @details This function gets the place review title.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a title must be released using free().
  *
  * @param[in]  review          The handle to place review
@@ -119,7 +119,7 @@ int maps_place_review_get_title(const maps_place_review_h review,
 /**
  * @brief      Gets the place review rating.
  * @details This function gets the place review rating.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  review          The handle to place review
  * @param[out] rating          The place review rating
@@ -133,7 +133,7 @@ int maps_place_review_get_rating(const maps_place_review_h review,
 /**
  * @brief      Gets the place review description.
  * @details This function gets the place review description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a description must be released using free().
  *
  * @param[in]  review          The handle to place review
@@ -148,7 +148,7 @@ int maps_place_review_get_description(const maps_place_review_h review,
 /**
  * @brief      Gets the place review language.
  * @details This function gets the place review language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a language must be released using free().
  *
  * @param[in]  review          The handle to place review
@@ -163,7 +163,7 @@ int maps_place_review_get_language(const maps_place_review_h review,
 /**
  * @brief      Gets the place review media.
  * @details This function gets the place review media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a media must be released using maps_place_media_destroy().
  *
  * @param[in]  review          The handle to place review
@@ -180,7 +180,7 @@ int maps_place_review_get_media(const maps_place_review_h review,
 /**
  * @brief      Gets the place review user link.
  * @details This function gets the place review user link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a user must be released using maps_place_link_object_destroy().
  *
  * @param[in]  review          The handle to place review
index 79b1ee9..5d67ec7 100644 (file)
@@ -40,7 +40,7 @@ extern "C" {
  * @details The handle of Place URL instance.
  * @remarks To release the handle use maps_place_url_destroy().
  * \n To clone the handle use maps_place_url_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_place_url_destroy()
  * @see maps_place_url_clone()
@@ -53,7 +53,7 @@ typedef void *maps_place_url_h;
  * @brief      Destroys the place URL handle and releases all its resources.
  * @details This function destroys the place URL handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  url     The place URL handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -68,7 +68,7 @@ int maps_place_url_destroy(maps_place_url_h url);
  * @brief      Clones the place URL handle.
  * @details This function clones the place URL handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_place_url_destroy().
  *
  * @param[in]  origin  The original place url handle
@@ -88,7 +88,7 @@ int maps_place_url_clone(const maps_place_url_h origin,
 /**
  * @brief      Gets the place URL path.
  * @details This function gets the place URL path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a path must be released using free().
  *
  * @param[in]  url             The handle to place url handle
@@ -102,7 +102,7 @@ int maps_place_url_get_path(const maps_place_url_h url, char **path);
 /**
  * @brief      Gets the place URL description.
  * @details This function gets the place URL description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a desc must be released using free().
  *
  * @param[in]  url             The handle to place url handle
index 8502b09..92567b6 100755 (executable)
@@ -18,7 +18,7 @@
 #define __MAPS_PLUGIN_H__
 
 #include <maps_service.h>
-#include <maps_view.h>
+#include <maps_view_plugin.h>
 #include <maps_plugin_info.h>
 #include <maps_extra_types.h>
 #include <maps_plugin_types.h>
@@ -1022,7 +1022,7 @@ int maps_plugin_get_min_zoom_level(maps_view_h view, int *min_zoom_level);
 int maps_plugin_get_max_zoom_level(maps_view_h view, int *max_zoom_level);
 
 /**
- * @brief      Get the central coordinates of a Map.
+ * @brief      Gets the central coordinates of a Map.
  * @details This function gets the central coordinates of a Map.
  * @since_tizen 3.0
  * @remarks @a coordinates must be released using maps_coordinates_destroy().
@@ -1039,6 +1039,23 @@ int maps_plugin_get_max_zoom_level(maps_view_h view, int *max_zoom_level);
  */
 int maps_plugin_get_center(maps_view_h view, maps_coordinates_h *coordinates);
 
+/**
+ * @brief      Gets raw pixels of the Map.
+ * @details This function gets raw pixels of the Map.
+ * @since_tizen 3.0
+ *
+ * @param[in]  view            The view handle
+ * @param[out] data            The pixels of the Map
+ * @param[out] width           The width of @a data
+ * @param[out] height          The height of @a data
+ * @param[out] cs                      The color space of @a data
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int maps_plugin_capture_snapshot(maps_view_h view, void **data, int *width, int *height,
+                                                               maps_view_colorspace_type_e *cs);
+
 #ifdef __cplusplus
 }
 #endif
index e6092d2..4ab98a1 100644 (file)
@@ -61,84 +61,84 @@ extern "C" {
 /**
  * @brief      The name of the preference indicating place type while searching
  * the place
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_PLACE_FILTER_TYPE "MAPS_PLACE_FILTER_TYPE"
 
 /**
  * @brief      The name of the preference indicating sorting key while
  * searching the place
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_PLACE_FILTER_SORT_BY "MAPS_PLACE_FILTER_SORT_BY"
 
 /**
  * @brief      The name of the preference indicating free-form address to avoid
  * while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_FREEFORM_ADDR_TO_AVOID "MAPS_ROUTE_FREEFORM_ADDR_TO_AVOID"
 
 /**
  * @brief      The name of the preference indicating structured address to
  * avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_STRUCTED_ADDR_TO_AVOID "MAPS_ROUTE_STRUCTED_ADDR_TO_AVOID"
 
 /**
  * @brief      The name of the preference indicating circular geographical area
  * to avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_CIRCLE_AREA_TO_AVOID "MAPS_ROUTE_CIRCLE_AREA_TO_AVOID"
 
 /**
  * @brief      The name of the preference indicating rectangular geographical
  * area to avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_RECT_AREA_TO_AVOID "MAPS_ROUTE_RECT_AREA_TO_AVOID"
 
 /**
  * @brief      The name of the preference indicating that route should be
  * computed within a specified bounding box
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_GEOMETRY_BOUNDING_BOX "MAPS_ROUTE_GEOMETRY_BOUNDING_BOX"
 
 /**
  * @brief      The name of the preference indicating that geometry parameters
  * should be retrieved while route processing
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_GEOMETRY_RETRIEVAL "MAPS_ROUTE_GEOMETRY_RETRIEVAL"
 
 /**
  * @brief      The name of the preference indicating that route should be
  * computed with geometry instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_INSTRUCTION_GEOMETRY "MAPS_ROUTE_INSTRUCTION_GEOMETRY"
 
 /**
  * @brief      The name of the preference indicating that route should be
  * computed with bounding box instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_INSTRUCTION_BOUNDING_BOX "MAPS_ROUTE_INSTRUCTION_BOUNDING_BOX"
 
 /**
  * @brief      The name of the preference indicating that route should be
  * computed correspondingly to retrieval instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_INSTRUCTION_RETRIEVAL "MAPS_ROUTE_INSTRUCTION_RETRIEVAL"
 
 /**
  * @brief      The name of the preference indicating that route should be
  * computed in accordance to real time traffic
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 #define MAPS_ROUTE_REALTIME_TRAFFIC "MAPS_ROUTE_REALTIME_TRAFFIC"
 
@@ -148,7 +148,7 @@ extern "C" {
  * maps_preference_create().
  * \n To release the handle use maps_preference_destroy().
  * \n To clone the handle use maps_preference_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_preference_create()
  * @see maps_preference_destroy()
@@ -160,7 +160,7 @@ typedef void *maps_preference_h;
  * @brief      Enumeration of allowed distance units.
  * @details This enumeration represents allowed distance units used in Maps
  * Services.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see #maps_preference_h
  */
@@ -175,7 +175,7 @@ typedef enum _maps_distance_unit_e {
  * @brief      Enumeration of allowed route optimization option.
  * @details This enumeration represents allowed route optimization option used
  * in Route Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see #_maps_route_transport_mode_e
  * @see #_maps_route_feature_weight_e
@@ -194,7 +194,7 @@ typedef enum _maps_route_optimization_e {
  * @brief      Enumeration of preferable route types.
  * @details This enumeration represents allowed route types used in Route
  * Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see #_maps_distance_unit_e
  * @see #_maps_route_feature_weight_e
@@ -213,7 +213,7 @@ typedef enum _maps_route_transport_mode_e {
  * @brief      Enumeration of route feature weights.
  * @details This enumeration represents allowed route feature weights used in
  * Route Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see #_maps_distance_unit_e
  * @see #_maps_route_transport_mode_e
@@ -231,7 +231,7 @@ typedef enum _maps_route_feature_weight_e {
  * @brief      Enumeration of route features.
  * @details This enumeration represents allowed route features used in Route
  * Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see #_maps_distance_unit_e
  * @see #_maps_route_transport_mode_e
@@ -257,7 +257,7 @@ typedef enum _maps_route_request_feature_e {
  * @brief      Called when requesting the list of Maps Properties.
  * @details This callback is invoked while iterating through the list of Maps
  * Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a key and @a value must be released using free() and corresponding
  * release method for property value correspondingly.
  *
@@ -283,7 +283,7 @@ typedef bool(*maps_preference_properties_cb) (int index, int total, char *key,
  * @brief      Creates a new maps preference handle.
  * @details This function creates a new maps preference handle and allocates all
  * needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a preference must be released using maps_preference_destroy().
  * \n @a preference may be cloned using maps_preference_clone().
  *
@@ -303,7 +303,7 @@ int maps_preference_create(maps_preference_h *preference);
  * resources.
  * @details This function destroys the maps preference handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @return     0 on success, otherwise a negative error value
@@ -318,7 +318,7 @@ int maps_preference_destroy(maps_preference_h preference);
  * @brief      Clones the maps preference handle.
  * @details This function clones the maps preference handle @a origin and all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_preference_destroy().
  *
  * @param[in]  origin          The original preference handle
@@ -338,7 +338,7 @@ int maps_preference_clone(const maps_preference_h origin,
 /**
  * @brief      Gets the distance unit.
  * @details This function gets the maps distance unit.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] unit    The distance unit
@@ -352,7 +352,7 @@ int maps_preference_get_distance_unit(const maps_preference_h preference,
 /**
  * @brief      Gets the language.
  * @details This function gets the maps language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a language must be released using free().
  *
  * @param[in]  preference      The preference handle
@@ -367,7 +367,7 @@ int maps_preference_get_language(const maps_preference_h preference,
 /**
  * @brief      Gets the max amount of results.
  * @details This function gets the max amount of results.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] max_results     The max amount of results
@@ -381,7 +381,7 @@ int maps_preference_get_max_results(const maps_preference_h preference,
 /**
  * @brief      Gets the country code.
  * @details This function gets the country code.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a country_code must be released using free().
  *
  * @param[in]  preference      The preference handle
@@ -396,7 +396,7 @@ int maps_preference_get_country_code(const maps_preference_h preference,
 /**
  * @brief      Gets the route optimization.
  * @details This function gets the route optimization.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference              The preference handle
  * @param[out] optimization    The route optimization
@@ -410,7 +410,7 @@ int maps_preference_get_route_optimization(const maps_preference_h preference,
 /**
  * @brief      Gets the route transport mode.
  * @details This function gets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] transport_mode  The transport mode
@@ -424,7 +424,7 @@ int maps_preference_get_route_transport_mode(const maps_preference_h preference,
 /**
  * @brief      Gets the route feature weight.
  * @details This function gets the route feature weight.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] feature_weight  The feature weight
@@ -438,7 +438,7 @@ int maps_preference_get_route_feature_weight(const maps_preference_h preference,
 /**
  * @brief      Gets the route feature.
  * @details This function gets the route feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] feature         The feature
@@ -452,7 +452,7 @@ int maps_preference_get_route_feature(const maps_preference_h preference,
 /**
  * @brief      Gets the enable status of alternative routes.
  * @details This function retrieves the enable status of alternative route.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[out] enable          The enable status
@@ -466,7 +466,7 @@ int maps_preference_get_route_alternatives_enabled(const maps_preference_h prefe
 /**
  * @brief      Gets the maps preference value by key.
  * @details This function gets the maps preference value by key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a value must be released using free().
  *
  * @param[in]  preference      The preference handle
@@ -482,7 +482,7 @@ int maps_preference_get(const maps_preference_h preference,
 /**
  * @brief      Retrieves all maps properties.
  * @details This function retrieves all maps properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The properties will be delivered via
  * maps_preference_properties_cb().
  *
@@ -508,7 +508,7 @@ int maps_preference_foreach_property(const maps_preference_h preference,
 /**
  * @brief      Sets the maps distance unit.
  * @details This function sets the maps distance unit.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  unit            The distance unit
@@ -527,7 +527,7 @@ int maps_preference_set_distance_unit(maps_preference_h preference,
 /**
  * @brief      Sets the maps language.
  * @details This function sets the maps language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  language        The maps language
@@ -546,7 +546,7 @@ int maps_preference_set_language(maps_preference_h preference,
 /**
  * @brief      Sets the max amount of results.
  * @details This function sets the max amount of results.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  max_results     The max amount of results
@@ -565,7 +565,7 @@ int maps_preference_set_max_results(maps_preference_h preference,
 /**
  * @brief      Sets the maps country code.
  * @details This function sets the maps country code.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  country_code    The maps country code
@@ -584,7 +584,7 @@ int maps_preference_set_country_code(maps_preference_h preference,
 /**
  * @brief      Sets the route optimization.
  * @details This function sets the route optimization.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  optimization    The route optimization
@@ -603,7 +603,7 @@ int maps_preference_set_route_optimization(maps_preference_h preference,
 /**
  * @brief      Sets the route transport mode.
  * @details This function sets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  transport_mode  The route transport mode
@@ -622,7 +622,7 @@ int maps_preference_set_route_transport_mode(maps_preference_h preference,
 /**
  * @brief      Sets the route feature weight.
  * @details This function sets the route feature weight.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  feature_weight  The route feature weight
@@ -641,7 +641,7 @@ int maps_preference_set_route_feature_weight(maps_preference_h preference,
 /**
  * @brief      Sets the route feature.
  * @details This function sets the route feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  feature         The route feature
@@ -660,7 +660,7 @@ int maps_preference_set_route_feature(maps_preference_h preference,
 /**
  * @brief      Sets the enable status of alternative routes.
  * @details This function sets the alternative routes status.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  enable          The value to set
@@ -680,7 +680,7 @@ int maps_preference_set_route_alternatives_enabled(maps_preference_h preference,
  * @brief      Sets the preference value by key.
  * @details This function sets the preference value assigned with a specified
  * key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  preference      The preference handle
  * @param[in]  key             The key
index 9309cf1..de231ca 100644 (file)
@@ -44,7 +44,7 @@ extern "C" {
  * @details The handle of Route instance.
  * @remarks To release the handle use maps_route_destroy().
  * \n To clone the handle use maps_route_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_route_destroy()
  * @see maps_route_clone()
@@ -57,7 +57,7 @@ typedef void *maps_route_h;
  * @brief      Called when requesting the path of the Route.
  * @details This callback is invoked while iterating through the list of
  * coordinates, composing the Route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a coordinates must be released using maps_coordinates_destroy().
  * \n To use @a coordinates outside this function, clone it with
  * maps_coordinates_clone().
@@ -83,7 +83,7 @@ typedef bool(*maps_route_path_cb) (int index, int total,
  * @brief      Called when requesting the segments of the Route.
  * @details This callback is invoked while iterating through the list of
  * segments, composing the Route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a segment is valid only in this function and must be released using
  * maps_route_segment_destroy().
  * \n To use @a segment outside this function, clone it with
@@ -110,7 +110,7 @@ typedef bool(*maps_route_segment_cb) (int index, int total,
  * @brief      Called when requesting the list of Route Properties.
  * @details This callback is invoked while iterating through the list of Route
  * Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a key and @a value must be released using free() and corresponding
  * release method for property value correspondingly.
  * \n To use @a key and @a value outside this function, you should clone it.
@@ -137,7 +137,7 @@ typedef bool(*maps_route_properties_cb) (int index, int total, char *key,
  * @brief      Destroys the route handle and releases all its resources.
  * @details This function destroys the route handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  route           The route handle
  * @return     0 on success, otherwise a negative error value
@@ -152,7 +152,7 @@ int maps_route_destroy(maps_route_h route);
  * @brief      Clones the route handle.
  * @details This function clones the route handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_route_destroy().
  *
  * @param[in]  origin          The original route handle
@@ -171,7 +171,7 @@ int maps_route_clone(const maps_route_h origin, maps_route_h *cloned);
 /**
  * @brief      Gets the route id.
  * @details This function gets the route id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a id must be released using free().
  *
  * @param[in]  route           The route handle
@@ -185,7 +185,7 @@ int maps_route_get_route_id(const maps_route_h route, char **route_id);
 /**
  * @brief      Gets the route origin.
  * @details This function gets the route origin.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a origin must be released using maps_coordinates_destroy().
  *
  * @param[in]  route           The route handle
@@ -203,7 +203,7 @@ int maps_route_get_origin(const maps_route_h route,
 /**
  * @brief      Gets the route destination.
  * @details This function gets the route destination.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a destination must be released using maps_coordinates_destroy().
  *
  * @param[in]  route           The route handle
@@ -221,7 +221,7 @@ int maps_route_get_destination(const maps_route_h route,
 /**
  * @brief      Gets the route bounding box.
  * @details This function gets the route bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a bounding_box must be released using maps_area_destroy().
  *
  * @param[in]  route                   The route handle
@@ -238,7 +238,7 @@ int maps_route_get_bounding_box(const maps_route_h route,
 /**
  * @brief      Gets the route transport mode.
  * @details This function gets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  route           The route handle
  * @param[out] transport_mode  The transport mode
@@ -254,7 +254,7 @@ int maps_route_get_transport_mode(const maps_route_h route,
 /**
  * @brief      Gets the route total distance.
  * @details This function gets the route total distance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  route           The route handle
  * @param[out] total_distance  The distance of route. You can get the distance
@@ -271,7 +271,7 @@ int maps_route_get_total_distance(const maps_route_h route,
 /**
  * @brief      Gets the route total duration.
  * @details This function gets the route total duration.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  route           The route handle
  * @param[out] total_duration  The duration
@@ -287,7 +287,7 @@ int maps_route_get_total_duration(const maps_route_h route,
 /**
  * @brief      Gets the route distance units.
  * @details This function gets the route distance units.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]          route   The route handle
  * @param[out]         distance_unit   The distance units
@@ -303,7 +303,7 @@ int maps_route_get_distance_unit(const maps_route_h route,
 /**
  * @brief      Retrieves all properties.
  * @details This function retrieves all route properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The properties will be delivered via maps_route_properties_cb().
  *
  * @param[in]  route           The route handle
@@ -327,7 +327,7 @@ int maps_route_foreach_property(const maps_route_h route,
 /**
  * @brief      Retrieves all coordinates of the path.
  * @details This function retrieves all coordinates of the route path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The coordinates will be delivered via maps_route_path_cb().
  *
  * @param[in]  route           The route handle
@@ -351,7 +351,7 @@ int maps_route_foreach_path(const maps_route_h route,
 /**
  * @brief      Retrieves all segments of the route.
  * @details This function retrieves all segments of the route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The segments will be delivered via maps_route_path_cb().
  *
  * @param[in]  route           The route handle
index cd06179..9de680a 100755 (executable)
@@ -41,7 +41,7 @@ extern "C" {
  * @details The handle of Route Maneuver instance.
  * @remarks To release the handle use maps_route_maneuver_destroy().
  * \n To clone the handle use maps_route_maneuver_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_route_maneuver_destroy()
  * @see maps_route_maneuver_clone()
@@ -50,7 +50,7 @@ typedef void *maps_route_maneuver_h;
 
 /**
  * @brief The enumeration of direction type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum {
        MAPS_ROUTE_DIRECTION_NONE,              /**< Indicates unknown direction */
@@ -66,7 +66,7 @@ typedef enum {
 
 /**
  * @brief The enumeration of turn type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum {
        MAPS_ROUTE_TURN_TYPE_NONE,                      /**< Indicates unknown instruction. */
@@ -93,7 +93,7 @@ typedef enum {
  * resources.
  * @details This function destroys the route maneuver handle and releases all
  * its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maneuver        The maneuver handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -108,7 +108,7 @@ int maps_route_maneuver_destroy(maps_route_maneuver_h maneuver);
  * @brief      Clones the route maneuver handle.
  * @details This function clones the route maneuver handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_route_maneuver_destroy().
  *
  * @param[in]  origin          The original maneuver handle
@@ -128,7 +128,7 @@ int maps_route_maneuver_clone(const maps_route_maneuver_h origin,
 /**
  * @brief      Gets the route maneuver direction id.
  * @details This function gets the route maneuver direction id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maneuver        The maneuver handle
  * @param[out] direction_id    The direction ID
@@ -144,7 +144,7 @@ int maps_route_maneuver_get_direction_id(const maps_route_maneuver_h maneuver,
 /**
  * @brief      Gets the route maneuver turn type.
  * @details This function gets the route maneuver turn type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maneuver        The maneuver handle
  * @param[out] turn_type       The turn type
@@ -160,7 +160,7 @@ int maps_route_maneuver_get_turn_type(const maps_route_maneuver_h maneuver,
 /**
  * @brief      Gets the route maneuver position.
  * @details This function gets the route maneuver position.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a position must be released using maps_coordinates_destroy().
  *
  * @param[in]  maneuver        The maneuver handle
@@ -177,7 +177,7 @@ int maps_route_maneuver_get_position(const maps_route_maneuver_h maneuver,
 /**
  * @brief      Gets the road name of the route maneuver.
  * @details This function gets the road name of the route maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a road_name must be released using free().
  *
  * @param[in]  maneuver        The maneuver handle
@@ -194,7 +194,7 @@ int maps_route_maneuver_get_road_name(const maps_route_maneuver_h maneuver,
  * @brief      Gets the instruction text (narrative) of the route maneuver.
  * @details This function gets the instruction text (narrative) of the route
  * maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a instruction_text must be released using free().
  *
  * @param[in]  maneuver        The maneuver handle
@@ -210,7 +210,7 @@ int maps_route_maneuver_get_instruction_text(const maps_route_maneuver_h
 /**
  * @brief      Gets the route maneuver locale.
  * @details This function gets the route maneuver locale.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a locale must be released using free().
  *
  * @param[in]  maneuver        The maneuver handle
@@ -227,7 +227,7 @@ int maps_route_maneuver_get_locale(const maps_route_maneuver_h maneuver,
  * @brief      Gets the time to next instruction of the route maneuver.
  * @details This function gets the time to next instruction of the route
  * maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maneuver        The maneuver handle
  * @param[out] time_to_next_instruction        The time to next instruction on the
@@ -245,7 +245,7 @@ int maps_route_maneuver_get_time_to_next_instruction(const maps_route_maneuver_h
  * @brief      Gets the distance to next instruction of the route maneuver.
  * @details This function gets the distance to next instruction of the route
  * maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maneuver        The maneuver handle
  * @param[out] distance_to_next_instruction    The distance from the current
index e187732..63f3b26 100644 (file)
@@ -43,7 +43,7 @@ extern "C" {
  * @details The handle of Route Segment instance.
  * @remarks To release the handle use maps_route_segment_destroy().
  * \n To clone the handle use maps_route_segment_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_route_segment_destroy()
  * @see maps_route_segment_clone()
@@ -54,7 +54,7 @@ typedef void *maps_route_segment_h;
  * @brief      Called when requesting the path of the Route Segment.
  * @details This callback is invoked while iterating through the list of
  * coordinates, composing the Route Segment.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a coordinates must be released using maps_coordinates_destroy().
  * \n To use @a coordinates outside this function, clone it with
  * maps_coordinates_clone().
@@ -78,7 +78,7 @@ typedef bool(*maps_route_segment_path_cb) (int index, int total,
  * @brief      Called when requesting the maneuvers of the Route Segment.
  * @details This callback is invoked while iterating through the list of
  * maneuvers, composing the Route Segment.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a maneuver is valid only in this function and must be released
  * using maps_route_maneuver_destroy().
  * \n To use @a maneuver outside this function, clone it with
@@ -105,7 +105,7 @@ typedef bool(*maps_route_segment_maneuver_cb) (int index, int total,
  * @brief      Destroys the route segment handle and releases all its resources.
  * @details This function destroys the route segment handle and releases all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  segment         The segment handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -120,7 +120,7 @@ int maps_route_segment_destroy(maps_route_segment_h segment);
  * @brief      Clones the route segment handle.
  * @details This function clones the route handle @a origin and all its
  * resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_route_segment_destroy().
  *
  * @param[in]  origin          The original segment handle
@@ -140,7 +140,7 @@ int maps_route_segment_clone(const maps_route_segment_h origin,
 /**
  * @brief      Gets the route segment origin.
  * @details This function gets the route segment origin.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a origin must be released using maps_coordinates_destroy().
  *
  * @param[in]  segment         The segment handle
@@ -157,7 +157,7 @@ int maps_route_segment_get_origin(const maps_route_segment_h segment,
 /**
  * @brief      Gets the route segment destination.
  * @details This function gets the route segment destination.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a destination must be released using maps_coordinates_destroy().
  *
  * @param[in]  segment         The segment handle
@@ -174,7 +174,7 @@ int maps_route_segment_get_destination(const maps_route_segment_h segment,
 /**
  * @brief      Gets the route segment bounding box.
  * @details This function gets the route segment bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a bounding_box must be released using maps_area_destroy().
  *
  * @param[in]  segment         The segment handle
@@ -191,7 +191,7 @@ int maps_route_segment_get_bounding_box(const maps_route_segment_h segment,
 /**
  * @brief      Gets the route segment distance.
  * @details This function gets the route segment distance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  segment         The segment handle
  * @param[out] distance        The distance of segment
@@ -205,7 +205,7 @@ int maps_route_segment_get_distance(const maps_route_segment_h segment,
 /**
  * @brief      Gets the route segment duration.
  * @details This function gets the route segment duration.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  segment         The segment handle
  * @param[out] duration        The distance of segment
@@ -219,7 +219,7 @@ int maps_route_segment_get_duration(const maps_route_segment_h segment,
 /**
  * @brief      Retrieves all coordinates of the path.
  * @details This function retrieves all coordinates of the route segment path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The coordinates will be delivered via maps_route_segment_path_cb().
  *
  * @param[in]  segment         The segment handle
@@ -244,7 +244,7 @@ int maps_route_segment_foreach_path(const maps_route_segment_h segment,
 /**
  * @brief      Retrieves all maneuvers of the path.
  * @details This function retrieves all maneuvers of the route segment path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The coordinates will be delivered via
  * maps_route_segment_maneuver_cb().
  *
old mode 100644 (file)
new mode 100755 (executable)
index b5f1cd0..e9d9f81
@@ -26,7 +26,7 @@
  * @file maps_route_segment_plugin.h
  * @brief This file contains the functions related to Route Segment
  * information, needed in plug-in development.
- * @addtogroup CAPI_MAPS_ROUTE_SEGMENT_MODULE
+ * @addtogroup CAPI_MAPS_PLUGIN_ROUTE_SEGMENT_MODULE
  * @{
  * @brief This provides APIs related to Route Segment information, used
  * in Route Search, needed in plug-in development.
old mode 100644 (file)
new mode 100755 (executable)
index 7145594..00cdaa6
@@ -54,7 +54,7 @@ extern "C" {
 
 /**
  * @brief      Enumerations of maps requests available in the Maps Service
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_service_e {
        MAPS_SERVICE_GEOCODE,                                   /**< Indicates that maps_service_geocode() service is allowed */
@@ -71,12 +71,13 @@ typedef enum _maps_service_e {
        MAPS_SERVICE_SEARCH_PLACE_LIST,                 /**< Indicates that maps_service_search_place_list() service is allowed @if MOBILE (Since 3.0) @endif */
        MAPS_SERVICE_SEARCH_GET_PLACE_DETAILS,  /**< Indicates that maps_service_search_get_place_details() service is allowed @if MOBILE (Since 3.0) @endif */
 
-       MAPS_SERVICE_VIEW = 0x100                               /**< Indicates that maps view service is allowed @if MOBILE (Since 3.0) @endif */
+       MAPS_SERVICE_VIEW = 0x100,                              /**< Indicates that maps view service is allowed @if MOBILE (Since 3.0) @endif */
+       MAPS_SERVICE_VIEW_SNAPSHOT                              /**< Indicates that maps view snapshot service is allowed @if MOBILE (Since 3.0) @endif */
 } maps_service_e;
 
 /**
  * @brief Enumerations of maps features available in the Maps Service
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_service_data_e {
        MAPS_PLACE_ADDRESS,                             /**< Indicates the availability of address value in the Place data */
@@ -103,7 +104,7 @@ typedef enum _maps_service_data_e {
  * @brief      The Maps Service handle
  * @details The Maps Service handle can be created by calling of maps_service_create().
  * \n To release the handle use maps_service_destroy().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_service_create()
  * @see maps_service_destroy()
@@ -114,7 +115,7 @@ typedef void *maps_service_h;
 /**
  * @brief      Called when requesting available Maps Providers.
  * @details A Maps Service invokes this callback iteratively as long as available Maps Providers exist.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The string @a maps_provider must be released using free().
  *
  * @param[in]  maps_provider   The info of Maps Provider
@@ -135,7 +136,7 @@ typedef bool(*maps_service_provider_info_cb) (char *maps_provider,
  * @brief      Gets available Maps Providers.
  * @details This function delivers available Maps Providers via
  * maps_service_provider_info_cb() callback.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  callback        The callback function to receive available Maps Providers
  * information
@@ -160,7 +161,7 @@ int maps_service_foreach_provider(maps_service_provider_info_cb callback,
  * and linked with Maps Service handle.
  * \n A Maps Service handle is used to query Maps Provider performing services,
  * such as Geocoding, Searching Places and Routing.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/network.get
@@ -205,7 +206,7 @@ int maps_service_create(const char *maps_provider, maps_service_h *maps);
 /**
  * @brief      Destroys the Maps Service handle and releases all its resources.
  * @details This function releases all used resources of the Maps Service and Maps Provider.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice
  *
@@ -227,7 +228,7 @@ int maps_service_destroy(maps_service_h maps);
  * @details This function sets the Maps Provider's Key which will be used in each Maps
  * Service request to Maps Provider.
  * \n Maps key can be obtained with maps_service_get_provider_key().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks To get the @a provider_key, refer to corresponding Maps Provider
  * documentation.
  * \n To get app_id and app_code of HERE, visit https://developer.here.com/,
@@ -256,7 +257,7 @@ int maps_service_set_provider_key(maps_service_h maps,
  * @details This function gets the Maps Key which is to be used in each Maps
  * Service request to Maps Provider.
  * \n Maps key can be set with maps_service_set_provider_key().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The string @a provider_key must be released using free().
  * \n @a maps_service_get_provider_key is always synchronous function.
  *
@@ -279,7 +280,7 @@ int maps_service_get_provider_key(const maps_service_h maps,
  * @brief      Sets the Maps Preference.
  * @details This function sets the Maps Preferences which are used in each Maps
  * Service request to Maps Provider.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  maps            The handle of Maps Service
  * @param[in]  preference      The handle of Maps Preference
@@ -302,7 +303,7 @@ int maps_service_set_preference(maps_service_h maps,
  * @details This function gets the Maps Preferences which are used in each Maps
  * Service request to Maps Provider.
  * \n Preferences can be set with maps_service_set_preference().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a preference must be released using maps_preference_destroy().
  * \n @a maps_service_get_preference is always synchronous function.
  *
@@ -324,7 +325,7 @@ int maps_service_get_preference(maps_service_h maps,
 /**
  * @brief      Checks if the Maps Service supports a request.
  * @details This function checks if the Maps Service supports a specified request.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a maps_service_provider_is_service_supported is always synchronous
  * function.
  *
@@ -348,7 +349,7 @@ int maps_service_provider_is_service_supported(const maps_service_h maps,
  * @brief      Checks if the Maps Service supports a data feature.
  * @details This function checks if the Maps Service supports a specified data
  * feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a maps_service_provider_is_data_supported is always synchronous
  * function.
  *
@@ -379,7 +380,7 @@ int maps_service_provider_is_data_supported(const maps_service_h maps,
  * @details This function cancels the service request initiated by geocoding
  * and searching places and routes.
 
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice
  *
@@ -437,7 +438,24 @@ int maps_service_cancel_request(const maps_service_h maps, int request_id);
  * @ingroup    CAPI_MAPS_SERVICE_MODULE
  * @defgroup   CAPI_MAPS_GEOCODER_MODULE Geocoder
  *
- * @addtogroup CAPI_MAPS_GEOCODER_MODULE
+ * @if WEARABLE
+ * @section    CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ *  - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_GEOCODER_MODULE
  * @{
  * @brief This provides APIs for Geocoder Service
  * @details The Maps Geocoding API allows translating an address to its
@@ -456,7 +474,7 @@ int maps_service_cancel_request(const maps_service_h maps, int request_id);
  * @details The Maps Service invokes this callback while iterating through the
  * list of obtained coordinates of the specified place.
  * \n If search is failed, the value of @a total is 0 and @a coordinates is NULL
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The parameter @a coordinates must be released using
  * maps_coordinates_destroy().
  * \n This error code will be reported. \n
@@ -501,7 +519,7 @@ typedef bool(*maps_service_geocode_cb) (maps_error_e result, int request_id,
  *                     #MAPS_ERROR_OUT_OF_MEMORY \n
  *                     #MAPS_ERROR_INVALID_PARAMETER \n
  *                     #MAPS_ERROR_NOT_FOUND.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  result          The result of request
  * @param[in]  request_id      The id of request
@@ -528,7 +546,7 @@ typedef void (*maps_service_reverse_geocode_cb) (maps_error_e result,
  * \n The request is asynchronous.
  * @details This function obtains position coordinates for a given free-formed
  * address string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -579,7 +597,7 @@ int maps_service_geocode(const maps_service_h maps, const char *address,
  * \n The request is asynchronous.
  * @details This function obtains position coordinates for a given free-formed
  * address string within the specified bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -636,7 +654,7 @@ int maps_service_geocode_inside_area(const maps_service_h maps,
  * \n The request is asynchronous.
  * @details This function obtains position coordinates for a given structured
  * address.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -690,7 +708,7 @@ int maps_service_geocode_by_structured_address(const maps_service_h maps,
  * \n The request is asynchronous.
  * @details This function obtains structured address information for a given
  * position coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -741,7 +759,7 @@ int maps_service_reverse_geocode(const maps_service_h maps, double latitude,
  * from map service provider.
  * \n The value of @a total is same with requested coordinates list size.
  * Even though one of address is not provided valid address handle is retrieved.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks    You can get the respective address information of @a address_list
  * using maps_address_list_foreach().
  * \n This error code will be reported. \n
@@ -776,7 +794,7 @@ typedef bool (*maps_service_multi_reverse_geocode_cb) (maps_error_e result,
  * @brief      Gets the address list for a given position coordinates list.
  * \n The request is asynchronous.
  * @details This function obtains structured address information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -833,7 +851,24 @@ int maps_service_multi_reverse_geocode(const maps_service_h maps,
  * @ingroup    CAPI_MAPS_SERVICE_MODULE
  * @defgroup   CAPI_MAPS_PLACE_MODULE Places
  *
- * @addtogroup CAPI_MAPS_PLACE_MODULE
+ * @if WEARABLE
+ * @section    CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ *  - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_PLACE_MODULE
  * @{
  * @brief This provides APIs for Place Service
  * @details The Maps Place API allows to find places that are relevant to user
@@ -846,7 +881,7 @@ int maps_service_multi_reverse_geocode(const maps_service_h maps,
  * @details The Maps Service invokes this callback while iterating through the
  * set of obtained Place data.
  * \n If search is failed, the value of @a total is 0 and @a place is NULL
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The parameter @a place must be released using maps_place_destroy().
  * \n This error code will be reported. \n
  *                     #MAPS_ERROR_NONE \n
@@ -883,7 +918,7 @@ typedef bool(*maps_service_search_place_cb) (maps_error_e error,
  * @details The Maps Service invokes this callback when the Place data obtained
  * from the specified coordinates.
  * \n If search is failed, the value of @a total is 0 and @a place_list is NULL
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks    The parameter @a place_list must be released using maps_place_list_destroy().
  * \n This error code will be reported. \n
  *                     #MAPS_ERROR_NONE \n
@@ -910,7 +945,7 @@ typedef void(*maps_service_search_place_list_cb) (maps_error_e error,
  * @details The Maps Service invokes this callback when the Place detail data
  * obtained from the specified uri.
  * \n If search is failed, @a place is NULL
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The parameter @a place must be released using maps_place_destroy().
  * \n This error code will be reported. \n
  *                     #MAPS_ERROR_NONE \n
@@ -936,7 +971,7 @@ typedef void(*maps_service_get_place_details_cb) (maps_error_e error,
  * \n The request is asynchronous.
  * @details This function obtains the Place information for a specified distance
  * around a given coordinates position.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -995,7 +1030,7 @@ int maps_service_search_place(const maps_service_h maps,
  * \n The request is asynchronous.
  * @details This function obtains the Place information for a specified
  * coordinates boundary.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -1055,7 +1090,7 @@ int maps_service_search_place_by_area(const maps_service_h maps,
  * \n The request is asynchronous.
  * @details This function obtains the Place information for a specified
  * free-formed address string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -1116,7 +1151,7 @@ int maps_service_search_place_by_address(const maps_service_h maps,
  * @brief      Queries a brief Place information by a coordinates boundary.
  * /n The request is asynchronous.
  * @details This function obtains the brief Place information for a specified coordinates boundary.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -1166,7 +1201,7 @@ int maps_service_search_place_list(const maps_service_h maps,
  * @brief      Queries a Detail place information by a place uri.
  * \n The request is asynchronous.
  * @details This function obtains the Detail place information for a specified place uri
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -1221,7 +1256,24 @@ int maps_service_get_place_details(const maps_service_h maps,
  * @ingroup    CAPI_MAPS_SERVICE_MODULE
  * @defgroup   CAPI_MAPS_ROUTE_MODULE Routes
  *
- * @addtogroup CAPI_MAPS_ROUTE_MODULE
+ * @if WEARABLE
+ * @section    CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ *  - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_ROUTE_MODULE
  * @{
  * @brief This provides APIs for Route Service
  * @details The Maps Route API provides functions to calculate a route that
@@ -1235,7 +1287,7 @@ int maps_service_get_place_details(const maps_service_h maps,
  * @details The Maps Service invokes this callback while iterating through the
  * set of obtained Routes.
  * \n If search is failed, the value of @a total is 0 and @a route is NULL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @remarks The parameter @a route must be released using maps_route_destroy().
  * \n This error code will be reported. \n
  *                     #MAPS_ERROR_NONE \n
@@ -1271,7 +1323,7 @@ typedef bool(*maps_service_search_route_cb) (maps_error_e error,
  * \n The request is asynchronous.
  * @details This function gets the Route information for a specified origin and
  * destination coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -1325,7 +1377,7 @@ int maps_service_search_route(const maps_service_h maps,
  * \n The request is asynchronous.
  * @details This function gets the Route information for the Route, passing
  * through a specified set of way points.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
old mode 100644 (file)
new mode 100755 (executable)
index eb6fe1b..e85240e
  * @ingroup    CAPI_MAPS_SERVICE_MODULE
  * @defgroup   CAPI_MAPS_VIEW_MODULE View
  *
+ * @if WEARABLE
+ * @section    CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ *  - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
  * @file maps_view.h
  * @brief This file contains the top level functions of View API
  *
@@ -55,7 +72,7 @@ extern "C" {
  * @brief      The View handle
  * @details The handle of View instance.
  * @remarks To release the handle use maps_view_destroy().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_view_create()
  * @see maps_view_destroy()
@@ -64,20 +81,20 @@ typedef void *maps_view_h;
 
 /**
  * @brief      Enumeration of View types (themes)
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_view_type_e {
-       MAPS_VIEW_TYPE_NORMAL,    /** Indicates the normal street theme */
-       MAPS_VIEW_TYPE_SATELLITE, /** Indicates the satellite theme */
-       MAPS_VIEW_TYPE_TERRAIN,   /** Indicates the terrain theme */
-       MAPS_VIEW_TYPE_HYBRID,    /** Indicates the hybrid theme which is the satellite and normal street theme */
+       MAPS_VIEW_TYPE_NORMAL,    /**< Indicates the normal street theme */
+       MAPS_VIEW_TYPE_SATELLITE, /**< Indicates the satellite theme */
+       MAPS_VIEW_TYPE_TERRAIN,   /**< Indicates the terrain theme */
+       MAPS_VIEW_TYPE_HYBRID,    /**< Indicates the hybrid theme which is the satellite and normal street theme */
 } maps_view_type_e;
 
 /**
  * @brief      Called when requesting the list of visual objects of the View.
  * @details This callback is invoked while iterating through the list of
  * visual objects, added to the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  index           The current index of the visual object, start from 0
  * @param[in]  total           The total amount of visual objects
@@ -96,7 +113,7 @@ typedef bool(*maps_view_object_cb) (int index, int total, maps_view_object_h obj
 /**
  * @brief      Called when the View event occurs.
  * @details The View Panel invokes this callback when the map event occurs.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a event_data will be released automatically after this callback is terminated.
  * \n To use @a event_data outside this function, clone it with maps_view_event_data_clone().
  *
@@ -130,13 +147,13 @@ typedef void(*maps_view_on_event_cb) (maps_view_event_type_e type, maps_view_eve
  * maps_view_set_zoom_level() and maps_view_set_orientation() respectively.
  * \n To change View theme, size and visibility properties use
  * maps_view_set_type() and maps_view_set_visibility() respectively.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice
  * @remarks The @a View must be released using maps_view_destroy().
  *
  * @param[in]  maps    The maps service handle
- * @param[in]  obj             The image object
+ * @param[in]  obj             The evas object to be drawn
  * @param[out] view    The handle pointer to a maps_view_h,
  * in which to store the newly created View handle
  * @return     0 on success, otherwise a negative error value
@@ -146,6 +163,7 @@ typedef void(*maps_view_on_event_cb) (maps_view_event_type_e type, maps_view_eve
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a maps is created using maps_service_create().
+ * @pre @a obj is recommended using a smart object.
  *
  * @see maps_view_destroy()
  * @see maps_service_create()
@@ -154,14 +172,15 @@ typedef void(*maps_view_on_event_cb) (maps_view_event_type_e type, maps_view_eve
  * @see maps_view_set_orientation()
  * @see maps_view_set_type()
  * @see maps_view_set_visibility()
+ * @see elm_layout_add()
  */
-int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_h *view);
+int maps_view_create(maps_service_h maps, Evas_Object *obj, maps_view_h *view);
 
 /**
  * @brief      Destroys the View.
  * @details This function destroys the View, releases its handle and
  * all allocated resources, unlinks the View from the instance of maps service.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice
  *
@@ -185,7 +204,7 @@ int maps_view_destroy(maps_view_h view);
  * @brief      Centers the map on a given geographical coordinates.
  * @details This function centers the map on a given geographical coordinates
  * using current zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -200,6 +219,7 @@ int maps_view_destroy(maps_view_h view);
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  * @pre @a coordinates are created using maps_coordinates_create().
@@ -215,7 +235,7 @@ int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates);
 /**
  * @brief      Gets the central coordinates of a map.
  * @details This function gets the current central coordinates of a map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The @a coordinates must be released using maps_coordinates_destroy().
  *
  * @param[in]  view            The view handle
@@ -243,7 +263,7 @@ int maps_view_get_center(const maps_view_h view, maps_coordinates_h *coordinates
  * the function returns #MAPS_ERROR_INVALID_PARAMETER error.
  * \n To check the range of allowed zoom level use maps_view_get_min_zoom_level()
  * and maps_view_get_max_zoom_level().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -257,6 +277,7 @@ int maps_view_get_center(const maps_view_h view, maps_coordinates_h *coordinates
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -271,7 +292,7 @@ int maps_view_set_zoom_level(maps_view_h view, int level);
 /**
  * @brief      Gets zoom level of the map.
  * @details This function gets the current integer zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] level           The pointer to an integer in which to store the
@@ -290,9 +311,35 @@ int maps_view_set_zoom_level(maps_view_h view, int level);
 int maps_view_get_zoom_level(const maps_view_h view, int *level);
 
 /**
+ * @brief      Sets the minimal zoom level of the map.
+ * @details This function sets the minimally allowed zoom level of the map.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ *
+ * @param[in]  view    The view handle
+ * @param[out] level   The new minimal zoom level
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ *
+ * @pre @a view is created using maps_view_create().
+ *
+ * @see maps_view_get_min_zoom_level()
+ * @see maps_view_set_max_zoom_level()
+ * @see maps_view_get_max_zoom_level()
+ * @see maps_view_get_zoom_level()
+ * @see maps_view_set_zoom_level()
+ * @see maps_view_create()
+ */
+int maps_view_set_min_zoom_level(maps_view_h view, int level);
+
+/**
  * @brief      Gets the minimal zoom level of the map.
  * @details This function gets the minimally allowed zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] min_zoom_level  The pointer to an integer in which to store the
@@ -312,9 +359,35 @@ int maps_view_get_zoom_level(const maps_view_h view, int *level);
 int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoom_level);
 
 /**
+ * @brief      Sets the maximal zoom level of the map.
+ * @details This function sets the maximally allowed zoom level of the map.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ *
+ * @param[in]  view    The view handle
+ * @param[out] level   The new maximal zoom level
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ *
+ * @pre @a view is created using maps_view_create().
+ *
+ * @see maps_view_set_min_zoom_level()
+ * @see maps_view_get_min_zoom_level()
+ * @see maps_view_get_max_zoom_level()
+ * @see maps_view_get_zoom_level()
+ * @see maps_view_set_zoom_level()
+ * @see maps_view_create()
+ */
+int maps_view_set_max_zoom_level(maps_view_h view, int level);
+
+/**
  * @brief      Gets the maximal zoom level of the map.
  * @details This function gets the maximally allowed zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] max_zoom_level  The pointer to an integer in which to store the
@@ -338,7 +411,7 @@ int maps_view_get_max_zoom_level(const maps_view_h view, int *max_zoom_level);
  * @details This function sets the rotation angle of the View.
  * \n If the specified rotation angle exceeds the [0..360] range, the
  * function returns #MAPS_ERROR_INVALID_PARAMETER error.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -352,6 +425,7 @@ int maps_view_get_max_zoom_level(const maps_view_h view, int *max_zoom_level);
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -364,7 +438,7 @@ int maps_view_set_orientation(maps_view_h view, double angle);
 /**
  * @brief      Gets the orientation.
  * @details This function gets the current map rotation angle on the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] rotation_angle  The pointer to a double in which to store the
@@ -388,7 +462,9 @@ int maps_view_get_orientation(const maps_view_h view, double *rotation_angle);
  * @brief      Converts screen coordinates to the geographical coordinates.
  * @details This function converts screen coordinates to the geographical
  * coordinates accordingly to the current map zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
  * @remarks The @a coordinates must be released using maps_coordinates_destroy().
  *
  * @param[in]  view            The view handle
@@ -401,6 +477,7 @@ int maps_view_get_orientation(const maps_view_h view, double *rotation_angle);
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_OUT_OF_MEMORY Out of memory
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -416,7 +493,9 @@ int maps_view_screen_to_geolocation(maps_view_h view,
  * @brief      Converts geographical coordinates to the screen coordinates.
  * @details This function converts geographical coordinates to the screen
  * coordinates accordingly to the current map zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
  *
  * @param[in]  view            The view handle
  * @param[in]  coordinates     The geographical coordinates
@@ -427,6 +506,7 @@ int maps_view_screen_to_geolocation(maps_view_h view,
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a view is created using maps_view_create().
  * @pre @a coordinates is created using maps_coordinates_create().
@@ -447,7 +527,7 @@ int maps_view_geolocation_to_screen(maps_view_h view,
  * @brief      Sets View type.
  * @details This function switches the View to a specified type, one of
  * listed in #maps_view_type_e enumeration.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -461,6 +541,7 @@ int maps_view_geolocation_to_screen(maps_view_h view,
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -475,7 +556,7 @@ int maps_view_set_type(maps_view_h view, maps_view_type_e type);
  * @brief      Gets View type.
  * @details This function gets the type of the given View.
  * \n The type options are defined in the #maps_view_type_e enumeration.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] type            The pointer to a #maps_view_type_e in which to
@@ -497,7 +578,7 @@ int maps_view_get_type(const maps_view_h view, maps_view_type_e *type);
  * @brief      Indicates whether the map should show the 3D buildings layer.
  * @details This function is called to indicate whether 3D buildings
  * should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -527,7 +608,7 @@ int maps_view_set_buildings_enabled(maps_view_h view, bool enable);
 /**
  * @brief      Queries whether the map has the 3D buildings layer enabled.
  * @details    This function checks whether the map is set to show the 3D buildings layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view    The view handle
  * @param[out] enable  The pointer to a boolean in which to store the enable status
@@ -547,7 +628,7 @@ int maps_view_get_buildings_enabled(const maps_view_h view, bool *enable);
  * @brief      Indicates whether the map should show the traffic layer.
  * @details This function is called to indicate whether traffic conditions
  * should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -577,7 +658,7 @@ int maps_view_set_traffic_enabled(maps_view_h view, bool enable);
 /**
  * @brief      Queries whether the map has the traffic layer enabled.
  * @details    This function checks whether the map is set to show the traffic layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view    The view handle
  * @param[out] enable  The pointer to a boolean in which to store the enable status
@@ -597,7 +678,7 @@ int maps_view_get_traffic_enabled(const maps_view_h view, bool *enable);
  * @brief      Indicates whether the map should show the public transit layer.
  * @details This function is called to indicate whether public transit routes
  * should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -627,7 +708,7 @@ int maps_view_set_public_transit_enabled(maps_view_h view, bool enable);
 /**
  * @brief      Queries whether the map has the public transit layer enabled.
  * @details    This function checks whether the map is set to show the public transit routes layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view    The view handle
  * @param[out] enable  The pointer to a boolean in which to store the enable status
@@ -648,7 +729,7 @@ int maps_view_get_public_transit_enabled(const maps_view_h view, bool *enable);
  * @details This function sets the language to the given View.
  * \n Note that map display language is different from places and route
  * language.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -671,6 +752,7 @@ int maps_view_get_public_transit_enabled(const maps_view_h view, bool *enable);
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -685,7 +767,7 @@ int maps_view_set_language(maps_view_h view, const char *language);
  * @details This function gets the language set to the View.
  * \n Note that map display language is different from places and route language.
  * @remarks The @a language should be freed using free().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] language        The pointer to a char* in which to store the
@@ -706,7 +788,7 @@ int maps_view_get_language(const maps_view_h view, char **language);
 /**
  * @brief      Enables or disables scalebar.
  * @details This function enables or disables scalebar.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -732,7 +814,7 @@ int maps_view_set_scalebar_enabled(maps_view_h view, bool enable);
 /**
  * @brief      Gets whether the scalebar is enabled or not.
  * @details This function gets whether the scale bar is enabled or not.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view    The view handle
  * @param[out] enabled The pointer to a boolean in which to store the enable status
@@ -753,11 +835,11 @@ int maps_view_get_scalebar_enabled(const maps_view_h view, bool *enabled);
 
 /**
  * @brief      Gets the View port.
- * @details This function gets the View port as a pointer on Evas_Image.
- * @since_tizen 3.0
+ * @details This function gets the View port as a pointer on Evas_Object.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
- * @param[out] viewport        The pointer to Evas_Image in which to store
+ * @param[out] viewport        The pointer to Evas_Object in which to store
  * the View port
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
@@ -768,7 +850,7 @@ int maps_view_get_scalebar_enabled(const maps_view_h view, bool *enabled);
  * @see maps_view_create()
  * @see Evas_Object
  */
-int maps_view_get_viewport(const maps_view_h view, Evas_Image **viewport);
+int maps_view_get_viewport(const maps_view_h view, Evas_Object **viewport);
 
 /**
  * @brief      Sets geometry of View port.
@@ -776,7 +858,7 @@ int maps_view_get_viewport(const maps_view_h view, Evas_Image **viewport);
  * View.
  * \n The position, naturally, will be relative to the top left corner of the
  * parent window.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -793,6 +875,7 @@ int maps_view_get_viewport(const maps_view_h view, Evas_Image **viewport);
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -809,7 +892,7 @@ int maps_view_set_screen_location(maps_view_h view, int x, int y, int width, int
  * \n The position, naturally, will be relative to the top left corner of the parent window.
  * @remarks Use NULL pointers on the geometry components you're not
  * interested in.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view    The view handle
  * @param[out] x       X screen coordinate for the top left corner of View
@@ -833,7 +916,7 @@ int maps_view_get_screen_location(const maps_view_h view, int *x, int *y, int *w
  * @brief      Moves the View.
  * @details This function moves View.
  * @remarks Newly created View port has the size of its parent.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[in]  width           The new new width, in screen units
@@ -855,7 +938,7 @@ int maps_view_move(maps_view_h view, int x, int y);
  * @brief      Resizes the View.
  * @details This function changes the size of the given View.
  * @remarks Newly created View port has the size of its parent.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/mapservice \n
  *            %http://tizen.org/privilege/internet \n
@@ -870,6 +953,7 @@ int maps_view_move(maps_view_h view, int x, int y);
  * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
  * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval     #MAPS_ERROR_NOT_SUPPORTED Not supported
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -883,20 +967,13 @@ int maps_view_resize(maps_view_h view, int width, int height);
 /**
  * @brief      Shows or hides the View.
  * @details This function changes the visibility of View on the screen.
- * @since_tizen 3.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mapservice \n
- *            %http://tizen.org/privilege/internet \n
- *            %http://tizen.org/privilege/network.get
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[in]  visible         The new visibility of the View
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
- * @retval     #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
- * @retval     #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
  *
  * @pre @a view is created using maps_view_create().
  *
@@ -909,7 +986,7 @@ int maps_view_set_visibility(maps_view_h view, bool visible);
 /**
  * @brief      Gets the View visibility.
  * @details This function retrieves whether or not the given View is visible.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[out] visible         The pointer to a boolean in which to store the
@@ -933,7 +1010,7 @@ int maps_view_get_visibility(const maps_view_h view, bool *visible);
  * @brief      Sets the event callback.
  * @details This function sets the callback which will be invoked every time the
  * View processes the user's gesture, action and objects over the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks To unregister the callback use maps_view_unset_event_cb().
  *
  * @param[in]  view            The view handle
@@ -957,7 +1034,7 @@ int maps_view_set_event_cb(maps_view_h view, maps_view_event_type_e type,
 /**
  * @brief      Unsets the event callback.
  * @details This function unsets the event callback.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[in]  type            The event type
@@ -977,7 +1054,7 @@ int maps_view_unset_event_cb(maps_view_h view, maps_view_event_type_e type);
 /**
  * @brief      Enables or disables the map gesture.
  * @details This function enables or disables the map gesture.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[in]  gesture         The user gesture, one of listed in #maps_gesture_e
@@ -997,7 +1074,7 @@ int maps_view_set_gesture_enabled(maps_view_h view, maps_view_gesture_e gesture,
 /**
  * @brief      Checks whether the map gesture is enabled or not.
  * @details This function checks whether the map gesture is enabled or not.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  view            The view handle
  * @param[in]  gesture         The user gesture, one of listed in #maps_gesture_e
@@ -1022,7 +1099,9 @@ int maps_view_get_gesture_enabled(const maps_view_h view, maps_view_gesture_e ge
 /**
  * @brief      Adds a visual object on the map.
  * @details This function adds a visual object on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
  * @remarks The @a object handle will be released automatically when the view is
  * destroyed in the maps_view_destroy().
  *
@@ -1031,6 +1110,7 @@ int maps_view_get_gesture_enabled(const maps_view_h view, maps_view_gesture_e ge
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a view is created using maps_view_create().
  * @pre @a object is created using #maps_view_object_create_marker(),
@@ -1050,7 +1130,9 @@ int maps_view_add_object(maps_view_h view, maps_view_object_h object);
 /**
  * @brief      Removes a visual object from the map.
  * @details This function removes a visual object from the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
  * @remarks The @a object handle will be released automatically by the View.
  *
  * @param[in]  view            The view handle
@@ -1058,6 +1140,7 @@ int maps_view_add_object(maps_view_h view, maps_view_object_h object);
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a view is created using maps_view_create().
  * @pre @a object is added using maps_view_add_object().
@@ -1072,13 +1155,16 @@ int maps_view_remove_object(maps_view_h view, maps_view_object_h object);
 /**
  * @brief      Removes all visual objects from the map.
  * @details This function removes all visual object from the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
  * @remarks All object handles will be released automatically by the View.
  *
  * @param[in]  view            The view handle
  * @return     0 on success, otherwise a negative error value
  * @retval     #MAPS_ERROR_NONE Successful
  * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
  *
  * @pre @a view is created using maps_view_create().
  * @pre objects are added using maps_view_add_object().
@@ -1093,7 +1179,7 @@ int maps_view_remove_all_objects(maps_view_h view);
 /**
  * @brief      Retrieves all visual objects on the map.
  * @details This function retrieves all visual objects, previously added to the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The objects will be delivered via maps_view_object_cb().
  *
  * @param[in]  view            The view handle
@@ -1118,6 +1204,16 @@ int maps_view_remove_all_objects(maps_view_h view);
  */
 int maps_view_foreach_object(const maps_view_h view, maps_view_object_cb callback, void *user_data);
 
+
+
+/*----------------------------------------------------------------------------*/
+/*
+ * Snapshot Capture Service
+ */
+
+#include <maps_view_snapshot.h>
+
+
 /**
  * @}
  */
index 998030f..fa4bfd6 100644 (file)
@@ -51,6 +51,7 @@
  * | maps_view_event_data_get_center()         |         | +      |        |       |
  * | maps_view_event_data_get_delta()          |         | +      |        |       |
  * | maps_view_event_data_get_position()       | +       |        | +      |       |
+ * | maps_view_event_data_get_coordinates()    | +       |        |        |       |
  * | maps_view_event_data_get_fingers()        | +       |        | +      |       |
  * | maps_view_event_data_get_zoom_factor()    | +       | +      |        |       |
  * | maps_view_event_data_get_rotation_angle() | +       | +      |        |       |
@@ -76,7 +77,7 @@ extern "C" {
  * @details The handle of View Event Data instance.
  * @remarks To release the handle use maps_view_event_data_destroy().
  * \n To clone the handle use maps_view_event_data_clone().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_view_event_data_destroy()
  * @see maps_view_event_data_clone()
@@ -86,7 +87,7 @@ typedef void *maps_view_event_data_h;
 /**
  * @brief      Enumerations of View actions
  * @details This is an enumeration of View actions is capable to perform.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The View performs actions in response on user gestures, such as tap,
  * zoom, long press, or APIs, such as set center or change zoom level.
  * \n To re-assign View actions to user gestures use maps_view_set_gesture_action().
@@ -105,7 +106,7 @@ typedef enum _maps_view_action_e {
 
 /**
  * @brief      Enumeration of user gestures over View
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_view_gesture_e {
        MAPS_VIEW_GESTURE_NONE,               /**< Indicates the empty gesture */
@@ -114,26 +115,26 @@ typedef enum _maps_view_gesture_e {
        MAPS_VIEW_GESTURE_TAP,                /**< Indicates the tap user gesture */
        MAPS_VIEW_GESTURE_DOUBLE_TAP,         /**< Indicates the double tap user gesture */
        MAPS_VIEW_GESTURE_2_FINGER_TAP,       /**< Indicates the two-finger tap user gesture */
-       MAPS_VIEW_GESTURE_ROTATE,               /** Indicates the rotation user gesture */
+       MAPS_VIEW_GESTURE_ROTATE,             /**< Indicates the rotation user gesture */
        MAPS_VIEW_GESTURE_LONG_PRESS,         /**< Indicates the long press user gesture */
 } maps_view_gesture_e;
 
 /**
  * @brief      Enumerations of map event types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_view_event_type_e {
-       MAPS_VIEW_EVENT_GESTURE, /** Indicates the gesture event callback */
-       MAPS_VIEW_EVENT_ACTION,  /** Indicates the action callback */
-       MAPS_VIEW_EVENT_OBJECT,  /** Indicates the object event callback */
-       MAPS_VIEW_EVENT_READY    /** Indicates the View readiness callback */
+       MAPS_VIEW_EVENT_GESTURE, /**< Indicates the gesture event callback */
+       MAPS_VIEW_EVENT_ACTION,  /**< Indicates the action callback */
+       MAPS_VIEW_EVENT_OBJECT,  /**< Indicates the object event callback */
+       MAPS_VIEW_EVENT_READY    /**< Indicates the View readiness callback */
 } maps_view_event_type_e;
 
 /**
  * @brief      Destroys the event data handle.
  * @details This function destroys the event data handle and releases all its
  * resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -151,7 +152,7 @@ int maps_view_event_data_destroy(maps_view_event_data_h event);
  * @brief      Clones the event handle.
  * @details This function clones the event handle @a origin and all its
  * resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a cloned must be released using maps_view_event_data_destroy().
  *
  * @param[in]  origin          The original event handle
@@ -172,7 +173,7 @@ int maps_view_event_data_clone(const maps_view_event_data_h origin, maps_view_ev
 /**
  * @brief      Gets the event type.
  * @details This function gets the event type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] event_type      The pointer to the #maps_view_event_type_e in which
@@ -195,7 +196,7 @@ int maps_view_event_data_get_type(const maps_view_event_data_h event, maps_view_
  * @details This function gets the event gesture type if the event type is #MAPS_VIEW_EVENT_GESTURE
  * or #MAPS_VIEW_EVENT_OBJECT.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] gesture_type    The pointer to the #maps_view_gesture_e in which to
@@ -217,7 +218,7 @@ int maps_view_event_data_get_gesture_type(const maps_view_event_data_h event, ma
  * @brief      Gets the event action type.
  * @details This function gets the event action type if the event type is #MAPS_VIEW_EVENT_ACTION.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] action_type     The pointer to the #maps_view_action_e in which to
@@ -240,7 +241,8 @@ int maps_view_event_data_get_action_type(const maps_view_event_data_h event, map
  * @details This function gets the new map center coordinates if the event type is
  * #MAPS_VIEW_EVENT_ACTION.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @remarks The @a center should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] center          The pointer to the #maps_coordinates_h in which
@@ -264,7 +266,7 @@ int maps_view_event_data_get_center(const maps_view_event_data_h event, maps_coo
  * @details This function gets the screen coordinates delta of map center
  * movement if the event type is #MAPS_VIEW_EVENT_ACTION.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] delta_x         The pointer to an integer in which to store the delta x
@@ -287,7 +289,7 @@ int maps_view_event_data_get_delta(const maps_view_event_data_h event, int *delt
  * @details This function gets the event screen coordinates if the event type is
  * #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_OBJECT.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event   The event data handle
  * @param[out] x               The pointer to an integer in which to store the x position of the event
@@ -306,11 +308,34 @@ int maps_view_event_data_get_delta(const maps_view_event_data_h event, int *delt
 int maps_view_event_data_get_position(const maps_view_event_data_h event, int *x, int *y);
 
 /**
+ * @brief      Gets the event geographic coordinates.
+ * @details This function gets the event geographic coordinates if the event type is #MAPS_VIEW_EVENT_GESTURE.
+ * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
+ * @remarks The @a coordinates should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  event   The event data handle
+ * @param[out] coordinates     The pointer to the #maps_coordinates_h in which to store the coordinates
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a event may be obtained in maps_view_on_event_cb()
+ *
+ * @see #maps_view_event_type_e
+ * @see #maps_view_event_data_h
+ * @see #maps_coordinates_h
+ * @see maps_view_event_data_get_type()
+ * @see maps_view_on_event_cb()
+ */
+int maps_view_event_data_get_coordinates(const maps_view_event_data_h event, maps_coordinates_h *coordinates);
+
+/**
  * @brief      Gets the number of fingers, detected in the event.
  * @details This function gets the number of user's fingers, detected in the
  * event if the event type is #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_OBJECT.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] fingers         The pointer to an integer in which to store the
@@ -333,7 +358,7 @@ int maps_view_event_data_get_fingers(const maps_view_event_data_h event, int *fi
  * @details This function gets the corresponding zoom factor if the event type is
  * #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_ACTION.
  * Otherwise it returns the #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] zoom_factor     The pointer to a double in which to store the zoom factor
@@ -355,7 +380,7 @@ int maps_view_event_data_get_zoom_factor(const maps_view_event_data_h event, dou
  * @details This function gets the corresponding rotation angle if the event type is
  * #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_ACTION.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  event           The event data handle
  * @param[out] rotation_angle  The pointer to a double in which to store the rotation angle
@@ -377,7 +402,7 @@ int maps_view_event_data_get_rotation_angle(const maps_view_event_data_h event,
  * @details When the event type is #MAPS_VIEW_EVENT_OBJECT, this function gets
  * the corresponding object handle.
  * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The @a object must not be released.
  *
  * @param[in]  event           The event data handle
index ad18b07..f66d050 100644 (file)
@@ -18,6 +18,7 @@
 #ifndef __MAPS_VIEW_OBJECT_H__
 #define __MAPS_VIEW_OBJECT_H__
 
+#include <Evas.h>
 #include <maps_coordinates.h>
 
 /**
@@ -52,7 +53,7 @@ extern "C" {
  * \n To release the handle use maps_view_object_destroy().
  * \n Note that when the object is added to View it will be released
  * automatically when the View is destroyed
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @see maps_view_object_destroy()
  * @see maps_view_add_object()
@@ -61,28 +62,39 @@ typedef void *maps_view_object_h;
 
 /**
  * @brief      Enumerations of visual object types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_view_object_type_e {
-       MAPS_VIEW_OBJECT_POLYLINE,      /** Indicates the polyline */
-       MAPS_VIEW_OBJECT_POLYGON,               /** Indicates the polygon */
-       MAPS_VIEW_OBJECT_MARKER,                /** Indicates the marker */
+       MAPS_VIEW_OBJECT_POLYLINE,      /**< Indicates the polyline */
+       MAPS_VIEW_OBJECT_POLYGON,       /**< Indicates the polygon */
+       MAPS_VIEW_OBJECT_MARKER,        /**< Indicates the marker */
+       MAPS_VIEW_OBJECT_OVERLAY,       /**< Indicates the overlay */
 } maps_view_object_type_e;
 
 /**
  * @brief      Enumerations of map marker types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  */
 typedef enum _maps_view_marker_type_e {
-       MAPS_VIEW_MARKER_PIN,                   /** Indicates the pin marker type*/
-       MAPS_VIEW_MARKER_STICKER,               /** Indicates the sticker marker type*/
+       MAPS_VIEW_MARKER_PIN,           /**< Indicates the pin marker type */
+       MAPS_VIEW_MARKER_STICKER,       /**< Indicates the sticker marker type */
 } maps_view_marker_type_e;
 
 /**
+ * @brief      Enumerations of overlay types
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ */
+typedef enum _maps_view_overlay_type_e {
+       MAPS_VIEW_OVERLAY_NORMAL,       /**< Indicates the normal type */
+       MAPS_VIEW_OVERLAY_BUBBLE,       /**< Indicates the bubble type */
+       MAPS_VIEW_OVERLAY_BOX,          /**< Indicates the box type */
+} maps_view_overlay_type_e;
+
+/**
  * @brief      Called when requesting the list of points of the polyline.
  * @details This callback is invoked while iterating through the list of
  * points, added to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a point must be released using maps_coordinates_destroy().
  * \n To use @a point outside this function, clone it with
  * maps_coordinates_clone().
@@ -108,7 +120,7 @@ typedef bool(*maps_view_object_polyline_point_cb) (int index, int total,
  * @brief      Called when requesting the list of points of the polygon.
  * @details This callback is invoked while iterating through the list of
  * points, added to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a point must be released using maps_coordinates_destroy().
  * \n To use @a point outside this function, clone it with
  * maps_coordinates_clone().
@@ -140,7 +152,7 @@ typedef bool(*maps_view_object_polygon_point_cb) (int index, int total,
  * @brief      Creates a marker visual object.
  * @details This function creates a marker on a given geographical coordinates.
  * The marker is specified with a given image file and a type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a marker can be released by using maps_view_object_destroy().
  * \n If added to the View using maps_view_add_object(), @a marker will be
  * released automatically when the View is destroyed.
@@ -174,7 +186,7 @@ int maps_view_object_create_marker(maps_coordinates_h coordinates,
  * @brief      Creates a polyline visual object.
  * @details This function creates a polyline visual object, specified
  * with a list of geographical coordinates, line width and color.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a polyline can be released by using maps_view_object_destroy().
  * \n If added to the View using maps_view_add_object(), @a polyline will be
  * released automatically when the View is destroyed.
@@ -206,10 +218,10 @@ int maps_view_object_create_polyline(maps_coordinates_list_h coordinates,
        int width, maps_view_object_h *polyline);
 
 /**
- * @brief      Create a polygon visual object.
+ * @brief      Creates a polygon visual object.
  * @details This function creates a polygon visual object, specified
  * with a list of geographical coordinates and fill color.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks @a polygon can be released by using maps_view_object_destroy().
  * \n If added to the View using maps_view_add_object(), @a polygon will be
  * released automatically when the View is destroyed.
@@ -240,9 +252,40 @@ int maps_view_object_create_polygon(maps_coordinates_list_h coordinates,
        maps_view_object_h *polygon);
 
 /**
+ * @brief      Creates a overlay object.
+ * @details This function creates a overlay object to contain Evas objects.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @remarks @a overlay can be released by using maps_view_object_destroy().
+ * \n If added to the View using maps_view_add_object(), @a overlay will be
+ * released automatically when the View is destroyed.
+ *
+ * @param[in]  coordinates     The list of geographical coordinates
+ * @param[in]  object          The Evas object to be contained
+ * @param[in]  type            The type of boxing the @a object
+ * @param[out] overlay         The handle of newly created polygon
+ * @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
+ *
+ * @pre @a coordinates is created using maps_coordinates_list_create().
+ *
+ * @see #maps_view_object_h
+ * @see maps_view_object_create_marker()
+ * @see maps_view_object_create_polyline()
+ * @see maps_view_object_create_polygon()
+ * @see maps_view_add_object()
+ * @see maps_view_object_destroy()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_create()
+ */
+int maps_view_object_create_overlay(maps_coordinates_h coordinates,
+       Evas_Object *object, maps_view_overlay_type_e type, maps_view_object_h *overlay);
+
+/**
  * @brief      Destroys the object.
  * @details This function destroys the object handle and releases all its resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  object          The object handle to destroy
  * @return     0 on success, otherwise a negative error value
@@ -259,7 +302,7 @@ int maps_view_object_destroy(maps_view_object_h object);
 /**
  * @brief      Gets the object type.
  * @details This function gets the object type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  object          The object handle
  * @param[out] type            The pointer to #maps_view_object_type_e in which to
@@ -281,7 +324,7 @@ int maps_view_object_get_type(maps_view_object_h object, maps_view_object_type_e
 /**
  * @brief      Shows the object.
  * @details This function changes the visibility of the given object on the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  object          The object handle
  * @param[in]  visible         The new visibility of the object
@@ -300,7 +343,7 @@ int maps_view_object_set_visible(maps_view_object_h object, bool visible);
 /**
  * @brief      Gets the object visibility.
  * @details This function retrieves whether or not the given object is visible.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  object          The object handle
  * @param[out] visible         The pointer to a boolean in which to store the
@@ -326,7 +369,7 @@ int maps_view_object_get_visible(const maps_view_object_h object, bool *visible)
 /**
  * @brief      Sets points to the polyline.
  * @details This function sets point list to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polyline        The polyline object handle
  * @param[in]  points          The points to set
@@ -349,7 +392,7 @@ int maps_view_object_polyline_set_polyline(maps_view_object_h polyline, maps_coo
 /**
  * @brief      Retrieves all points, added to the polyline.
  * @details This function retrieves all points, added to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The points will be delivered via maps_view_object_polyline_point_cb().
  *
  * @param[in]  polyline        The polyline object handle
@@ -375,7 +418,7 @@ int maps_view_object_polyline_foreach_point(maps_view_object_h polyline,
 /**
  * @brief      Sets the polyline color.
  * @details This function sets the polyline color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polyline        The polyline object handle
  * @param[in]  r               The red component of the color
@@ -398,7 +441,7 @@ int maps_view_object_polyline_set_color(maps_view_object_h polyline,
 /**
  * @brief      Gets the polyline color.
  * @details This function gets the polyline color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polyline        The polyline object handle
  * @param[out] r               The unsigned char pointer in which to store the
@@ -427,7 +470,7 @@ int maps_view_object_polyline_get_color(const maps_view_object_h polyline,
 /**
  * @brief      Sets the polyline width.
  * @details This function sets the polyline width on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polyline        The polyline object handle
  * @param[in]  width           The new width of line [1 ~ 100] (pixels)
@@ -446,7 +489,7 @@ int maps_view_object_polyline_set_width(maps_view_object_h polyline, int width);
 /**
  * @brief      Gets the polyline width.
  * @details This function gets the polyline width on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polyline        The polyline object handle
  * @param[out] width           The width of line [1 ~ 100] (pixels)
@@ -472,7 +515,7 @@ int maps_view_object_polyline_get_width(const maps_view_object_h polyline, int *
 /**
  * @brief      Sets points to the polygon.
  * @details This function sets point list to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polygon         The polygon object handle
  * @param[in]  points          The points to set
@@ -494,7 +537,7 @@ int maps_view_object_polygon_set_polygon(maps_view_object_h polygon, maps_coordi
 /**
  * @brief      Retrieves all points, added to the polygon.
  * @details This function retrieves all points, added to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks The objects will be delivered via maps_view_object_polygon_point_cb().
  *
  * @param[in]  polygon         The polygon object handle
@@ -521,7 +564,7 @@ int maps_view_object_polygon_foreach_point(maps_view_object_h polygon,
 /**
  * @brief      Sets polygon fill color.
  * @details This function sets the polygon fill color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polygon         The polygon object handle
  * @param[in]  r               The red component of the fill color
@@ -543,7 +586,7 @@ int maps_view_object_polygon_set_fill_color(maps_view_object_h polygon,
 /**
  * @brief      Gets polygon fill color.
  * @details This function gets the polygon fill color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  polygon         The polygon data handle
  * @param[in]  r               The unsigned char pointer in which to store the
@@ -577,7 +620,7 @@ int maps_view_object_polygon_get_fill_color(const maps_view_object_h polygon,
 /**
  * @brief      Sets the marker coordinates.
  * @details This function sets the marker geographical coordinates.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[in]  coordinates     The marker geographical coordinates handle
@@ -598,7 +641,7 @@ int maps_view_object_marker_set_coordinates(maps_view_object_h marker, maps_coor
 /**
  * @brief      Sets the marker screen size.
  * @details This function sets the marker screen size.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker  The marker object handle
  * @param[in]  width   The marker pixels in width on the screen
@@ -617,7 +660,7 @@ int maps_view_object_marker_resize(maps_view_object_h marker, int width, int hei
 /**
  * @brief      Sets the marker image file path.
  * @details This function sets the marker image file path.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  * @remarks http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage.
  * \nhttp://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage.
  *
@@ -639,7 +682,7 @@ int maps_view_object_marker_set_image_file(maps_view_object_h marker, const char
  * @brief      Gets the marker image file path.
  * @details This function gets the marker image file path.
  * @remarks The @a file_path should be freed using free().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[out] file_path       The marker image file path
@@ -660,7 +703,7 @@ int maps_view_object_marker_get_image_file(const maps_view_object_h marker, char
  * @brief      Gets the marker coordinates.
  * @details This function gets the marker geographical coordinates.
  * @remarks The @a coordinates should be freed using maps_coordinates_destroy().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[out] coordinates     The pointer to #maps_coordinates_h in which to
@@ -682,7 +725,7 @@ int maps_view_object_marker_get_coordinates(const maps_view_object_h marker, map
 /**
  * @brief      Gets the marker screen size.
  * @details This function gets the marker size on the screen.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[out] width           The pointer to an integer in which to store the
@@ -704,7 +747,7 @@ int maps_view_object_marker_get_size(const maps_view_object_h marker, int *width
 /**
  * @brief      Gets the marker type.
  * @details This function gets the marker type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[out] type            The pointer to a maps_view_marker_type_e in which to
@@ -724,7 +767,7 @@ int maps_view_object_marker_get_type(const maps_view_object_h marker, maps_view_
  * @brief      Sets the marker z-order.
  * @details This function sets the z-order.
  * @remarks The @a z_order must be in range of [-100, 100].
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[in]  z_order         The z-order
@@ -742,7 +785,7 @@ int maps_view_object_marker_set_z_order(maps_view_object_h marker, int z_order);
 /**
  * @brief      Gets the marker z-order.
  * @details This function gets the z-order.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
  *
  * @param[in]  marker          The marker object handle
  * @param[out] z_order         The z-order
@@ -757,6 +800,158 @@ int maps_view_object_marker_set_z_order(maps_view_object_h marker, int z_order);
  */
 int maps_view_object_marker_get_z_order(const maps_view_object_h marker, int *z_order);
 
+
+
+/*----------------------------------------------------------------------------*/
+/*
+ * Overlay
+ */
+
+/**
+ * @brief      Gets the Evas object.
+ * @details This function gets the Evas object.
+ * @remarks The @a object must not be released.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[out] object          The Evas object handle
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a marker is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ */
+int maps_view_object_overlay_get_object(maps_view_object_h overlay, Evas_Object **object);
+
+/**
+ * @brief      Sets the overlay coordinates.
+ * @details This function sets the overlay geographical coordinates.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[in]  coordinates     The overlay geographical coordinates handle
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ * @pre @a coordinates are created using maps_coordinates_create().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_coordinates()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_create()
+ */
+int maps_view_object_overlay_set_coordinates(maps_view_object_h overlay, maps_coordinates_h coordinates);
+
+/**
+ * @brief      Gets the overlay coordinates.
+ * @details This function gets the overlay geographical coordinates.
+ * @remarks The @a coordinates should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[out] coordinates     The pointer to #maps_coordinates_h in which to
+ * store the overlay geographical coordinates
+ * @return     0, 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
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ * @pre @a coordinates may be set previously using maps_view_object_overlay_set_coordinates().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_set_coordinates()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_destroy()
+ */
+int maps_view_object_overlay_get_coordinates(const maps_view_object_h overlay, maps_coordinates_h *coordinates);
+
+/**
+ * @brief      Sets the minimal zoom level for overlay.
+ * @details This function sets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[in]  zoom            The new minimal zoom level
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_set_min_zoom_level(maps_view_object_h overlay, int zoom);
+
+/**
+ * @brief      Gets the minimal zoom level for overlay.
+ * @details This function gets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[out] zoom            The pointer to an integer in which to store
+ * the minimally allowed zoom level.
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_get_min_zoom_level(const maps_view_object_h overlay, int *zoom);
+
+/**
+ * @brief      Sets the minimal zoom level for overlay.
+ * @details This function sets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[in]  zoom            The new minimal zoom level
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_set_max_zoom_level(maps_view_object_h overlay, int zoom);
+
+/**
+ * @brief      Gets the minimal zoom level for overlay.
+ * @details This function gets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in]  overlay         The overlay object handle
+ * @param[out] zoom            The pointer to an integer in which to store
+ * the minimally allowed zoom level.
+ * @return     0, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ */
+int maps_view_object_overlay_get_max_zoom_level(const maps_view_object_h overlay, int *zoom);
+
 #ifdef __cplusplus
 }
 #endif
index a141f4b..20ea9e5 100644 (file)
@@ -36,6 +36,16 @@ extern "C" {
 #endif
 
 /**
+ * @brief      Enumerations of color space types
+ * @since_tizen 3.0
+ */
+typedef enum _maps_view_colorspace_type_e
+{
+       MAPS_VIEW_COLORSPACE_RGBA8888,
+       MAPS_VIEW_COLORSPACE_BGRA8888,
+} maps_view_colorspace_type_e;
+
+/**
  * @brief      Zooms the map on the view.
  * @details This function zooms the map on the View with real value of zoom
  * factor.
diff --git a/include/maps_view_snapshot.h b/include/maps_view_snapshot.h
new file mode 100755 (executable)
index 0000000..5213014
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * 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_VIEW_SNAPSHOT_H__
+#define __MAPS_VIEW_SNAPSHOT_H__
+
+
+/**
+ * @ingroup    CAPI_MAPS_VIEW_MODULE
+ * @defgroup   CAPI_MAPS_VIEW_SNAPSHOT_MODULE Snapshot
+ *
+ * @file maps_view_snapshot.h
+ * @brief This file contains the functions of Map Snapshot API
+ *
+ * @addtogroup CAPI_MAPS_VIEW_SNAPSHOT_MODULE
+ * @{
+ * @brief This provides APIs related to take snapshots.
+ *
+ */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief      Enumerations of snapshot file format type
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ */
+typedef enum _maps_view_snapshot_format_type_e
+{
+       MAPS_VIEW_SNAPSHOT_BMP,         /**< Indicates the BMP format type */
+       MAPS_VIEW_SNAPSHOT_JPEG,        /**< Indicates the JPEG format type */
+} maps_view_snapshot_format_type_e;
+
+/**
+ * @brief      Captures a snapshot of the Map View.
+ * \n The request is synchronous.
+ * @details This function retrieves an image of a map currently represented on
+ * the Map View.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ * @remarks To check if Maps Provider is capable of capturing snapshots use
+ * maps_service_provider_is_service_supported() with
+ * #MAPS_SERVICE_VIEW_SNAPSHOT passed as @a service parameter.
+ * \n It returns MAPS_ERROR_PERMISSION_DENIED if application doesn't have permission
+ * to write to the path.
+ *
+ * @param[in]  view    The Map View handle
+ * @param[in]  type    The type of file format
+ * @param[in]  quality The quality for encoding (1~100)
+ * @param[in]  path    The file path to be created
+ * callback function
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #MAPS_ERROR_NONE Successful
+ * @retval     #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval     #MAPS_ERROR_SERVICE_NOT_AVAILABLE Service not available
+ * @retval     #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ * @retval     #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ *
+ * @pre Call maps_service_create() and map_view_create() to issue Maps Service
+ * and Map View handles respectively.
+ * @post It invokes map_view_snapshot_cb() to deliver requested snapshot.
+ *
+ * @see maps_view_create()
+ * @see maps_service_create()
+ */
+int maps_view_capture_snapshot(maps_view_h view,
+                                                               maps_view_snapshot_format_type_e type,
+                                                               int quality,
+                                                               const char *path);
+
+#ifdef __cplusplus
+}
+#endif
+/**
+ * @}
+ */
+#endif                         /* __MAPS_VIEW_SNAPSHOT_H__*/
index d890b56..539a539 100644 (file)
@@ -18,6 +18,9 @@ BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(eina)
 BuildRequires:  pkgconfig(evas)
 BuildRequires:  pkgconfig(ecore)
+BuildRequires: pkgconfig(cairo)
+BuildRequires: pkgconfig(elementary)
+BuildRequires:  pkgconfig(capi-media-image-util)
 
 Requires(post):  /sbin/ldconfig
 Requires(postun):  /sbin/ldconfig
index 5de01e5..2cd6d30 100755 (executable)
@@ -122,7 +122,7 @@ EXPORT_API int maps_area_clone(const maps_area_h origin, maps_area_h *cloned)
                maps_area_circle_s cir = origin_handle->circle;
                maps_coordinates_s center = cir.center;
                double radius = cir.radius;
-               maps_area_create_circle((maps_coordinates_h) & center, radius, &new_circle);
+               maps_area_create_circle((maps_coordinates_h)&center, radius, &new_circle);
                if (new_circle) {
                        *cloned = new_circle;
                } else {
index c7e580e..54fa501 100755 (executable)
 #include <maps_extra_types.h>
 
 /**
- * @ingroup    CAPI_MAPS_PLACE_MODULE
- * @defgroup   CAPI_MAPS_PLACE_DATA_MODULE Place
+ * @ingroup    CAPI_MAPS_ROUTE_MODULE
+ * @defgroup   CAPI_MAPS_ROUTE_SEGMENT_MODULE Segment
  *
  * @file maps_route_segment_private.h
- * @brief This file contains the functions related to Place information.
- *
- * @addtogroup CAPI_MAPS_PLACE_DATA_MODULE
+ * @brief This file contains the functions related to Route Segment information.
+ * @addtogroup CAPI_MAPS_ROUTE_SEGMENT_MODULE
  * @{
- * @brief This provides APIs related to Place information, used in Place
- * Discovery and Search.
+ * @brief This provides APIs related to Place Segment information, used in Route
+ * Search.
  */
 
 #ifdef __cplusplus
index 0602e46..47d978d 100755 (executable)
@@ -56,7 +56,6 @@ static bool __maps_provider_supported(maps_service_h maps, maps_service_e servic
        return supported;
 }
 
-
 static bool __has_maps_service_privilege()
 {
        extern const char *MAPS_PLUGINS_PATH_PREFIX;
index 3271910..42ad3ec 100644 (file)
@@ -20,6 +20,7 @@
 #include <Evas.h>
 #include <unistd.h>
 #include <glib.h>
+#include <Elementary.h>
 
 #include "maps_view.h"
 #include "maps_view_plugin.h"
@@ -33,6 +34,7 @@
 #include "inertial_camera.h"
 #include "inertial_gesture.h"
 #include "gesture_detector_statemachine.h"
+#include "maps_view_event_data.h"
 
 /*
  * The structure of callbacks info, Maps View is invoking during events
@@ -82,6 +84,8 @@ typedef struct _maps_view_s {
        /* Evas basis */
        Evas *canvas;
        Evas_Object *panel;
+       Evas_Object *parent;
+       Evas_Object *clipper;
 
        /* Gesture Support */
        maps_view_action_e gesture_actions[MAPS_VIEW_GESTURE_LONG_PRESS + 1];
@@ -134,12 +138,17 @@ extern int _maps_view_object_set_view(const maps_view_object_h object, const map
 maps_view_event_data_h _maps_view_create_event_data(maps_view_event_type_e type);
 void _maps_view_invoke_event_callback(const maps_view_h view, const maps_view_event_data_h event_data);
 int _maps_view_set_inertia_enabled(const maps_view_h view, bool enabled);
+extern bool _maps_view_object_overlay_cb(int index, int total, maps_view_object_h object, void *user_data);
+extern int _maps_view_object_overlay_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation);
+static int __maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates, bool internal);
+int _maps_view_move_center(maps_view_h view, const int delta_x, const int delta_y);
+int _maps_view_get_plugin_center(const maps_view_h view, maps_coordinates_h *center);
 
 /* ---------------------------------------------------------------------------*/
 
 
 /* TODO: Apply this approach for other cases, particularly, in maps_service.h*/
-static const plugin::interface_s *__get_plugin_interface(maps_view_h view)
+const plugin::interface_s *__get_plugin_interface(maps_view_h view)
 {
        const plugin::plugin_s *p =
                __extract_plugin(((maps_view_s *)view)->maps);
@@ -211,15 +220,30 @@ void *_maps_view_get_maps_service_ptr(maps_view_h view)
        return v->maps;
 }
 
+int _maps_view_on_overlay_update_all(maps_view_h view)
+{
+       if (!view)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       maps_view_s *v = (maps_view_s *)view;
+       return maps_item_list_foreach(v->view_objects, NULL, _maps_view_object_overlay_cb, v->clipper);
+}
+
 int _maps_view_on_object_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation)
 {
        if (!view)
                return  MAPS_ERROR_INVALID_PARAMETER;
 
-       if (!__get_plugin_interface(view)->maps_plugin_on_object)
-               return  MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_object_type_e type;
+       maps_view_object_get_type(object, &type);
+       if (type == MAPS_VIEW_OBJECT_OVERLAY)
+               return _maps_view_object_overlay_operation(view, object, operation);
+       else {
+               if(!__get_plugin_interface(view)->maps_plugin_on_object)
+                       return  MAPS_ERROR_INVALID_PARAMETER;
 
-       return __get_plugin_interface(view)->maps_plugin_on_object(view, object, operation);
+               return __get_plugin_interface(view)->maps_plugin_on_object(view, object, operation);
+       }
 }
 
 static void __on_canvas_tap(void *data, Evas *e, Evas_Object *obj, void *event_info)
@@ -367,6 +391,7 @@ static Eina_Bool __maps_view_on_idle_cb(void *data)
                                         ic->get_cur_center(),
                                         ic->get_cur_zoom_factor(),
                                         ic->get_cur_rotation_angle());
+               _maps_view_on_overlay_update_all(v);
                g_usleep(10*1000);
        }
 
@@ -403,17 +428,64 @@ void __maps_view_ready(const maps_view_h view)
 
 /* ----------------------CREATE AND DESTROY-----------------------------------*/
 
+static void __maps_view_parent_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       maps_view_s *v = (maps_view_s*)data;
+
+       int x, y, w, h, ox, oy, ow, oh;
+       evas_object_geometry_get(v->parent, &x, &y, &w, &h);
+       evas_object_geometry_get(v->panel, &ox, &oy, &ow, &oh);
+
+       _maps_view_move_center(v, (x - ox) / 2, (y - oy) / 2);
+       _maps_view_get_plugin_center(v, &v->center);
+       maps_view_set_screen_location(v, x, y, w, h);
+}
+
 static void __maps_view_panel_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
        maps_view_s *v = (maps_view_s*)data;
 
-       int w, h;
-       evas_object_geometry_get(v->panel, NULL, NULL, &w, &h);
-       maps_view_resize(v, w, h);
+       int x, y, w, h, ox, oy, ow, oh;
+       evas_object_geometry_get(v->panel, &x, &y, &w, &h);
+       evas_object_geometry_get(v->clipper, &ox, &oy, &ow, &oh);
+
+       _maps_view_move_center(v, (x - ox) / 2, (y - oy) / 2);
+       _maps_view_get_plugin_center(v, &v->center);
+       maps_view_set_screen_location(v, x, y, w, h);
+}
+
+static void __maps_view_create_panel(maps_view_h view, Evas_Object *obj)
+{
+       if (!view || !obj)
+               return;
+
+       maps_view_s *v = (maps_view_s*)view;
+
+       /* Initialize the panel */
+       if (!strncmp(evas_object_type_get(obj), "image", strlen("image"))) {
+               /* if obj is Evas_Image object */
+               MAPS_LOGD("The panel is a Evas_Image");
+               v->parent = NULL;
+               v->panel = obj;
+               evas_object_event_callback_add(v->panel, EVAS_CALLBACK_RESIZE, __maps_view_panel_resize_cb, v);
+       } else {
+               /* if obj is the other kind of (smart) objects */
+               MAPS_LOGD("The panel is not a Evas_Image");
+               v->parent = obj;
+               v->panel = evas_object_image_add(evas_object_evas_get(v->parent));
+               evas_object_smart_member_add(v->panel, v->parent);
+               evas_object_event_callback_add(v->parent, EVAS_CALLBACK_RESIZE, __maps_view_parent_resize_cb, v);
+
+               if (evas_object_visible_get(v->parent))
+                       evas_object_show(v->panel);
+               else
+                       evas_object_hide(v->panel);
+       }
+       evas_object_image_filled_set(v->panel, EINA_FALSE);
 }
 
 /* Create the panel and link it to the instance of Maps Service */
-EXPORT_API int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_h *view)
+EXPORT_API int maps_view_create(maps_service_h maps, Evas_Object *obj, maps_view_h *view)
 {
        if (!maps || !obj || !view)
                return MAPS_ERROR_INVALID_PARAMETER;
@@ -427,9 +499,8 @@ EXPORT_API int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_
        /* Initialize the list with visual objects */
        maps_item_list_create(&v->view_objects);
 
-       v->panel = obj;
-
-       evas_object_event_callback_add(v->panel, EVAS_CALLBACK_RESIZE, __maps_view_panel_resize_cb, v);
+       /* Initialize the panel */
+       __maps_view_create_panel(v, obj);
 
        v->maps_plugin_view_handle = NULL;
 
@@ -479,6 +550,8 @@ EXPORT_API int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_
        v->canvas = evas_object_evas_get(v->panel);
        /*v->ee = ecore_evas_ecore_evas_get(v->canvas);*/
 
+       v->clipper = evas_object_rectangle_add(v->canvas);
+
        /* Link with Maps Service */
        v->maps = maps;
 
@@ -564,6 +637,9 @@ EXPORT_API int maps_view_destroy(maps_view_h view)
        if (v->panel)
                evas_object_del(v->panel);
 
+       if (v->clipper)
+               evas_object_del(v->clipper);
+
        if (v->center)
                maps_coordinates_destroy(v->center);
 
@@ -614,7 +690,8 @@ int _maps_view_get_plugin_center(const maps_view_h view,
 
 /* Show the map with a given position centered using current zoom level and
  * rotation angle */
-EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates)
+
+static int __maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates, bool internal)
 {
        if (!view || !coordinates)
                return MAPS_ERROR_INVALID_PARAMETER;
@@ -631,7 +708,7 @@ EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordin
        maps_view_s *v = (maps_view_s *) view;
 
        /* Set up the target for camera inertial movement */
-       if (v->inertial_camera)
+       if(v->inertial_camera && !internal)
                v->inertial_camera->set_targets(coordinates,
                                                zoom_factor,
                                                rotation_angle);
@@ -647,19 +724,28 @@ EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordin
                maps_coordinates_clone(coordinates, &v->center);
        }
 
-       /* Invoke user registered event callback */
-       maps_view_event_data_h ed =
-               _maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
-       if (ed) {
-               _maps_view_event_data_set_action_type(ed, MAPS_VIEW_ACTION_SCROLL);
-               _maps_view_event_data_set_center(ed, v->center);
-               _maps_view_invoke_event_callback(v, ed);
-               maps_view_event_data_destroy(ed);
+       _maps_view_on_overlay_update_all(view);
+
+       if (!internal) {
+               /* Invoke user registered event callback */
+               maps_view_event_data_h ed =
+                       _maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
+               if(ed) {
+                       _maps_view_event_data_set_action_type(ed, MAPS_VIEW_ACTION_SCROLL);
+                       _maps_view_event_data_set_center(ed, v->center);
+                       _maps_view_invoke_event_callback(v, ed);
+                       maps_view_event_data_destroy(ed);
+               }
        }
 
        return error;
 }
 
+EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates)
+{
+       return __maps_view_set_center(view, coordinates, FALSE);
+}
+
 int _maps_view_move_center(maps_view_h view, const int delta_x, const int delta_y)
 {
        if (!view)
@@ -667,6 +753,9 @@ int _maps_view_move_center(maps_view_h view, const int delta_x, const int delta_
 
        int error = __get_plugin_interface(view)->maps_plugin_move_center(view, delta_x, delta_y);
 
+       /* update position of overlay objects */
+       _maps_view_on_overlay_update_all(view);
+
        /* Invoke user registered event callback */
        maps_view_event_data_h ed =
                _maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
@@ -745,6 +834,23 @@ EXPORT_API int maps_view_get_zoom_level(const maps_view_h view, int *level)
        return MAPS_ERROR_NONE;
 }
 
+EXPORT_API int maps_view_set_min_zoom_level(maps_view_h view, int level)
+{
+       if (!view)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_s *v = (maps_view_s *) view;
+       int min_zoom_level = -1;
+       __get_plugin_interface(v)->maps_plugin_get_min_zoom_level(view, &min_zoom_level);
+       if (min_zoom_level < 0)
+               return MAPS_ERROR_INVALID_OPERATION;
+       if ((level < min_zoom_level) || (level > v->max_zoom_level))
+               return MAPS_ERROR_INVALID_PARAMETER;
+       v->min_zoom_level = level;
+       if (v->min_zoom_level > v->zoom_level)
+               maps_view_set_zoom_level(view, v->min_zoom_level);
+       return MAPS_ERROR_NONE;
+}
+
 EXPORT_API int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoom_level)
 {
        if (!view || !min_zoom_level)
@@ -754,6 +860,23 @@ EXPORT_API int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoo
        return MAPS_ERROR_NONE;
 }
 
+EXPORT_API int maps_view_set_max_zoom_level(maps_view_h view, int level)
+{
+       if (!view)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_s *v = (maps_view_s *) view;
+       int max_zoom_level = -1;
+       __get_plugin_interface(v)->maps_plugin_get_max_zoom_level(view, &max_zoom_level);
+       if (max_zoom_level < 0)
+               return MAPS_ERROR_INVALID_OPERATION;
+       if ((level < v->min_zoom_level) || (level > max_zoom_level))
+               return MAPS_ERROR_INVALID_PARAMETER;
+       v->max_zoom_level = level;
+       if (v->max_zoom_level < v->zoom_level)
+               maps_view_set_zoom_level(view, v->max_zoom_level);
+       return MAPS_ERROR_NONE;
+}
+
 EXPORT_API int maps_view_get_max_zoom_level(const maps_view_h view, int *max_zoom_level)
 {
        if (!view || !max_zoom_level)
@@ -1107,6 +1230,24 @@ EXPORT_API int maps_view_get_viewport(const maps_view_h view, Evas_Object **view
        return MAPS_ERROR_NONE;
 }
 
+int _maps_view_get_parent(const maps_view_h view, Evas_Object **parent)
+{
+       if (!view || !parent)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_s *v = (maps_view_s *) view;
+       *parent = v->parent;
+       return MAPS_ERROR_NONE;
+}
+
+int _maps_view_get_clipper(const maps_view_h view, Evas_Object **clipper)
+{
+       if (!view || !clipper)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_s *v = (maps_view_s *) view;
+       *clipper = v->clipper;
+       return MAPS_ERROR_NONE;
+}
+
 EXPORT_API int maps_view_set_screen_location(maps_view_h view, int x, int y, int width, int height)
 {
        if (!view)
@@ -1132,6 +1273,7 @@ EXPORT_API int maps_view_move(maps_view_h view, int x, int y)
                return MAPS_ERROR_INVALID_PARAMETER;
        maps_view_s *v = (maps_view_s *) view;
        evas_object_move(v->panel, x, y);
+       evas_object_move(v->clipper, x, y);
        return MAPS_ERROR_NONE;
 }
 
@@ -1141,7 +1283,9 @@ EXPORT_API int maps_view_resize(maps_view_h view, int width, int height)
                return MAPS_ERROR_INVALID_PARAMETER;
        maps_view_s *v = (maps_view_s *) view;
        evas_object_resize(v->panel, width, height);
-       return maps_view_set_center(view, v->center);
+       evas_object_resize(v->clipper, width, height);
+       evas_object_image_fill_set(v->panel, 0, 0, width, height);
+       return __maps_view_set_center(view, v->center, TRUE);
 }
 
 EXPORT_API int maps_view_set_visibility(maps_view_h view, bool visible)
@@ -1352,6 +1496,26 @@ void _maps_view_invoke_event_callback(maps_view_h view, maps_view_event_data_h e
        maps_view_event_type_e type = MAPS_VIEW_EVENT_GESTURE;
        maps_view_event_data_get_type(event_data, &type);
 
+#if 0 // log
+       int maps_view_event_data_get_gesture_type(const maps_view_event_data_h event, maps_view_gesture_e *gesture_type);
+       int maps_view_event_data_get_action_type(const maps_view_event_data_h event, maps_view_action_e *action_type);
+       int maps_view_event_data_get_object(const maps_view_event_data_h event, maps_view_object_h *object);
+       int maps_view_object_get_type(maps_view_object_h object, maps_view_object_type_e *type);
+
+       int subtype = 0;
+       if (type == MAPS_VIEW_EVENT_GESTURE)
+               maps_view_event_data_get_gesture_type(event_data, (maps_view_gesture_e*)&subtype);
+       else if (type == MAPS_VIEW_EVENT_ACTION)
+               maps_view_event_data_get_action_type(event_data, (maps_view_action_e*)&subtype);
+       else if (type == MAPS_VIEW_EVENT_OBJECT) {
+               maps_view_object_h object;
+               maps_view_event_data_get_object(event_data, &object);
+               maps_view_object_get_type(object, (maps_view_object_type_e*)&subtype);
+       }
+       if (type == MAPS_VIEW_EVENT_READY)
+       MAPS_LOGD("[invoked event] type=%d, subtype=%d", type, subtype);
+#endif
+
        v->event_callbacks[type].callback(type, event_data, v->event_callbacks[type].user_data);
 }
 
index 7996e76..10ed3d0 100644 (file)
@@ -31,6 +31,7 @@ typedef struct _maps_view_event_data_s {
        /* Applicable for gesture */
        int x;
        int y;
+       maps_coordinates_h coordinates;
 
        /* Applicable for center move */
        int delta_x;
@@ -190,6 +191,16 @@ int _maps_view_event_data_set_position(maps_view_event_data_h event, int x, int
        return MAPS_ERROR_NONE;
 }
 
+int _maps_view_event_data_set_coordinates(maps_view_event_data_h event, maps_coordinates_h coordinates)
+{
+       if (!event || !coordinates)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_event_data_s *e = (maps_view_event_data_s *) event;
+       if (e->coordinates)
+               maps_coordinates_destroy(e->coordinates);
+       return maps_coordinates_clone(coordinates, &e->coordinates);
+}
+
 int _maps_view_event_data_set_fingers(maps_view_event_data_h event, int fingers)
 {
        if (!event)
@@ -318,6 +329,18 @@ EXPORT_API int maps_view_event_data_get_position(const maps_view_event_data_h ev
        return MAPS_ERROR_NONE;
 }
 
+EXPORT_API int maps_view_event_data_get_coordinates(const maps_view_event_data_h event, maps_coordinates_h *coordinates)
+{
+       if (!event || !coordinates)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_event_data_s *e = (maps_view_event_data_s *) event;
+       if (e->event_type != MAPS_VIEW_EVENT_GESTURE)
+               return MAPS_ERROR_INVALID_OPERATION;
+       if (!e->coordinates)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_coordinates_clone(e->coordinates, coordinates);
+}
+
 EXPORT_API int maps_view_event_data_get_fingers(const maps_view_event_data_h event, int *fingers)
 {
        if (!event || !fingers)
index a95fb3e..a296e8b 100644 (file)
@@ -24,6 +24,8 @@
 #include "marker_constructor.h"
 #include "polyline_constructor.h"
 #include "polygon_constructor.h"
+#include "overlay_constructor.h"
+#include <cairo.h>
 
 /*
 * This represents marker visual object information
@@ -70,6 +72,19 @@ typedef struct _maps_view_polygon_data_s {
        unsigned char a;
 } maps_view_polygon_data_s;
 
+typedef struct _maps_view_overlay_data_s {
+       maps_coordinates_h coordinates;
+       Evas_Object *object;
+       int min_zoom_level;
+       int max_zoom_level;
+       maps_view_overlay_type_e type;
+       Evas_Object *bubble;
+       Evas_Object *clipper;
+} maps_view_overlay_data_s;
+
+const int _OVERLAY_BUBBLE_MARGIN = 20;
+const int _OVERLAY_BUBBLE_PIN_SIZE = 20;
+
 /*
 * This represents visual object information
  */
@@ -84,19 +99,24 @@ typedef struct _maps_view_object_s {
 
 int _maps_view_on_object_operation(maps_view_h view, maps_view_object_h object,
                                                                maps_view_object_operation_e operation);
+int _maps_view_get_parent(const maps_view_h view, Evas_Object **parent);
+int _maps_view_get_clipper(const maps_view_h view, Evas_Object **clipper);
 
 static maps_view_h __get_view(const maps_view_object_h object);
 static maps_view_polyline_data_s *__get_polyline_data(const maps_view_object_h object);
 static maps_view_polygon_data_s *__get_polygon_data(const maps_view_object_h object);
 static maps_view_marker_data_s *__get_marker_data(const maps_view_object_h object);
+static maps_view_overlay_data_s *__get_overlay_data(const maps_view_object_h object);
 
 static int __maps_view_polyline_data_create(void **polyline);
 static int __maps_view_polygon_data_create(void **polygon);
 static int __maps_view_marker_data_create(void **marker);
+static int __maps_view_overlay_data_create(void **marker);
 
 static int __maps_view_polyline_data_destroy(void *polyline);
 static int __maps_view_polygon_data_destroy(void *polygon);
 static int __maps_view_marker_data_destroy(void *marker);
+static int __maps_view_overlay_data_destroy(void *marker);
 
 static maps_view_h __get_view(const maps_view_object_h object)
 {
@@ -264,11 +284,76 @@ static int __maps_view_marker_data_destroy(void *marker)
        return MAPS_ERROR_NONE;
 }
 
+static maps_view_overlay_data_s *__get_overlay_data(const maps_view_object_h object)
+{
+       maps_view_object_s *o = (maps_view_object_s *)object;
+       if (!o || (o->type != MAPS_VIEW_OBJECT_OVERLAY))
+               return NULL;
+       return (maps_view_overlay_data_s *)o->shape_data;
+}
+
+static int __maps_view_overlay_data_create(void **overlay)
+{
+       if (!overlay)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       int error = MAPS_ERROR_NONE;
+       maps_view_overlay_data_s *m = NULL;
+
+       do {
+               m = g_slice_new0(maps_view_overlay_data_s);
+               if (!m) {
+                       MAPS_LOGE("OUT_OF_MEMORY(0x%08x)",
+                                 MAPS_ERROR_OUT_OF_MEMORY);
+                       return MAPS_ERROR_OUT_OF_MEMORY;
+               }
+
+               error = maps_coordinates_create(.0, .0, &m->coordinates);
+               if (error != MAPS_ERROR_NONE)
+                       break;
+
+               *overlay = (maps_view_overlay_data_s *) m;
+               return MAPS_ERROR_NONE;
+       } while(false);
+
+       __maps_view_overlay_data_destroy(m);
+       return error;
+}
+
+static int __maps_view_overlay_data_destroy(void *overlay)
+{
+       if (!overlay)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       maps_view_overlay_data_s *m = (maps_view_overlay_data_s *)overlay;
+
+       if (m->coordinates)
+               maps_coordinates_destroy(m->coordinates);
+
+       if (m->object)
+               evas_object_del(m->object);
+
+       if (m->bubble)
+               evas_object_del(m->bubble);
+
+       if (m->clipper) {
+               const Eina_List *clipees = evas_object_clipees_get(m->clipper);
+               if (!clipees || eina_list_count(clipees) == 0) {
+                       evas_object_hide(m->clipper);
+                       MAPS_LOGD("hide clipper");
+               }
+       }
+
+       g_slice_free(maps_view_overlay_data_s, m);
+
+       return MAPS_ERROR_NONE;
+}
+
 int _maps_view_object_create(maps_view_object_type_e type, maps_view_object_h *object)
 {
        if (!object)
                return MAPS_ERROR_INVALID_PARAMETER;
-       if ((type < MAPS_VIEW_OBJECT_POLYLINE) || (type > MAPS_VIEW_OBJECT_MARKER))
+       if (type < MAPS_VIEW_OBJECT_POLYLINE || type > MAPS_VIEW_OBJECT_OVERLAY)
                return MAPS_ERROR_INVALID_PARAMETER;
 
        int error = MAPS_ERROR_NONE;
@@ -297,6 +382,9 @@ int _maps_view_object_create(maps_view_object_type_e type, maps_view_object_h *o
                case MAPS_VIEW_OBJECT_MARKER:
                        error = __maps_view_marker_data_create(&o->shape_data);
                        break;
+               case MAPS_VIEW_OBJECT_OVERLAY:
+                       error = __maps_view_overlay_data_create(&o->shape_data);
+                       break;
                default:
                        break;
                }
@@ -324,6 +412,22 @@ int _maps_view_object_set_view(maps_view_object_h object, maps_view_h view)
 
        maps_view_object_s *o = (maps_view_object_s *) object;
        o->view = view;
+
+       maps_view_object_type_e type;
+       maps_view_object_get_type(object, &type);
+       if (type == MAPS_VIEW_OBJECT_OVERLAY)   {
+               int min_zoom = 0, max_zoom = 0;
+               maps_view_object_overlay_get_min_zoom_level(object, &min_zoom);
+               maps_view_object_overlay_get_max_zoom_level(object, &max_zoom);
+               if (min_zoom == 0) {
+                       maps_view_get_min_zoom_level(view, &min_zoom);
+                       maps_view_object_overlay_set_min_zoom_level(object, min_zoom);
+               }
+               if (max_zoom == 0) {
+                       maps_view_get_max_zoom_level(view, &max_zoom);
+                       maps_view_object_overlay_set_max_zoom_level(object, max_zoom);
+               }
+       }
        return MAPS_ERROR_NONE;
 }
 
@@ -384,6 +488,29 @@ EXPORT_API int maps_view_object_create_polygon(maps_coordinates_list_h coordinat
        return pc.get_error();
 }
 
+EXPORT_API int maps_view_object_create_overlay(maps_coordinates_h coordinates,
+       Evas_Object *object, maps_view_overlay_type_e type, maps_view_object_h *overlay)
+{
+       if (!overlay || !coordinates)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       if (type < MAPS_VIEW_OVERLAY_NORMAL || type > MAPS_VIEW_OVERLAY_BOX)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       double lat, lon;
+       maps_coordinates_get_latitude_longitude(coordinates, &lat, &lon);
+
+       /* Create a Overlay Visual Object */
+       view::overlay_constructor pc;
+       *overlay = pc.construct(coordinates, object, type);
+       if (pc.get_error() == MAPS_ERROR_NONE)
+               return pc.get_error();
+
+       /* Overlay create failure */
+       maps_view_object_destroy(*overlay);
+       *overlay = NULL;
+       return pc.get_error();
+}
+
 EXPORT_API int maps_view_object_destroy(maps_view_object_h object)
 {
        if (!object)
@@ -405,6 +532,9 @@ EXPORT_API int maps_view_object_destroy(maps_view_object_h object)
        case MAPS_VIEW_OBJECT_MARKER:
                error = __maps_view_marker_data_destroy(o->shape_data);
                break;
+       case MAPS_VIEW_OBJECT_OVERLAY:
+               error = __maps_view_overlay_data_destroy(o->shape_data);
+               break;
        default:
                break;
        }
@@ -825,3 +955,355 @@ EXPORT_API int maps_view_object_marker_get_z_order(const maps_view_object_h mark
        *z_order = m->z_order;
        return MAPS_ERROR_NONE;
 }
+
+int _maps_view_object_overlay_set_type(maps_view_object_h overlay, maps_view_overlay_type_e type)
+{
+       if (!overlay || (type < MAPS_VIEW_OVERLAY_NORMAL || type > MAPS_VIEW_OVERLAY_BOX))
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       m->type = type;
+       return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_get_bubble(maps_view_object_h overlay, Evas_Object **object)
+{
+       if (!overlay || !object)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       *object = m->bubble;
+       return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_set_bubble(maps_view_object_h overlay)
+{
+       if (!overlay)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       int x, y, w, h;
+       evas_object_geometry_get(m->object, &x, &y, &w, &h);
+
+       w += _OVERLAY_BUBBLE_MARGIN * 2;
+       h += _OVERLAY_BUBBLE_MARGIN * 2 + _OVERLAY_BUBBLE_PIN_SIZE;
+
+       m->bubble = evas_object_image_filled_add(evas_object_evas_get(m->object));
+       evas_object_stack_below(m->bubble, m->object);
+       evas_object_move(m->bubble, x, y);
+       evas_object_resize(m->bubble, w, h);
+       evas_object_show(m->bubble);
+
+       unsigned char *pixels;
+       int row_stride;
+       cairo_t *cairo;
+       cairo_surface_t *surface;
+
+       evas_object_image_alpha_set(m->bubble, EINA_TRUE);
+       evas_object_image_colorspace_set(m->bubble, EVAS_COLORSPACE_ARGB8888);
+       evas_object_image_size_set(m->bubble, w, h);
+       evas_object_image_fill_set(m->bubble, 0, 0, w, h);
+
+       pixels = (unsigned char *)evas_object_image_data_get(m->bubble, EINA_TRUE);
+       row_stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
+       surface = cairo_image_surface_create_for_data(pixels,CAIRO_FORMAT_ARGB32,
+                                                                                                  w, h, row_stride);
+       /* Create the cairo context */
+       cairo = cairo_create (surface);
+
+       /* Configuration */
+       cairo_set_source_rgba(cairo, 0, 0, 0, 0);
+       cairo_paint_with_alpha(cairo, 0);
+
+       /* set the size of bubble */
+       int bx = x + 2;
+       int by = y + 2;
+       int bw = w - bx * 2;
+       int bh = h - by - _OVERLAY_BUBBLE_PIN_SIZE;
+
+       /* build a path */
+       cairo_new_path (cairo);
+       if (m->type == MAPS_VIEW_OVERLAY_BUBBLE) {
+               double r = bh / 8.;
+               double d = M_PI / 180.;
+               cairo_arc (cairo, bx + bw - r, by + r, r, -90 * d, 0 * d);
+               cairo_arc (cairo, bx + bw - r, by + bh - r, r, 0 * d, 90 * d);
+               cairo_line_to(cairo, bx + bw / 2 + _OVERLAY_BUBBLE_PIN_SIZE, by + bh);
+               cairo_line_to(cairo, bx + bw / 2, by + bh + _OVERLAY_BUBBLE_PIN_SIZE);
+               cairo_line_to(cairo, bx + bw / 2 - _OVERLAY_BUBBLE_PIN_SIZE, by + bh);
+               cairo_arc (cairo, bx + r, by + bh - r, r, 90 * d, 180 * d);
+               cairo_arc (cairo, bx + r, by + r, r, 180 * d, 270 * d);
+       }
+       else {
+               cairo_move_to(cairo, 1., 1.);
+               cairo_line_to(cairo, 1., bh);
+               cairo_line_to(cairo, bw / 2 - _OVERLAY_BUBBLE_PIN_SIZE, bh);
+               cairo_line_to(cairo, bw / 2, bh + _OVERLAY_BUBBLE_PIN_SIZE);
+               cairo_line_to(cairo, bw / 2 + _OVERLAY_BUBBLE_PIN_SIZE, bh);
+               cairo_line_to(cairo, bw, bh);
+               cairo_line_to(cairo, bw, 1);
+       }
+       cairo_close_path(cairo);
+
+       /* clipping */
+       cairo_clip_preserve(cairo);
+       cairo_set_source_rgb(cairo, 1., 1., 1.);
+       cairo_fill_preserve(cairo);
+       cairo_set_source_rgb(cairo, .1, .1, .1);
+       cairo_set_line_width(cairo, 3);
+
+
+       cairo_stroke(cairo);
+       cairo_destroy(cairo);
+       cairo_surface_destroy(surface);
+
+       evas_object_image_data_set(m->bubble, pixels);
+       evas_object_image_data_update_add(m->bubble, 0, 0, w, h);
+
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_object(maps_view_object_h overlay, Evas_Object **object)
+{
+       if (!overlay || !object)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       *object = m->object;
+       return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_set_object(maps_view_object_h overlay, Evas_Object *object)
+{
+       if (!overlay || !object)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       m->object = object;
+       if (m->type != MAPS_VIEW_OVERLAY_NORMAL)
+               _maps_view_object_overlay_set_bubble(overlay);
+
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_set_coordinates(maps_view_object_h overlay, maps_coordinates_h coordinates)
+{
+       if (!overlay || !coordinates)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       if (m->coordinates)
+               maps_coordinates_destroy(m->coordinates);
+       m->coordinates = coordinates;
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_coordinates(const maps_view_object_h overlay, maps_coordinates_h *coordinates)
+{
+       if (!overlay || !coordinates)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       return maps_coordinates_clone(m->coordinates, coordinates);
+}
+
+EXPORT_API int maps_view_object_overlay_set_min_zoom_level(maps_view_object_h overlay, int zoom)
+{
+       if (!overlay || zoom < 0)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       int map_min_zoom_level = 0;
+       maps_view_get_min_zoom_level(__get_view(overlay), &map_min_zoom_level);
+       if (zoom < map_min_zoom_level)
+               m->min_zoom_level = map_min_zoom_level;
+       else
+               m->min_zoom_level = zoom;
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_max_zoom_level(const maps_view_object_h overlay, int *zoom)
+{
+       if (!overlay || !zoom)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       *zoom = m->max_zoom_level;
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_set_max_zoom_level(maps_view_object_h overlay, int zoom)
+{
+       if (!overlay || zoom < 0)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       int map_max_zoom_level = 0;
+       maps_view_get_max_zoom_level(__get_view(overlay), &map_max_zoom_level);
+       if (zoom < map_max_zoom_level)
+               m->max_zoom_level = map_max_zoom_level;
+       else
+               m->max_zoom_level = zoom;
+       return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_min_zoom_level(const maps_view_object_h overlay, int *zoom)
+{
+       if (!overlay || !zoom)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       if (!m)
+               return MAPS_ERROR_INVALID_PARAMETER;
+       *zoom = m->min_zoom_level;
+       return MAPS_ERROR_NONE;
+}
+
+static bool __maps_view_object_overlay_set_visible(maps_view_object_h overlay)
+{
+       if (!overlay)
+               return false;
+
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       maps_view_object_s *o = (maps_view_object_s *)overlay;
+       if (o->visible) {
+               int zoom;
+               maps_view_get_zoom_level(__get_view(overlay), &zoom);
+               if (zoom < m->min_zoom_level || zoom > m->max_zoom_level) {
+                       evas_object_hide(m->object);
+                       if (m->bubble)
+                               evas_object_hide(m->bubble);
+               }
+               else {
+                       evas_object_show(m->object);
+                       if (m->bubble)
+                               evas_object_show(m->bubble);
+               }
+       }
+       else {
+               evas_object_hide(m->object);
+               if (m->bubble)
+                       evas_object_hide(m->bubble);
+       }
+       return true;
+}
+
+static bool __maps_view_object_overlay_clip(maps_view_object_h overlay, Evas_Object *clipper)
+{
+       if (!overlay || !clipper)
+               return false;
+
+       int x, y, w, h;
+       maps_view_get_screen_location(__get_view(overlay), &x, &y, &w, &h);
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       evas_object_color_set(clipper, 255, 255, 255, 255);
+       evas_object_move(clipper, x, y);
+       evas_object_resize(clipper, w, h);
+       evas_object_clip_set(m->object, clipper);
+       if (m->bubble)
+               evas_object_clip_set(m->bubble, clipper);
+       evas_object_show(clipper);
+
+       m->clipper = clipper;
+       return true;
+}
+
+static bool __maps_view_object_overlay_move(maps_view_object_h overlay, maps_coordinates_h coordinates)
+{
+       if (!overlay || !coordinates)
+               return false;
+
+       int x, y, w, h;
+       maps_view_geolocation_to_screen(__get_view(overlay), coordinates, &x, &y);
+       maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+       evas_object_geometry_get(m->object, NULL, NULL, &w, &h);
+
+       x -= w / 2;
+       y -= h;
+
+       if (m->type != MAPS_VIEW_OVERLAY_NORMAL) {
+               y -= _OVERLAY_BUBBLE_MARGIN + _OVERLAY_BUBBLE_PIN_SIZE;
+               evas_object_move(m->object, x, y);
+
+               if (m->bubble) {
+                       x -= _OVERLAY_BUBBLE_MARGIN;
+                       y -= _OVERLAY_BUBBLE_MARGIN ;
+                       evas_object_move(m->bubble, x, y);
+               }
+       }
+       else
+               evas_object_move(m->object, x, y);
+       return true;
+}
+
+static bool __maps_view_object_overlay_update(maps_view_object_h overlay, Evas_Object *clipper)
+{
+       if (!overlay || !clipper)
+               return false;
+
+       bool ret = false;       
+       maps_coordinates_h coordinates = NULL;
+
+       do {
+               ret = __maps_view_object_overlay_set_visible(overlay);
+               if (!ret) break;
+
+               ret = __maps_view_object_overlay_clip(overlay, clipper);
+               if (!ret) break;
+
+               maps_view_object_overlay_get_coordinates(overlay, &coordinates);
+               ret = __maps_view_object_overlay_move(overlay, coordinates);
+       } while(0);
+
+       if (coordinates)
+               maps_coordinates_destroy(coordinates);
+
+       return ret;
+}
+
+bool _maps_view_object_overlay_cb(int index, int total, maps_view_object_h object, void *user_data)
+{
+       if (!object || !user_data)
+               return false;
+
+       maps_view_object_type_e type;
+       maps_view_object_get_type(object, &type);
+       if (type != MAPS_VIEW_OBJECT_OVERLAY)
+               return true;
+       return __maps_view_object_overlay_update(object, (Evas_Object*)user_data);
+}
+
+int _maps_view_object_overlay_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation)
+{
+       if (!view || !object)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       Evas_Object *parent = NULL, *clipper = NULL;
+       maps_view_overlay_data_s *o = __get_overlay_data(object);
+
+       if (!o)
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       if (operation == MAPS_VIEW_OBJECT_ADD) {
+               _maps_view_get_parent(view, &parent);
+               evas_object_smart_member_add(o->bubble, parent);
+               evas_object_smart_member_add(o->object, parent);
+       }
+
+       if (operation != MAPS_VIEW_OBJECT_REMOVE) {
+               _maps_view_get_clipper(view, &clipper);
+               __maps_view_object_overlay_update(object, clipper);
+       }
+
+       return MAPS_ERROR_NONE;
+}
diff --git a/src/api/maps_view_snapshot.cpp b/src/api/maps_view_snapshot.cpp
new file mode 100755 (executable)
index 0000000..813e9eb
--- /dev/null
@@ -0,0 +1,176 @@
+/* Copyright (c) 2010-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.
+ */
+
+#include <image_util.h>
+
+#include <maps_view_plugin.h>
+#include <module.h>
+#include <empty_module.h>
+#include <stdlib.h>
+
+
+const plugin::interface_s *__get_plugin_interface(maps_view_h view);
+
+static void __convert_rgba_to_bgra(unsigned char *data, int width, int height)
+{
+       int len = width * height;
+       unsigned int *p = (unsigned int *)data;
+       for (int i = 0; i < len; i++)
+       {
+               *p = (*p & 0xFF00FF00) |
+                       ((*p & 0x00FF0000) >> 16) |
+                       ((*p & 0x000000FF) << 16);
+               p++;
+       };
+}
+
+static bool __encode_bitmap_file(const void *data, int width, int height, const char *file)
+{
+       struct {
+              unsigned char magic[2];
+       } bmpfile_magic = { {'B', 'M'} };
+
+       struct {
+              unsigned int filesz;
+              unsigned short creator1;
+              unsigned short creator2;
+              unsigned int bmp_offset;
+       } bmpfile_header = { 0, 0, 0, 0x36 };
+
+       struct {
+              unsigned int header_sz;
+              unsigned int width;
+              unsigned int height;
+              unsigned short nplanes;
+              unsigned short bitspp;
+              unsigned int compress_type;
+              unsigned int bmp_bytesz;
+              unsigned int hres;
+              unsigned int vres;
+              unsigned int ncolors;
+              unsigned int nimpcolors;
+       } bmp_dib_v3_header_t = { 0x28, 0, 0, 1, 24, 0, 0, 0, 0, 0, 0 };
+
+       unsigned int *blocks;
+       FILE *fp = fopen(file, "w+");
+       int i;
+
+       if (fp == NULL) {
+              MAPS_LOGE("fopen fail");
+              return false;
+       }
+       bmpfile_header.filesz = sizeof(bmpfile_magic) + sizeof(bmpfile_header) + sizeof(bmp_dib_v3_header_t) + (width * height * 3);
+       bmp_dib_v3_header_t.header_sz = sizeof(bmp_dib_v3_header_t);
+       bmp_dib_v3_header_t.width = width;
+       bmp_dib_v3_header_t.height = -height;
+       bmp_dib_v3_header_t.bmp_bytesz = width * height * 3;
+
+       fwrite(&bmpfile_magic, sizeof(bmpfile_magic), 1, fp);
+       fwrite(&bmpfile_header, sizeof(bmpfile_header), 1, fp);
+       fwrite(&bmp_dib_v3_header_t, sizeof(bmp_dib_v3_header_t), 1, fp);
+       blocks = (unsigned int *)data;
+
+       for (i = 0; i < height * width; i++) {
+              fwrite(&blocks[i], 3, 1, fp);
+       }
+       fclose(fp);
+          return true;
+}
+
+static image_util_colorspace_e __convert_colorspace(maps_view_colorspace_type_e cs)
+{
+       switch (cs) {
+               case MAPS_VIEW_COLORSPACE_RGBA8888:
+                       return IMAGE_UTIL_COLORSPACE_RGBA8888;
+               case MAPS_VIEW_COLORSPACE_BGRA8888:
+                       return IMAGE_UTIL_COLORSPACE_BGRA8888;
+       }
+       return IMAGE_UTIL_COLORSPACE_RGBA8888;
+}
+
+EXPORT_API int maps_view_capture_snapshot(maps_view_h view,
+                                                                                       maps_view_snapshot_format_type_e type,
+                                                                                       int quality,
+                                                                                       const char *path)
+{
+       if (!view || type < MAPS_VIEW_SNAPSHOT_BMP || type > MAPS_VIEW_SNAPSHOT_JPEG ||
+               quality < 0 || quality > 100 || !path || (path && *path == '\0'))
+               return MAPS_ERROR_INVALID_PARAMETER;
+
+       int error = MAPS_ERROR_UNKNOWN;
+       int w, h;
+       unsigned char *image_buffer = NULL;
+       maps_view_colorspace_type_e cs = MAPS_VIEW_COLORSPACE_RGBA8888;
+       char *fname = NULL;
+
+       do {
+               if (!__get_plugin_interface(view)->maps_plugin_capture_snapshot)
+                       return  MAPS_ERROR_SERVICE_NOT_AVAILABLE;
+
+               error = __get_plugin_interface(view)->maps_plugin_capture_snapshot(view,
+                                                                                               (void**)&image_buffer, &w, &h, &cs);
+               if (error != MAPS_ERROR_NONE) break;
+               if (cs != MAPS_VIEW_COLORSPACE_RGBA8888 && cs != MAPS_VIEW_COLORSPACE_BGRA8888) {
+                       MAPS_LOGE("The color space is not supported yet. (%d)", cs);
+                       error = MAPS_ERROR_INVALID_OPERATION;
+                       break;
+               }
+
+               int fname_len = strlen(path) + 4;
+               fname = (char*)malloc(fname_len + 1);
+               if (!fname)
+                       return MAPS_ERROR_INVALID_OPERATION;
+
+               memset(fname, 0, fname_len + 1);
+               sprintf(fname, "%s.tmp", path);
+
+               if (type == MAPS_VIEW_SNAPSHOT_JPEG) {
+                       error = image_util_encode_jpeg(image_buffer, w, h,
+                                                                                       __convert_colorspace(cs), quality, fname);
+                       if (error != IMAGE_UTIL_ERROR_NONE) {
+                               MAPS_LOGD("image_buffer=%p, w=%d, h=%d, cs=%d, quality=%d, fname=%s",
+                                       image_buffer, w, h, cs, quality, fname);
+                               MAPS_LOGE("Failed to encode it with JPEG format. error=%d", error);
+                               error = MAPS_ERROR_INVALID_OPERATION;
+                       }
+               }
+               else if (type == MAPS_VIEW_SNAPSHOT_BMP) {
+                       if (cs == MAPS_VIEW_COLORSPACE_RGBA8888) {
+                               MAPS_LOGD("RGBA -> BGRA");
+                               __convert_rgba_to_bgra(image_buffer, w, h);
+                               cs = MAPS_VIEW_COLORSPACE_BGRA8888;
+                       }
+                       if (!__encode_bitmap_file(image_buffer, w, h, fname)) {
+                               MAPS_LOGE("Failed to store it to a file.");
+                               error = MAPS_ERROR_INVALID_OPERATION;
+                       }
+               }
+               else
+                       error = MAPS_ERROR_INVALID_PARAMETER;
+       } while(0);
+
+       if (fname) {
+               if (error == MAPS_ERROR_NONE) {
+                       remove(path);
+                       rename(fname, path);
+               }
+               else
+                       remove(fname);
+               free(fname);
+       }
+       g_free(image_buffer);
+       return error;
+}
index 849e176..85ae7b6 100755 (executable)
@@ -257,6 +257,12 @@ int maps_plugin_get_center_empty(maps_view_h view, maps_coordinates_h *coordinat
        return 0;
 }
 
+int maps_plugin_capture_snapshot_empty(maps_view_h view, void **data, int *width, int *height,
+                                                               maps_view_colorspace_type_e *cs)
+{
+       return 0;
+}
+
 /* Interface of a plugin with all empty functions */
 plugin::interface_s empty_interface = {
        /* Plugin dedicated functions */
@@ -306,6 +312,7 @@ plugin::interface_s empty_interface = {
        maps_plugin_get_min_zoom_level_empty,
        maps_plugin_get_max_zoom_level_empty,
        maps_plugin_get_center_empty,
+       maps_plugin_capture_snapshot_empty,
 };
 
 
index d8350ef..436dce3 100755 (executable)
@@ -226,6 +226,9 @@ maps_plugin_h plugin::binary_extractor::init(const provider_info &info,
                new_plugin->interface.maps_plugin_get_center =
                        (maps_plugin_get_center_f) gmod_find_sym(plugin,
                        "maps_plugin_get_center");
+               new_plugin->interface.maps_plugin_capture_snapshot =
+                       (maps_plugin_capture_snapshot_f) gmod_find_sym(plugin,
+                       "maps_plugin_capture_snapshot");
 
                /* 2.3 Check whether the plugin init function is valid */
                if (!new_plugin->interface.maps_plugin_init) {
@@ -494,5 +497,7 @@ void plugin::binary_extractor::trace_dbg(const plugin_s *plugin) const
 
        MAPS_LOGD("maps_plugin_cancel_request:\t\t%p",
                itf->maps_plugin_cancel_request);
+       MAPS_LOGD("maps_plugin_capture_snapshot:\t\t%p",
+               itf->maps_plugin_capture_snapshot);
        MAPS_LOGD("*********************************************");
 }
index 07dbc4e..2f970b8 100644 (file)
@@ -128,6 +128,8 @@ typedef int (*maps_plugin_geography_to_screen_f) (maps_view_h view,
 typedef int (*maps_plugin_get_min_zoom_level_f) (maps_view_h view, int *min_zoom_level);
 typedef int (*maps_plugin_get_max_zoom_level_f) (maps_view_h view, int *max_zoom_level);
 typedef int (*maps_plugin_get_center_f) (maps_view_h view, maps_coordinates_h *coordinates);
+typedef int (*maps_plugin_capture_snapshot_f) (maps_view_h view, void **data,
+                                                               int *width, int *height, maps_view_colorspace_type_e *cs);
 
 namespace plugin {
 
@@ -181,6 +183,7 @@ typedef struct _interface_s {
        maps_plugin_get_min_zoom_level_f maps_plugin_get_min_zoom_level;
        maps_plugin_get_max_zoom_level_f maps_plugin_get_max_zoom_level;
        maps_plugin_get_center_f maps_plugin_get_center;
+       maps_plugin_capture_snapshot_f maps_plugin_capture_snapshot;
 } interface_s;
 
 /* Plugin structure */
index bf92a6e..069e7b4 100644 (file)
@@ -34,6 +34,7 @@ extern void *_maps_view_get_maps_service_ptr(maps_view_h view);
 extern maps_view_object_h _maps_view_object_hit_test(maps_view_h view, int x, int y, maps_view_gesture_e gesture);
 extern int _maps_view_event_data_set_gesture_type(maps_view_event_data_h event, maps_view_gesture_e gesture_type);
 extern int _maps_view_event_data_set_position(maps_view_event_data_h event, int x, int y);
+extern int _maps_view_event_data_set_coordinates(maps_view_event_data_h event, maps_coordinates_h coordinates);
 extern int _maps_view_event_data_set_center(maps_view_event_data_h event, maps_coordinates_h center);
 extern int _maps_view_event_data_set_fingers(maps_view_event_data_h event, int fingers);
 extern int _maps_view_event_data_set_zoom_factor(maps_view_event_data_h event, double zoom_factor);
@@ -255,6 +256,7 @@ void view::gesture_processor::on_long_press()
        if (ed) {
                _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_LONG_PRESS);
                _maps_view_event_data_set_position(ed, tp._x, tp._y);
+               _maps_view_event_data_set_coordinates(ed, c);
                _maps_view_event_data_set_fingers(ed, 1);
                _maps_view_invoke_event_callback(_gd->_view, ed);
                maps_view_event_data_destroy(ed);
@@ -285,6 +287,7 @@ void view::gesture_processor::on_double_tap()
        if (ed) {
                _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_DOUBLE_TAP);
                _maps_view_event_data_set_position(ed, tp._x, tp._y);
+               _maps_view_event_data_set_coordinates(ed, c);
                _maps_view_event_data_set_fingers(ed, 1);
                _maps_view_invoke_event_callback(_gd->_view, ed);
                maps_view_event_data_destroy(ed);
@@ -315,6 +318,7 @@ void view::gesture_processor::on_tap()
        if (ed) {
                _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_TAP);
                _maps_view_event_data_set_position(ed, tp._x, tp._y);
+               _maps_view_event_data_set_coordinates(ed, c);
                _maps_view_event_data_set_fingers(ed, 1);
                _maps_view_invoke_event_callback(_gd->_view, ed);
                maps_view_event_data_destroy(ed);
@@ -344,6 +348,7 @@ void view::gesture_processor::on_two_finger_tap()
        if (ed) {
                _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_2_FINGER_TAP);
                _maps_view_event_data_set_position(ed, gesture_center._x, gesture_center._y);
+               _maps_view_event_data_set_coordinates(ed, c);
                _maps_view_event_data_set_fingers(ed, 2);
                _maps_view_invoke_event_callback(_gd->_view, ed);
                maps_view_event_data_destroy(ed);
@@ -353,13 +358,29 @@ void view::gesture_processor::on_two_finger_tap()
 
 void view::gesture_processor::on_panning_finished(int finger_no)
 {
+       const touch_point cur_tp = _gd->_info._finger_move[finger_no];
+
        /* Obtain fresh central coordinates of the map in the Plugin */
        maps_coordinates_h c = NULL;
        _maps_view_get_plugin_center(_gd->_view, &c);
 
        /* Directly set the updated center of the map */
        _maps_view_set_center_directly(_gd->_view, c);
+       maps_coordinates_destroy(c);
+       c = NULL;
+
+       maps_view_screen_to_geolocation(_gd->_view, cur_tp._x, cur_tp._y, &c);
 
+       /* Invoke user registered event callback */
+       maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
+       if(ed) {
+               _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_SCROLL);
+               _maps_view_event_data_set_position(ed, cur_tp._x, cur_tp._y);
+               _maps_view_event_data_set_coordinates(ed, c);
+               _maps_view_event_data_set_fingers(ed, 1);
+               _maps_view_invoke_event_callback(_gd->_view, ed);
+               maps_view_event_data_destroy(ed);
+       }
        maps_coordinates_destroy(c);
 }
 
@@ -391,15 +412,21 @@ void view::gesture_processor::on_pan(int finger_no)
                                                        -delta_x,
                                                        -delta_y));
 
+       /* c. Get coordinates after delta_x and delta_y are updated */
+       maps_coordinates_h c = NULL;
+       maps_view_screen_to_geolocation(_gd->_view, cur_tp._x, cur_tp._y, &c);
+
        /* Invoke user registered event callback */
        maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
        if (ed) {
                _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_SCROLL);
                _maps_view_event_data_set_position(ed, cur_tp._x, cur_tp._y);
+               _maps_view_event_data_set_coordinates(ed, c);
                _maps_view_event_data_set_fingers(ed, 1);
                _maps_view_invoke_event_callback(_gd->_view, ed);
                maps_view_event_data_destroy(ed);
        }
+       maps_coordinates_destroy(c);
 }
 
 view::touch_point view::gesture_processor::calc_center(
@@ -605,6 +632,7 @@ void view::gesture_processor::on_zoom_rotate(bool zoom_changed, double zoom_fact
                maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
                if (ed) {
                        _maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+                       _maps_view_event_data_set_coordinates(ed, center);
                        _maps_view_event_data_set_fingers(ed, 2);
 
                        if (zoom_changed) {
@@ -628,6 +656,7 @@ void view::gesture_processor::on_zoom_rotate(bool zoom_changed, double zoom_fact
                if (ed) {
                        _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_ZOOM);
                        _maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+                       _maps_view_event_data_set_coordinates(ed, center);
                        _maps_view_event_data_set_fingers(ed, 2);
                        _maps_view_event_data_set_zoom_factor(ed, zoom_factor);
                        _maps_view_event_data_set_rotation_angle(ed, rotation_angle);
@@ -641,6 +670,7 @@ void view::gesture_processor::on_zoom_rotate(bool zoom_changed, double zoom_fact
                if (ed) {
                        _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_ROTATE);
                        _maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+                       _maps_view_event_data_set_coordinates(ed, center);
                        _maps_view_event_data_set_fingers(ed, 2);
                        _maps_view_event_data_set_zoom_factor(ed, zoom_factor);
                        _maps_view_event_data_set_rotation_angle(ed, rotation_angle);
diff --git a/src/view/overlay_constructor.cpp b/src/view/overlay_constructor.cpp
new file mode 100644 (file)
index 0000000..e50fd77
--- /dev/null
@@ -0,0 +1,66 @@
+/* Copyright (c) 2010-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.
+ */
+
+
+#include "overlay_constructor.h"
+
+extern int _maps_view_object_create(const maps_view_object_type_e type, maps_view_object_h *object);
+
+extern int _maps_view_object_overlay_set_object(maps_view_object_h overlay, Evas_Object *object);
+
+extern int _maps_view_object_overlay_set_type(maps_view_object_h overlay, maps_view_overlay_type_e type);
+
+maps_view_object_h view::overlay_constructor::construct(maps_coordinates_h coordinates,
+       Evas_Object *object, maps_view_overlay_type_e type)
+{
+       if (!coordinates || !object) {
+               __error = MAPS_ERROR_INVALID_PARAMETER;
+               return NULL;
+       }
+
+       __error = MAPS_ERROR_NONE;
+
+       maps_view_object_h overlay = NULL;
+       do {
+               /* 1. Create a visual object for marker */
+               __error = _maps_view_object_create(MAPS_VIEW_OBJECT_OVERLAY, &overlay);
+               if (__error != MAPS_ERROR_NONE)
+                       break;
+
+               /* 2. Set the overlay type */
+               __error = _maps_view_object_overlay_set_type(overlay, type);
+               if (__error != MAPS_ERROR_NONE)
+                       break;
+
+               /* 3. Set the evas object to the overlay */
+               __error = _maps_view_object_overlay_set_object(overlay, object);
+               if (__error != MAPS_ERROR_NONE)
+                       break;
+
+               /* 4. Move the overlay to the given coordinates */
+               __error = maps_view_object_overlay_set_coordinates(overlay, coordinates);
+               if (__error != MAPS_ERROR_NONE)
+                       break;
+
+               /* SUCCESS */
+               return overlay;
+
+       } while(false);
+
+       /* FAILURE: Releasing objects */
+       maps_view_object_destroy(overlay);
+       return NULL;
+}
diff --git a/src/view/overlay_constructor.h b/src/view/overlay_constructor.h
new file mode 100644 (file)
index 0000000..973b4de
--- /dev/null
@@ -0,0 +1,41 @@
+/* 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_VIEW_OVERLAY_CONSTRUCTOR_H__
+#define __MAPS_VIEW_OVERLAY_CONSTRUCTOR_H__
+
+#include "maps_error.h"
+#include "maps_view_object.h"
+
+namespace view
+{
+       class overlay_constructor {
+       private:
+               int __error;
+       public:
+               overlay_constructor()
+                       : __error(MAPS_ERROR_NONE)
+               {
+               }
+       public:
+               maps_view_object_h construct(maps_coordinates_h coordinates, Evas_Object *object, maps_view_overlay_type_e type);
+               int get_error() const
+               {
+                       return __error;
+               }
+       };
+};
+
+#endif                         /* __MAPS_VIEW_overlay_constructor_H__ */