1.fixed to return NOT_FOUND, not INVALID_PARAMETER, if a member variable of the handl... 40/86340/6
authorchanywa <cbible.kim@samsung.com>
Wed, 31 Aug 2016 14:11:56 +0000 (23:11 +0900)
committerchanywa <cbible.kim@samsung.com>
Thu, 1 Sep 2016 06:47:11 +0000 (15:47 +0900)
2.modified the length of data field types for which result data is stored

Change-Id: I32e5d778f60ce2f19d1a867aae76501b1409dabb

23 files changed:
capi-maps-service.changes
include/maps_preference.h
packaging/capi-maps-service.spec
src/api/maps_address.cpp
src/api/maps_place.cpp
src/api/maps_place_attribute.cpp
src/api/maps_place_category.cpp
src/api/maps_place_contact.cpp
src/api/maps_place_editorial.cpp
src/api/maps_place_filter.cpp
src/api/maps_place_image.cpp
src/api/maps_place_link_object.cpp
src/api/maps_place_media.cpp
src/api/maps_place_review.cpp
src/api/maps_place_url.cpp
src/api/maps_plugin_info.cpp
src/api/maps_preference.cpp
src/api/maps_route.cpp
src/api/maps_route_maneuver.cpp
src/api/maps_route_segment.cpp
src/api/maps_view.cpp
src/api/maps_view_object.cpp
src/maps_util.h

index 5df1fd294dd85ae959b08a94d69ae5bc0cceac3e..1afc7c751a2b25f9d5496ecec34d79cd7c178d61 100644 (file)
@@ -1,3 +1,8 @@
+[Version]   capi-maps-service_0.6.4
+[Date]      31 Aug 2016
+[Title]     fixed to return NOT_FOUND, not INVALID_PARAMETER, if a member variable of the handle is NULL
+[Developer] Seechan Kim <cbible.kim@samsung.com>
+
 [Version]   capi-maps-service_0.6.3
 [Date]      24 Aug 2016
 [Title]     fixed for compatibility for wrong multi-touch events from Evas
index ece6b084ccf8ea0b5ab97e88ce15c157c4e012f3..b350fccab0b42f170bee57547692ddc4213f6a64 100644 (file)
@@ -96,6 +96,10 @@ extern "C" {
  * @brief      The name of the preference indicating rectangular geographical
  * area to avoid while computing the route
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ * @remark     The values are consist of top-left and bottom-right geo-coordinates,
+ * and comma or semicolon are used to delimit each value.
+ * \n Format : {top-left latitude};{top-left longitude};{bottom-right latitude};{bottom-right longitude}
+ * \n Example : "37.125;127.0572;37.37.102;127.0672"
  */
 #define MAPS_ROUTE_RECT_AREA_TO_AVOID "MAPS_ROUTE_RECT_AREA_TO_AVOID"
 
@@ -138,6 +142,8 @@ extern "C" {
  * @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 2.3.2 @endif
+ * @remark     To enable realtime traffic, set the value to "true".
+ * Otherwise, set it to "false".
  */
 #define MAPS_ROUTE_REALTIME_TRAFFIC "MAPS_ROUTE_REALTIME_TRAFFIC"
 
index cf4caf04fd7c82be75f3db89ece3747a7800053d..a53daf486193792e644ddda2b2cfafdb39b0cf7b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-maps-service
 Summary:    Tizen Maps Service API
-Version:    0.6.3
+Version:    0.6.4
 Release:    1
 Group:      Location/API
 License:    Apache-2.0
index 8b39ef06ae459cc5faf3534818c018f731bee98b..d68854af912b8ddde93877b2b27cdef783786945 100644 (file)
@@ -42,7 +42,6 @@ typedef struct _maps_address_s
 
 const gsize _MAPS_ADDRESS_BUILDING_NUMBER_MAX_LENGTH = 32;
 const gsize _MAPS_ADDRESS_STREET_MAX_LENGTH = 256;
-const gsize _MAPS_ADDRESS_MAX_LENGTH = 128;
 const gsize _MAPS_ADDRESS_DISTRICT_MAX_LENGTH = 128;
 const gsize _MAPS_ADDRESS_CITY_MAX_LENGTH = 256;
 const gsize _MAPS_ADDRESS_STATE_MAX_LENGTH = 256;
index 641bb520e37a6487e4501a30fec4f7b4f11adb74..203d02f46958195b92ff574c9fd922966c4268f2 100644 (file)
@@ -88,9 +88,9 @@ typedef struct _maps_place_s
 } maps_place_s;
 
 /* TODO: extract all such constants to the dedcated header file */
-const gsize _MAPS_PLACE_ID_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_NAME_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_URI_MAX_LENGTH = 256;
+const gsize _MAPS_PLACE_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
+const gsize _MAPS_PLACE_NAME_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_URI_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -317,6 +317,8 @@ EXPORT_API int maps_place_get_id(const maps_place_h place, char **id)
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !id)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_s *) place)->id)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_s *) place)->id,
                _MAPS_PLACE_ID_MAX_LENGTH, id);
 }
@@ -327,6 +329,8 @@ EXPORT_API int maps_place_get_name(const maps_place_h place, char **name)
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !name)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_s *) place)->name)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_s *) place)->name,
                _MAPS_PLACE_NAME_MAX_LENGTH, name);
 }
@@ -337,6 +341,8 @@ EXPORT_API int maps_place_get_uri(const maps_place_h place, char **uri)
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !uri)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_s *) place)->uri)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_s *) place)->uri,
                _MAPS_PLACE_URI_MAX_LENGTH, uri);
 }
@@ -348,6 +354,8 @@ EXPORT_API int maps_place_get_location(const maps_place_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !location)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_s *) place)->location)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_coordinates_clone(((maps_place_s *) place)->location,
                location);
 }
@@ -371,6 +379,8 @@ EXPORT_API int maps_place_get_address(const maps_place_h place,
                return MAPS_ERROR_INVALID_PARAMETER;
        if (!__is_supported(place, MAPS_PLACE_ADDRESS))
                return MAPS_ERROR_NOT_SUPPORTED;
+       if (!((maps_place_s *) place)->address)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_address_clone(((maps_place_s *) place)->address, address);
 }
 
@@ -383,8 +393,9 @@ EXPORT_API int maps_place_get_rating(const maps_place_h place,
                return MAPS_ERROR_INVALID_PARAMETER;
        if (!__is_supported(place, MAPS_PLACE_RATING))
                return MAPS_ERROR_NOT_SUPPORTED;
-       return maps_place_rating_clone(((maps_place_s *) place)->rating,
-               rating);
+       if (!((maps_place_s *) place)->rating)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_place_rating_clone(((maps_place_s *) place)->rating, rating);
 }
 
 EXPORT_API int maps_place_foreach_property(const maps_place_h place,
@@ -506,8 +517,9 @@ EXPORT_API int maps_place_get_supplier_link(const maps_place_image_h place,
                return MAPS_ERROR_INVALID_PARAMETER;
        if (!__is_supported(place, MAPS_PLACE_SUPPLIER))
                return MAPS_ERROR_NOT_SUPPORTED;
-       return maps_place_link_object_clone(((maps_place_s *) place)->supplier,
-               supplier);
+       if (!((maps_place_s *) place)->supplier)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_place_link_object_clone(((maps_place_s *) place)->supplier, supplier);
 }
 
 EXPORT_API int maps_place_get_related_link(const maps_place_image_h place,
@@ -519,8 +531,9 @@ EXPORT_API int maps_place_get_related_link(const maps_place_image_h place,
                return MAPS_ERROR_INVALID_PARAMETER;
        if (!__is_supported(place, MAPS_PLACE_RELATED))
                return MAPS_ERROR_NOT_SUPPORTED;
-       return maps_place_link_object_clone(((maps_place_s *) place)->related,
-               related);
+       if (!((maps_place_s *) place)->related)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_place_link_object_clone(((maps_place_s *) place)->related, related);
 }
 
 int _maps_place_is_data_supported(const maps_place_h place,
index 9cf8db8e628d52492555270b3fcc47ba8004f2b7..dadeb4550522109a0fc5eafa4c53163ce8bfc588 100644 (file)
@@ -26,9 +26,9 @@ typedef struct _maps_place_attribute_s
        char *text;
 } maps_place_attribute_s;
 
-const gsize _MAPS_PLACE_ATTRIBUTE_ID_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_ATTRIBUTE_LABEL_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_ATTRIBUTE_TEXT_MAX_LENGTH = 512;
+const gsize _MAPS_PLACE_ATTRIBUTE_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
+const gsize _MAPS_PLACE_ATTRIBUTE_LABEL_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_ATTRIBUTE_TEXT_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -119,6 +119,8 @@ EXPORT_API int maps_place_attribute_get_id(const maps_place_attribute_h place, c
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !id)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_attribute_s *) place)->id)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_attribute_s *) place)->id,
                _MAPS_PLACE_ATTRIBUTE_ID_MAX_LENGTH, id);
 }
@@ -129,6 +131,8 @@ EXPORT_API int maps_place_attribute_get_text(const maps_place_attribute_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !text)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_attribute_s *) place)->text)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_attribute_s *) place)->text,
                _MAPS_PLACE_ATTRIBUTE_TEXT_MAX_LENGTH, text);
 }
@@ -139,6 +143,8 @@ EXPORT_API int maps_place_attribute_get_label(const maps_place_attribute_h place
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !label)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_attribute_s *) place)->label)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_attribute_s *) place)->label,
                _MAPS_PLACE_ATTRIBUTE_LABEL_MAX_LENGTH, label);
 }
index eec9e773af076ee93e74ef93107936557096145c..68717291a15ec268a7bd6974caa507839e46f9ef 100644 (file)
@@ -27,9 +27,9 @@ typedef struct _maps_place_category_s
        char *url;
 } maps_place_category_s;
 
-const gsize _MAPS_PLACE_CATEGORY_ID_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_CATEGORY_NAME_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_CATEGORY_URL_MAX_LENGTH = 128;
+const gsize _MAPS_PLACE_CATEGORY_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
+const gsize _MAPS_PLACE_CATEGORY_NAME_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_CATEGORY_URL_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -121,6 +121,8 @@ EXPORT_API int maps_place_category_get_name(const maps_place_category_h place, c
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !name)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_category_s *) place)->name)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_category_s *) place)->name,
                _MAPS_PLACE_CATEGORY_NAME_MAX_LENGTH, name);
 }
@@ -131,6 +133,8 @@ EXPORT_API int maps_place_category_get_id(const maps_place_category_h place, cha
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !id)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_category_s *) place)->id)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_category_s *) place)->id,
                _MAPS_PLACE_CATEGORY_ID_MAX_LENGTH, id);
 }
@@ -141,6 +145,8 @@ EXPORT_API int maps_place_category_get_url(const maps_place_category_h place, ch
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !url)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_category_s *) place)->url)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_category_s *) place)->url,
                _MAPS_PLACE_CATEGORY_URL_MAX_LENGTH, url);
 }
index e9d55af425e24253f92f8e60e4b71800873ec8f8..3f52e7466dd02559fc074956115f3dc3ac82a906 100644 (file)
@@ -26,9 +26,9 @@ typedef struct _maps_place_contact_s
        char * value;
 } maps_place_contact_s;
 
-const gsize _MAPS_PLACE_CONTACT_LABEL_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_CONTACT_TYPE_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_CONTACT_VALUE_MAX_LENGTH = 512;
+const gsize _MAPS_PLACE_CONTACT_LABEL_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_CONTACT_TYPE_MAX_LENGTH = MAPS_BASE_TYPE_MAX_LEN;
+const gsize _MAPS_PLACE_CONTACT_VALUE_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -118,6 +118,8 @@ EXPORT_API int maps_place_contact_get_label(const maps_place_contact_h place, ch
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !label)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_contact_s *) place)->label)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_contact_s *) place)->label,
                _MAPS_PLACE_CONTACT_LABEL_MAX_LENGTH, label);
 }
@@ -128,6 +130,8 @@ EXPORT_API int maps_place_contact_get_type(const maps_place_contact_h place, cha
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !type)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_contact_s *) place)->type)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_contact_s *) place)->type,
                _MAPS_PLACE_CONTACT_TYPE_MAX_LENGTH, type);
 }
@@ -138,6 +142,8 @@ EXPORT_API int maps_place_contact_get_value(const maps_place_contact_h place, ch
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !value)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_contact_s *) place)->value)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_contact_s *) place)->value,
                _MAPS_PLACE_CONTACT_VALUE_MAX_LENGTH, value);
 }
index d7777e9c9b6f41df53ce5784425b0e03b29ada85..6c98fdabe92d753ed5cd734cd082a44317fd5cb4 100644 (file)
@@ -27,8 +27,8 @@ typedef struct _maps_place_editorial_s
        maps_place_media_h media;
 } maps_place_editorial_s;
 
-const gsize _MAPS_PLACE_EDITORIAL_DESCRIPTION_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_EDITORIAL_LANGUAGE_MAX_LENGTH = 32;
+const gsize _MAPS_PLACE_EDITORIAL_DESCRIPTION_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
+const gsize _MAPS_PLACE_EDITORIAL_LANGUAGE_MAX_LENGTH = MAPS_BASE_TYPE_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -122,6 +122,8 @@ EXPORT_API int maps_place_editorial_get_description(const maps_place_editorial_h
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !description)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_editorial_s *) place)->description)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_editorial_s *) place)->description,
                _MAPS_PLACE_EDITORIAL_DESCRIPTION_MAX_LENGTH, description);
 }
@@ -133,6 +135,8 @@ EXPORT_API int maps_place_editorial_get_language(const maps_place_editorial_h pl
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !language)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_editorial_s *) place)->language)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_editorial_s *) place)->language,
                _MAPS_PLACE_EDITORIAL_LANGUAGE_MAX_LENGTH, language);
 }
@@ -144,6 +148,8 @@ EXPORT_API int maps_place_editorial_get_media(const maps_place_editorial_h place
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !media)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_editorial_s *) place)->media)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_media_clone(((maps_place_editorial_s *) place)->media, media);
 }
 
index a54e6dace3b2f7f1357fb38a371ba956d0d64c39..36b89f0c1572a03382552d0d82cf114a217f45ed 100644 (file)
@@ -107,6 +107,8 @@ EXPORT_API int maps_place_filter_get(const maps_place_filter_h filter,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!filter)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_filter_s *) filter)->table)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_item_hashtable_get_string(((maps_place_filter_s *) filter)->table,
                key, value);
 }
@@ -132,6 +134,8 @@ EXPORT_API int maps_place_filter_get_keyword(const maps_place_filter_h filter,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!filter || !keyword)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_filter_s *) filter)->table)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_item_hashtable_get_string(((maps_place_filter_s *) filter)->table,
                "MAPS_PLACE_FILTER_KEYWORD", keyword);
 }
@@ -143,6 +147,8 @@ EXPORT_API int maps_place_filter_get_place_name(const maps_place_filter_h filter
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!filter || !place_name)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_filter_s *) filter)->table)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_item_hashtable_get_string(((maps_place_filter_s *) filter)->table,
                "MAPS_PLACE_FILTER_PLACE_NAME", place_name);
 }
@@ -154,6 +160,8 @@ EXPORT_API int maps_place_filter_get_category(const maps_place_filter_h filter,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!filter || !category)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_filter_s *) filter)->table)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_item_hashtable_get(((maps_place_filter_s *) filter)->table,
                "MAPS_PLACE_FILTER_CATEGORY", (void **) category);
 }
@@ -165,6 +173,8 @@ EXPORT_API int maps_place_filter_get_place_address(const maps_place_filter_h fil
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!filter || !place_address)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_filter_s *) filter)->table)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_item_hashtable_get_string(((maps_place_filter_s *) filter)->table,
                "MAPS_PLACE_FILTER_PLACE_ADDRESS", place_address);
 }
index af04b186962f5bbd33b3c3afba214309f5646699..5639c5ea01849da4c75d68f23c6a875f9d16f8a9 100644 (file)
@@ -31,8 +31,8 @@ typedef struct _maps_place_image_s
        maps_place_link_object_h user;
 } maps_place_image_s;
 
-const gsize _MAPS_PLACE_IMAGE_ID_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_IMAGE_URL_MAX_LENGTH = 128;
+const gsize _MAPS_PLACE_IMAGE_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
+const gsize _MAPS_PLACE_IMAGE_URL_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -139,6 +139,8 @@ EXPORT_API int maps_place_image_get_url(const maps_place_image_h place, char **u
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !url)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->url)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_image_s *) place)->url,
                _MAPS_PLACE_IMAGE_URL_MAX_LENGTH, url);
 }
@@ -149,6 +151,8 @@ EXPORT_API int maps_place_image_get_id(const maps_place_image_h place, char **id
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !id)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->id)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_image_s *) place)->id,
                _MAPS_PLACE_IMAGE_ID_MAX_LENGTH, id);
 }
@@ -159,6 +163,8 @@ EXPORT_API int maps_place_image_get_width(const maps_place_image_h place, int *w
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !width)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->width)
+               return MAPS_ERROR_NOT_FOUND;
        *width = ((maps_place_image_s *) place)->width;
        return MAPS_ERROR_NONE;
 }
@@ -169,6 +175,8 @@ EXPORT_API int maps_place_image_get_height(const maps_place_image_h place, int *
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !height)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->height)
+               return MAPS_ERROR_NOT_FOUND;
        *height = ((maps_place_image_s *) place)->height;
        return MAPS_ERROR_NONE;
 }
@@ -180,6 +188,8 @@ EXPORT_API int maps_place_image_get_user_link(const maps_place_image_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !user)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->user)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_link_object_clone(((maps_place_image_s *) place)->user, user);
 }
 
@@ -190,6 +200,8 @@ EXPORT_API int maps_place_image_get_media(const maps_place_image_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !media)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_image_s *) place)->media)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_media_clone(((maps_place_image_s *) place)->media, media);
 }
 
index 603586355a3b1fe746dd215a352a4fbd04bd7727..8105ad1037f01d826e155a9d2417b0e207a68c4b 100644 (file)
@@ -27,10 +27,10 @@ typedef struct _maps_place_link_object_s
        char *string;
 } maps_place_link_object_s;
 
-const gsize _MAPS_PLACE_LINK_OBJECT_ID_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_LINK_OBJECT_NAME_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_LINK_OBJECT_TYPE_MAX_LENGTH = 32;
-const gsize _MAPS_PLACE_LINK_OBJECT_STRING_MAX_LENGTH = 256;
+const gsize _MAPS_PLACE_LINK_OBJECT_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
+const gsize _MAPS_PLACE_LINK_OBJECT_NAME_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_LINK_OBJECT_TYPE_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_LINK_OBJECT_STRING_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -131,6 +131,8 @@ EXPORT_API int maps_place_link_object_get_string(const maps_place_link_object_h
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !string)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_link_object_s *) place)->string)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_link_object_s *) place)->string,
                _MAPS_PLACE_LINK_OBJECT_STRING_MAX_LENGTH, string);
 }
@@ -142,6 +144,8 @@ EXPORT_API int maps_place_link_object_get_type(const maps_place_link_object_h pl
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !type)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_link_object_s *) place)->type)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_link_object_s *) place)->type,
                _MAPS_PLACE_LINK_OBJECT_TYPE_MAX_LENGTH, type);
 }
@@ -153,6 +157,8 @@ EXPORT_API int maps_place_link_object_get_id(const maps_place_link_object_h plac
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !id)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_link_object_s *) place)->id)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_link_object_s *) place)->id,
                _MAPS_PLACE_LINK_OBJECT_ID_MAX_LENGTH, id);
 }
@@ -164,6 +170,8 @@ EXPORT_API int maps_place_link_object_get_name(const maps_place_link_object_h pl
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !name)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_link_object_s *) place)->name)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_link_object_s *) place)->name,
                _MAPS_PLACE_LINK_OBJECT_NAME_MAX_LENGTH, name);
 }
index 61b3de2b35ae178480601962344f47e70dd979ca..4fba0797cd5ec6c924892e9120655a7ef21b5778 100644 (file)
@@ -27,7 +27,7 @@ typedef struct _maps_place_media_s
        maps_place_link_object_h via;
 } maps_place_media_s;
 
-const gsize _MAPS_PLACE_MEDIA_ATTRIBUTION_MAX_LENGTH = 64;
+const gsize _MAPS_PLACE_MEDIA_ATTRIBUTION_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -118,6 +118,8 @@ EXPORT_API int maps_place_media_get_attribution(const maps_place_media_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !attribution)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_media_s *) place)->attribution)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_media_s *) place)->attribution,
                _MAPS_PLACE_MEDIA_ATTRIBUTION_MAX_LENGTH, attribution);
 }
@@ -129,6 +131,8 @@ EXPORT_API int maps_place_media_get_supplier(const maps_place_media_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !supplier)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_media_s *) place)->supplier)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_link_object_clone(((maps_place_media_s *) place)->supplier, supplier);
 }
 
@@ -139,6 +143,8 @@ EXPORT_API int maps_place_media_get_via(const maps_place_media_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !via)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_media_s *) place)->via)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_link_object_clone(((maps_place_media_s *) place)->via, via);
 }
 
index 7a6042f8ddeda21bcf38a8a70b7bc4fb6cb2745a..5da284c8487c9a33d9063702cd6266f65ac401d9 100644 (file)
@@ -32,10 +32,10 @@ typedef struct _maps_place_review_s
        maps_place_link_object_h user;
 } maps_place_review_s;
 
-const gsize _MAPS_PLACE_REVIEW_DATE_MAX_LENGTH = 64;
-const gsize _MAPS_PLACE_REVIEW_TITLE_MAX_LENGTH = 264;
-const gsize _MAPS_PLACE_REVIEW_DESCRIPTION_MAX_LENGTH = 512;
-const gsize _MAPS_PLACE_REVIEW_LANGUAGE_MAX_LENGTH = 32;
+const gsize _MAPS_PLACE_REVIEW_DATE_MAX_LENGTH = MAPS_BASE_DATE_MAX_LEN;
+const gsize _MAPS_PLACE_REVIEW_TITLE_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_PLACE_REVIEW_DESCRIPTION_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
+const gsize _MAPS_PLACE_REVIEW_LANGUAGE_MAX_LENGTH = MAPS_BASE_TYPE_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -150,6 +150,8 @@ EXPORT_API int maps_place_review_get_date(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !date)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->date)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_review_s *) place)->date,
                _MAPS_PLACE_REVIEW_DATE_MAX_LENGTH, date);
 }
@@ -161,6 +163,8 @@ EXPORT_API int maps_place_review_get_title(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !title)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->title)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_review_s *) place)->title,
                _MAPS_PLACE_REVIEW_TITLE_MAX_LENGTH, title);
 }
@@ -172,6 +176,8 @@ EXPORT_API int maps_place_review_get_rating(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !rating)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->rating)
+               return MAPS_ERROR_NOT_FOUND;
        *rating = ((maps_place_review_s *) place)->rating;
        return MAPS_ERROR_NONE;
 }
@@ -183,6 +189,8 @@ EXPORT_API int maps_place_review_get_description(const maps_place_review_h place
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !description)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->description)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_review_s *) place)->description,
                _MAPS_PLACE_REVIEW_DESCRIPTION_MAX_LENGTH, description);
 }
@@ -194,6 +202,8 @@ EXPORT_API int maps_place_review_get_language(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !language)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->language)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_review_s *) place)->language,
                _MAPS_PLACE_REVIEW_LANGUAGE_MAX_LENGTH, language);
 }
@@ -205,6 +215,8 @@ EXPORT_API int maps_place_review_get_media(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !media)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->media)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_media_clone(((maps_place_review_s *) place)->media,
                media);
 }
@@ -216,6 +228,8 @@ EXPORT_API int maps_place_review_get_user_link(const maps_place_review_h place,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !user)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_review_s *) place)->user)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_place_link_object_clone(((maps_place_review_s *) place)->user, user);
 }
 
index c96ca5296b0afe9c5c5c1e178ac9ba75ed13bbc8..7479847cf2f23e940d6762f784cf2294c600116b 100644 (file)
@@ -25,8 +25,8 @@ typedef struct _maps_place_url_s
        char *desc;
 } maps_place_url_s;
 
-const gsize _MAPS_PLACE_URL_PATH_MAX_LENGTH = 264;
-const gsize _MAPS_PLACE_URL_DESC_MAX_LENGTH = 512;
+const gsize _MAPS_PLACE_URL_PATH_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
+const gsize _MAPS_PLACE_URL_DESC_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -109,6 +109,8 @@ EXPORT_API int maps_place_url_get_path(const maps_place_url_h place, char **path
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !path)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_url_s *) place)->path)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_url_s *) place)->path,
                _MAPS_PLACE_URL_PATH_MAX_LENGTH, path);
 }
@@ -119,6 +121,8 @@ EXPORT_API int maps_place_url_get_description(const maps_place_url_h place, char
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!place || !desc)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_place_url_s *) place)->desc)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_place_url_s *) place)->desc,
                _MAPS_PLACE_URL_DESC_MAX_LENGTH, desc);
 }
index f713c0d667291ec7f9bbf0e092c6da3ab0c83246..ec690fc1246e784da35a93fe66ea493ac0da65e6 100644 (file)
@@ -24,7 +24,7 @@ typedef struct _maps_plugin_info_s
        char *provider_name;
 } maps_plugin_info_s;
 
-const gsize _MAPS_PLUGIN_INFO_NAME_MAX_LENGTH = 64;
+const gsize _MAPS_PLUGIN_INFO_NAME_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
index 6c953d94d46214370cac184687cb5dde99009e96..9af4639876fefd031791583e14bec582e9898359 100644 (file)
@@ -35,8 +35,6 @@ static bool __isnamed_preference(const char *key)
                return false;
 
        static guint names[] = {
-               g_str_hash(MAPS_PLACE_FILTER_TYPE),
-               g_str_hash(MAPS_PLACE_FILTER_SORT_BY),
                g_str_hash(MAPS_PLACE_FILTER_TYPE),
                g_str_hash(MAPS_PLACE_FILTER_SORT_BY),
                g_str_hash(MAPS_ROUTE_FREEFORM_ADDR_TO_AVOID),
index 9b50508969794ad2797ba18b283f9c1f3803e589..fedeba3b950590e988f475fe68dca3e7cb5136b8 100644 (file)
@@ -65,7 +65,7 @@ typedef struct _maps_route_s
        /* TODO: implement hashtable<int, int> */
 } maps_route_s;
 
-const gsize _MAPS_ROUTE_ID_MAX_LENGTH = 32;
+const gsize _MAPS_ROUTE_ID_MAX_LENGTH = MAPS_BASE_ID_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
index f8b19b924438936c26769bfeba48169f4774156a..1852e3e6c7b017f567c9db154970890a37b9435a 100644 (file)
@@ -33,9 +33,9 @@ typedef struct _maps_route_maneuver_s
        double distance_to_next_instruction;    /* distance */
 } maps_route_maneuver_s;
 
-const gsize _MAPS_ROUTE_MANEUVER_ROAD_NAME_MAX_LENGTH = 128;
-const gsize _MAPS_ROUTE_MANEUVER_INSTRUCTION_TEXT_MAX_LENGTH = 256;
-const gsize _MAPS_ROUTE_MANEUVER_LOCALE_MAX_LENGTH = 32;
+const gsize _MAPS_ROUTE_MANEUVER_ROAD_NAME_MAX_LENGTH = MAPS_BASE_NAME_MAX_LEN;
+const gsize _MAPS_ROUTE_MANEUVER_INSTRUCTION_TEXT_MAX_LENGTH = MAPS_BASE_DESC_MAX_LEN;
+const gsize _MAPS_ROUTE_MANEUVER_LOCALE_MAX_LENGTH = MAPS_BASE_TYPE_MAX_LEN;
 
 /*----------------------------------------------------------------------------*/
 
@@ -174,8 +174,9 @@ EXPORT_API int maps_route_maneuver_get_position(const maps_route_maneuver_h mane
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!maneuver || !position)
                return MAPS_ERROR_INVALID_PARAMETER;
-       return maps_coordinates_clone(((maps_route_maneuver_s *) maneuver)->
-               position, position);
+       if (!((maps_route_maneuver_s *) maneuver)->position)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_coordinates_clone(((maps_route_maneuver_s *) maneuver)->position, position);
 }
 
 EXPORT_API int maps_route_maneuver_get_road_name(const maps_route_maneuver_h maneuver,
@@ -185,6 +186,8 @@ EXPORT_API int maps_route_maneuver_get_road_name(const maps_route_maneuver_h man
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!maneuver || !road_name)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_route_maneuver_s *) maneuver)->road_name)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_route_maneuver_s *) maneuver)->road_name,
                _MAPS_ROUTE_MANEUVER_ROAD_NAME_MAX_LENGTH, road_name);
 }
@@ -196,6 +199,8 @@ EXPORT_API int maps_route_maneuver_get_instruction_text(const maps_route_maneuve
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!maneuver || !instruction_text)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_route_maneuver_s *) maneuver)->instruction_text)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_route_maneuver_s *) maneuver)->instruction_text,
                _MAPS_ROUTE_MANEUVER_INSTRUCTION_TEXT_MAX_LENGTH, instruction_text);
 }
@@ -207,6 +212,8 @@ EXPORT_API int maps_route_maneuver_get_locale(const maps_route_maneuver_h maneuv
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!maneuver || !locale)
                return MAPS_ERROR_INVALID_PARAMETER;
+       if (!((maps_route_maneuver_s *) maneuver)->locale)
+               return MAPS_ERROR_NOT_FOUND;
        return maps_get_string(((maps_route_maneuver_s *) maneuver)->locale,
                _MAPS_ROUTE_MANEUVER_LOCALE_MAX_LENGTH, locale);
 }
index 53512ac37a8fdda12057de758e596a186e8039f7..0e1e5f07bd334bc75089ac8a07cf302cc490e6e4 100644 (file)
@@ -174,8 +174,9 @@ EXPORT_API int maps_route_segment_get_origin(const maps_route_segment_h segment,
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!segment || !origin)
                return MAPS_ERROR_INVALID_PARAMETER;
-       return maps_coordinates_clone(((maps_route_segment_s *) segment)->
-               origin, origin);
+       if (!((maps_route_segment_s *) segment)->origin)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_coordinates_clone(((maps_route_segment_s *) segment)->origin, origin);
 }
 
 EXPORT_API int maps_route_segment_get_destination(const maps_route_segment_h segment,
@@ -185,8 +186,9 @@ EXPORT_API int maps_route_segment_get_destination(const maps_route_segment_h seg
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!segment || !destination)
                return MAPS_ERROR_INVALID_PARAMETER;
-       return maps_coordinates_clone(((maps_route_segment_s *) segment)->
-               destination, destination);
+       if (!((maps_route_segment_s *) segment)->destination)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_coordinates_clone(((maps_route_segment_s *) segment)->destination, destination);
 }
 
 EXPORT_API int maps_route_segment_get_bounding_box(const maps_route_segment_h segment,
@@ -196,8 +198,9 @@ EXPORT_API int maps_route_segment_get_bounding_box(const maps_route_segment_h se
                return MAPS_ERROR_NOT_SUPPORTED;
        if (!segment || !bounding_box)
                return MAPS_ERROR_INVALID_PARAMETER;
-       return maps_area_clone(((maps_route_segment_s *) segment)->bounding_box,
-               bounding_box);
+       if (!((maps_route_segment_s *) segment)->bounding_box)
+               return MAPS_ERROR_NOT_FOUND;
+       return maps_area_clone(((maps_route_segment_s *) segment)->bounding_box, bounding_box);
 }
 
 EXPORT_API int maps_route_segment_get_distance(const maps_route_segment_h segment,
index 3ed86ac7cc125e662f19b1b8ea282fb8bf28ff53..73ccb6618c37b155ef7a3f2f79a5a8b90d527620 100644 (file)
@@ -123,7 +123,7 @@ typedef struct _maps_view_s {
 /* ---------------------------------------------------------------------------*/
 
 
-const gsize _MAPS_VIEW_LANGUAGE_MAX_LENGTH = 16;
+const gsize _MAPS_VIEW_LANGUAGE_MAX_LENGTH = MAPS_BASE_TYPE_MAX_LEN;
 
 
 /* ---------------------------------------------------------------------------*/
index a8a624ee0f84e7cd597a7b9fbfe4e14ab03178d3..6e4826b5a6d48f0d630265c985d449d3cb4d44ac 100644 (file)
@@ -44,7 +44,7 @@ typedef struct _maps_view_marker_data_s {
        int z_order;
 } maps_view_marker_data_s;
 
-const gsize _MAPS_VIEW_MARKER_FILE_PATH_MAX_LENGTH = 128;
+const gsize _MAPS_VIEW_MARKER_FILE_PATH_MAX_LENGTH = MAPS_BASE_URL_MAX_LEN;
 
 /*
 * This represents polyline visual object information
index 81d951c2d22f68f41ccb665e71300a8c288a63e8..cc8d87b54cc0885269aa418157c832d29588fe54 100755 (executable)
 #endif
 #define LOG_TAG "CAPI_MAPS_SERVICE"
 
+#define MAPS_BASE_ID_MAX_LEN   128
+#define MAPS_BASE_NAME_MAX_LEN 128
+#define MAPS_BASE_URL_MAX_LEN  512
+#define MAPS_BASE_DESC_MAX_LEN 1024
+#define MAPS_BASE_TYPE_MAX_LEN 64
+#define MAPS_BASE_DATE_MAX_LEN 32
+
 /*
 * Internal Macros
 */