[ITC][capi-maps-service][ACR-703,723][Add new TCs]
authormanu.tiwari <manu.tiwari@samsung.com>
Fri, 23 Sep 2016 06:31:39 +0000 (12:01 +0530)
committermanu.tiwari <manu.tiwari@samsung.com>
Fri, 23 Sep 2016 06:31:39 +0000 (12:01 +0530)
Change-Id: I960caf084828418fb4a4449f936ab565ccc8b1e6
Signed-off-by: manu.tiwari <manu.tiwari@samsung.com>
20 files changed:
src/itc/capi-maps-service/CMakeLists.txt
src/itc/capi-maps-service/ITs-capi-maps-place-category.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-place-contact.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-place-image-link-object.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-place-review.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-place.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-route-maneuver.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-route.c [new file with mode: 0755]
src/itc/capi-maps-service/ITs-capi-maps-service-address.c
src/itc/capi-maps-service/ITs-capi-maps-service-area.c
src/itc/capi-maps-service/ITs-capi-maps-service-common.c
src/itc/capi-maps-service/ITs-capi-maps-service-common.h
src/itc/capi-maps-service/ITs-capi-maps-service-coordinates.c
src/itc/capi-maps-service/ITs-capi-maps-service-place-filter.c
src/itc/capi-maps-service/ITs-capi-maps-service-preference.c
src/itc/capi-maps-service/ITs-capi-maps-service.c
src/itc/capi-maps-service/ITs-capi-maps-view-object.c
src/itc/capi-maps-service/ITs-capi-maps-view.c
src/itc/capi-maps-service/tct-capi-maps-service-native_mobile.h
src/itc/capi-maps-service/tct-capi-maps-service-native_wearable.h

index 46708c4..15f907e 100755 (executable)
@@ -12,9 +12,15 @@ SET(TC_SOURCES
        ITs-capi-maps-service-coordinates.c
        ITs-capi-maps-service-place-filter.c
        ITs-capi-maps-service-preference.c
-       ITs-capi-maps-service-place-category.c
+       ITs-capi-maps-place-category.c
        ITs-capi-maps-view-object.c
        ITs-capi-maps-view.c
+       ITs-capi-maps-place.c
+       ITs-capi-maps-place-contact.c
+       ITs-capi-maps-place-image-link-object.c
+       ITs-capi-maps-place-review.c
+       ITs-capi-maps-route.c
+       ITs-capi-maps-route-maneuver.c
 )
 
 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-place-category.c b/src/itc/capi-maps-service/ITs-capi-maps-place-category.c
new file mode 100755 (executable)
index 0000000..29dacd2
--- /dev/null
@@ -0,0 +1,280 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+static maps_place_category_h g_hPlaceCategory;
+
+//& set: MapsServicePlaceCategory
+/**
+ * @function           ITs_maps_place_category_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_category_startup(void)
+{
+       struct stat stBuff;   
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       g_bCategoryCreate = false;
+       int nRet = maps_place_category_create(&g_hPlaceCategory);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_place_category_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_place_category_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
+       if ( nRet != MAPS_ERROR_NONE )
+       {
+               FPRINTF("[Line : %d][%s] maps_place_category_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
+               return;
+       }
+       else if (g_hPlaceCategory == NULL)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_category_create fail in startup error returned : place category handle is NULL \\n", __LINE__, API_NAMESPACE);
+               return;
+       }
+       
+       g_bCategoryCreate = true;
+       return;
+}
+
+
+/**
+ * @function           ITs_maps_place_category_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_category_cleanup(void)
+{
+       if(g_hPlaceCategory != NULL)
+       {
+               maps_place_category_destroy(g_hPlaceCategory);
+       }
+       return;
+}
+
+
+/** @addtogroup itc-maps-service-testcases
+*  @brief              Integration testcases for module maps-service
+*  @ingroup    itc-maps-service
+*  @{
+*/
+
+
+//& type: auto
+//& purpose:  scenario to create and destroy a new place category handle
+/**
+* @testcase                    ITc_maps_place_category_create_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         2.4
+* @description                 scenario to create and destroy a place category handle
+* @scenario                            creates a new place category handle \n
+*                                              destroy the place category handle\n
+* @apicovered                  maps_place_category_create, maps_place_category_destroy
+* @passcase                            if maps_place_category_create and maps_place_category_destroy passes
+* @failcase                            if maps_place_category_create or maps_place_category_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_category_create_destroy_p(void)
+{
+       START_TEST_PLACE_CATEGORY;
+       maps_place_category_h hPlaceCategory = NULL;
+       
+       int nRet = maps_place_category_create(&hPlaceCategory);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hPlaceCategory, "maps_place_category_create");
+
+       nRet = maps_place_category_destroy(hPlaceCategory);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to clone a new place category handle
+/**
+* @testcase                    ITc_maps_place_category_clone_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone a place category handle
+* @scenario                            clones a new place category handle \n
+* @apicovered                  maps_place_category_clone
+* @passcase                            if maps_place_category_clone passes
+* @failcase                            if maps_place_category_clone fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_category_clone_p(void)
+{
+       START_TEST_PLACE_CATEGORY;
+       
+       maps_place_category_h hClonePlaceCategory = NULL;
+
+       int nRet = maps_place_category_clone(g_hPlaceCategory, &hClonePlaceCategory);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_clone", MapServiceGetError(nRet));
+       CHECK_HANDLE(hClonePlaceCategory, "maps_place_category_clone");
+
+       nRet = maps_place_category_destroy(hClonePlaceCategory);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_category_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to set and get id of place category
+/**
+* @testcase                    ITc_maps_place_category_set_get_id_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to set and get id of place category
+* @scenario                            scenario to set and get id of place category \n
+* @apicovered                  maps_place_category_set_id, maps_place_category_get_id
+* @passcase                            if maps_place_category_set_id and maps_place_category_get_id passes
+* @failcase                            if maps_place_category_set_id and maps_place_category_get_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_category_set_get_id_p(void)
+{
+       START_TEST_PLACE_CATEGORY;
+       char *pszId = "CategoryId";
+       char *pszGetId = NULL;
+       
+       int nRet =  maps_place_category_set_id(g_hPlaceCategory, pszId);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_set_id", MapServiceGetError(nRet));
+       
+       nRet = maps_place_category_get_id(g_hPlaceCategory, &pszGetId);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_get_id", MapServiceGetError(nRet));
+       
+       if(strcmp(pszId,pszGetId) != 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_category_get_id, error = set get value are not same. set value = %s get value = %s \\n", __LINE__, API_NAMESPACE, pszId, pszGetId);
+               free(pszGetId);
+               return 1;
+       }
+       free(pszGetId);
+
+       return 0;
+}
+
+//& type: auto
+//& purpose:  scenario to set and get name of place category
+/**
+* @testcase                    ITc_maps_place_category_set_get_name_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to set and get name of place category
+* @scenario                            scenario to set and get name of place category \n
+* @apicovered                  maps_place_category_set_name, maps_place_category_get_name
+* @passcase                            if maps_place_category_set_name and maps_place_category_get_name passes
+* @failcase                            if maps_place_category_set_name and maps_place_category_get_name fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_category_set_get_name_p(void)
+{
+       START_TEST_PLACE_CATEGORY;
+       char *pszName = "MyPlace";
+       char *pszGetName = NULL;
+       
+       int nRet =  maps_place_category_set_name(g_hPlaceCategory, pszName);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_set_name", MapServiceGetError(nRet));
+       
+       nRet = maps_place_category_get_name(g_hPlaceCategory, &pszGetName);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_get_name", MapServiceGetError(nRet));
+       
+       if(strcmp(pszName,pszGetName) != 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_category_get_name, error = set get value are not same. set value = %s get value = %s \\n", __LINE__, API_NAMESPACE, pszName, pszGetName);
+               free(pszGetName);
+               return 1;
+       }
+       free(pszGetName);
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to set and get url of place category
+/**
+* @testcase                    ITc_maps_place_category_set_get_url_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to set and get url of place category
+* @scenario                            scenario to set and get url of place category \n
+* @apicovered                  maps_place_category_set_url, maps_place_category_get_url
+* @passcase                            if maps_place_category_set_url and maps_place_category_get_url passes
+* @failcase                            if maps_place_category_set_url and maps_place_category_get_url fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_category_set_get_url_p(void)
+{
+       START_TEST_PLACE_CATEGORY;
+       
+       char *pszUrl = "http://MyUrl.com";
+       char *pszGetUrl = NULL;
+       
+       int nRet =  maps_place_category_set_url(g_hPlaceCategory, pszUrl);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_set_url", MapServiceGetError(nRet));
+       
+       nRet = maps_place_category_get_url(g_hPlaceCategory, &pszGetUrl);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_get_url", MapServiceGetError(nRet));
+       
+       if(strcmp(pszUrl,pszGetUrl) != 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_category_get_url, error = set get value are not same. set value = %s get value = %s \\n", __LINE__, API_NAMESPACE, pszUrl, pszGetUrl);
+               free(pszGetUrl);
+               return 1;
+       }
+       free(pszGetUrl);
+       
+       return 0;
+}              
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-place-contact.c b/src/itc/capi-maps-service/ITs-capi-maps-place-contact.c
new file mode 100755 (executable)
index 0000000..91f8be2
--- /dev/null
@@ -0,0 +1,313 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+static maps_place_contact_h g_place_contact = NULL;
+
+       
+static bool MapsPlaceContactsCb(int index, int total, maps_place_contact_h contact, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceContactsCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_place_contact_clone(contact, &g_place_contact);
+       }
+       
+       return true;
+}
+/**
+ * @function           ITs_maps_place_contact_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_contact_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsPlaceHandleHelper();
+       
+       return;
+}
+
+
+/**
+ * @function           ITs_maps_place_contact_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_contact_cleanup(void)
+{
+       return;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all contacts for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_foreach_contact_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all contacts
+* @scenario                            maps_place_foreach_contact
+* @apicovered                  maps_place_foreach_contact
+* @passcase                            if maps_place_foreach_contact passes
+* @failcase                            if maps_place_foreach_contact fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_foreach_contact_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nClone = 0;
+       
+       nRet = maps_place_foreach_contact(g_maps_place, MapsPlaceContactsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_contact", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+    nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}                 
+//& type: auto
+//& purpose:  scenario to clone and destroy the place contact handle.
+/**
+* @testcase                    ITc_maps_place_contact_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy the place contact handle.
+* @scenario                            maps_place_contact_clone, maps_place_contact_destroy
+* @apicovered                  maps_place_contact_clone, maps_place_contact_destroy
+* @passcase                            if maps_place_contact_clone and maps_place_contact_destroy passes
+* @failcase                            if maps_place_contact_clone and maps_place_contact_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_contact_clone_destroy_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_contact(g_maps_place, MapsPlaceContactsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_contact", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_contact_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_contact, "maps_place_contact_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_contact_destroy(g_place_contact);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_contact_destroy", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+    nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get label of the place contact handle.
+/**
+* @testcase                    ITc_maps_place_contact_get_label_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get label of the place contact handle.
+* @scenario                            maps_place_contact_get_label
+* @apicovered                  maps_place_contact_get_label
+* @passcase                            if maps_place_contact_get_label passes
+* @failcase                            if maps_place_contact_get_label fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_contact_get_label_p(void)
+{
+       START_TEST_PLACE;
+
+       int nRet;
+       char* label = NULL;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_contact(g_maps_place, MapsPlaceContactsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_contact", MapServiceGetError(nRet),maps_place_destroy(g_maps_place);maps_place_contact_destroy(g_place_contact));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               maps_place_contact_destroy(g_place_contact);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_contact_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_contact, "maps_place_contact_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_contact_get_label(g_place_contact, &label);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_contact_get_label", MapServiceGetError(nRet),maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(label, "maps_place_contact_get_label",maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+               
+       free(label);
+       nRet = maps_place_contact_destroy(g_place_contact);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_contact_destroy", MapServiceGetError(nRet));
+    nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get type of the place contact handle.
+/**
+* @testcase                    ITc_maps_place_contact_get_type_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get type of the place contact handle.
+* @scenario                            maps_place_contact_get_type
+* @apicovered                  maps_place_contact_get_type
+* @passcase                            if maps_place_contact_get_type passes
+* @failcase                            if maps_place_contact_get_type fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_contact_get_type_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       char* type = NULL;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_contact(g_maps_place, MapsPlaceContactsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_contact", MapServiceGetError(nRet),maps_place_destroy(g_maps_place);maps_place_contact_destroy(g_place_contact));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               maps_place_contact_destroy(g_place_contact);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_contact_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_contact, "maps_place_contact_clone",maps_place_destroy(g_maps_place));
+
+       nRet = maps_place_contact_get_type(g_place_contact, &type);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_contact_get_type", MapServiceGetError(nRet),maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(type, "maps_place_contact_get_type",maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+               
+       free(type);
+       nRet = maps_place_contact_destroy(g_place_contact);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_contact_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get value of the place contact handle.
+/**
+* @testcase                    ITc_maps_place_contact_get_value_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get value of the place contact handle.
+* @scenario                            maps_place_contact_get_value
+* @apicovered                  maps_place_contact_get_value
+* @passcase                            if maps_place_contact_get_value passes
+* @failcase                            if maps_place_contact_get_value fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_contact_get_value_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       char* value = NULL;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_contact(g_maps_place, MapsPlaceContactsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_contact", MapServiceGetError(nRet),maps_place_destroy(g_maps_place);maps_place_contact_destroy(g_place_contact));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               maps_place_contact_destroy(g_place_contact);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_contact_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_contact, "maps_place_contact_clone",maps_place_destroy(g_maps_place));
+
+       nRet = maps_place_contact_get_value(g_place_contact, &value);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_contact_get_value", MapServiceGetError(nRet),maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(value, "maps_place_contact_get_value",maps_place_contact_destroy(g_place_contact);maps_place_destroy(g_maps_place));
+               
+       free(value);
+       nRet = maps_place_contact_destroy(g_place_contact);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_contact_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+
+       return 0;
+}
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-place-image-link-object.c b/src/itc/capi-maps-service/ITs-capi-maps-place-image-link-object.c
new file mode 100755 (executable)
index 0000000..3cef4f7
--- /dev/null
@@ -0,0 +1,781 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+static maps_place_image_h g_place_image = NULL;
+
+static bool MapsPlaceImagesCb(int index, int total, maps_place_image_h image, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceImagesCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_place_image_clone(image, &g_place_image);
+       }
+       
+       return true;
+}
+/**
+ * @function           ITs_maps_place_image_linkobj_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_image_linkobj_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsPlaceLocationHandleHelper();
+       return;
+}
+/**
+ * @function           ITs_maps_place_image_linkobj_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_image_linkobj_cleanup(void)
+{
+       return;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all place images.
+/**
+* @testcase                    ITc_maps_place_foreach_image_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all place images
+* @scenario                            maps_place_foreach_image
+* @apicovered                  maps_place_foreach_image
+* @passcase                            if maps_place_foreach_image passes
+* @failcase                            if maps_place_foreach_image fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_foreach_image_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nClone = 0;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+    nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}      
+          
+//& type: auto
+//& purpose:  scenario to clone and destroy the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy the place image handle.
+* @scenario                            maps_place_image_clone, maps_place_image_destroy
+* @apicovered                  maps_place_image_clone, maps_place_image_destroy
+* @passcase                            if maps_place_image_clone and maps_place_image_destroy passes
+* @failcase                            if maps_place_image_clone and maps_place_image_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_clone_destroy_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceContactsCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get height and width of the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_get_height_width_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get height and width of the place image handle.
+* @scenario                            maps_place_image_get_height,maps_place_image_get_width
+* @apicovered                  maps_place_image_get_height,maps_place_image_get_width
+* @passcase                            if maps_place_image_get_height and maps_place_image_get_width passes
+* @failcase                            if maps_place_image_get_height and maps_place_image_get_width fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_get_height_width_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       int height = 0;
+       int width = 0;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_height(g_place_image, &height);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_height", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       if(height < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_image_get_height failed with invalid height \\n", __LINE__, API_NAMESPACE);
+               maps_place_image_destroy(g_place_image);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       nRet = maps_place_image_get_width(g_place_image, &width);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_width", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       if(width < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_image_get_width failed with invalid width \\n", __LINE__, API_NAMESPACE);
+               maps_place_image_destroy(g_place_image);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));
+
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get id of the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_get_ids_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get id of the place image handle.
+* @scenario                            maps_place_image_get_id
+* @apicovered                  maps_place_image_get_id
+* @passcase                            if maps_place_image_get_id passes
+* @failcase                            if maps_place_image_get_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_get_ids_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       char *id = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_id(g_place_image, &id);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_id", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(id,"maps_place_image_get_id",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       free(id);
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get media of the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_get_media_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get media of the place image handle.
+* @scenario                            maps_place_image_get_media
+* @apicovered                  maps_place_image_get_media
+* @passcase                            if maps_place_image_get_media passes
+* @failcase                            if maps_place_image_get_media fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_get_media_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_media_h media = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+
+       nRet = maps_place_image_get_media(g_place_image, &media);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_media", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(media,"maps_place_image_get_media",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_media_destroy(media);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_media_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get url of the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_get_url_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get url of the place image handle.
+* @scenario                            maps_place_image_get_url
+* @apicovered                  maps_place_image_get_url
+* @passcase                            if maps_place_image_get_url passes
+* @failcase                            if maps_place_image_get_url fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_get_url_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       char *url = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+
+       nRet = maps_place_image_get_url(g_place_image, &url);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_url", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(url,"maps_place_image_get_url",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       free(url);
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get user link of the place image handle.
+/**
+* @testcase                    ITc_maps_place_image_get_user_link_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get user link of the place image handle.
+* @scenario                            maps_place_image_get_user_link
+* @apicovered                  maps_place_image_get_user_link
+* @passcase                            if maps_place_image_get_user_link passes
+* @failcase                            if maps_place_image_get_user_link fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_image_get_user_link_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h user = NULL;
+
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user,"maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to clone and destroy the place link object handle.
+/**
+* @testcase                    ITc_maps_place_link_object_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy the place link object handle.
+* @scenario                            maps_place_link_object_clone and maps_place_link_object_destroy
+* @apicovered                  maps_place_link_object_clone and maps_place_link_object_destroy
+* @passcase                            if maps_place_link_object_clone, maps_place_link_object_destroy passes
+* @failcase                            if maps_place_link_object_clone, maps_place_link_object_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_link_object_clone_destroy_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       
+       maps_place_link_object_h user = NULL;
+       maps_place_link_object_h hUser = NULL;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user, "maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_clone(user, &hUser);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_clone", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(hUser, "maps_place_link_object_clone",maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_destroy(hUser);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place link object id.
+/**
+* @testcase                    ITc_maps_place_link_object_get_id_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place link object id.
+* @scenario                            maps_place_link_object_get_id
+* @apicovered                  maps_place_link_object_get_id
+* @passcase                            if maps_place_link_object_get_id passes
+* @failcase                            if maps_place_link_object_get_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_link_object_get_id_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h user = NULL;
+       char *id = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user, "maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_get_id(user, &id);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_get_id", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(id,"maps_place_link_object_get_id",maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       free(id);
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place link object name.
+/**
+* @testcase                    ITc_maps_place_link_object_get_name_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place link object name.
+* @scenario                            maps_place_link_object_get_name
+* @apicovered                  maps_place_link_object_get_name
+* @passcase                            if maps_place_link_object_get_name passes
+* @failcase                            if maps_place_link_object_get_name fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_link_object_get_name_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h user = NULL;
+       char *name = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user, "maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_get_name(user, &name);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_get_name", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(name,"maps_place_link_object_get_name",maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       free(name);
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place link object string.
+/**
+* @testcase                    ITc_maps_place_link_object_get_string_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place link object string.
+* @scenario                            maps_place_link_object_get_string
+* @apicovered                  maps_place_link_object_get_string
+* @passcase                            if maps_place_link_object_get_string passes
+* @failcase                            if maps_place_link_object_get_string fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_link_object_get_string_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h user = NULL;
+       char *string = NULL;
+
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user, "maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_get_string(user, &string);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_get_string", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(string,"maps_place_link_object_get_string",maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       free(string);
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place link object type.
+/**
+* @testcase                    ITc_maps_place_link_object_get_type_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place link object type.
+* @scenario                            maps_place_link_object_get_type
+* @apicovered                  maps_place_link_object_get_type
+* @passcase                            if maps_place_link_object_get_type passes
+* @failcase                            if maps_place_link_object_get_type fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_link_object_get_type_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h user = NULL;
+       char *type = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_get_user_link(g_place_image, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_image_get_user_link", MapServiceGetError(nRet),maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(user, "maps_place_image_get_user_link",maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_get_type(user, &type);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_link_object_get_type", MapServiceGetError(nRet),maps_place_link_object_destroy(user);maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE(type,"maps_place_link_object_get_type");
+       
+       free(type);
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place supplier link for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_supplier_link_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place supplier link for a specified coordinates boundary.
+* @scenario                            maps_place_get_supplier_link
+* @apicovered                  maps_place_get_supplier_link
+* @passcase                            if maps_place_get_supplier_link passes
+* @failcase                            if maps_place_get_supplier_link fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_get_supplier_link_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       maps_place_link_object_h supplier = NULL;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_image(g_maps_place, MapsPlaceImagesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_image", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceImagesCb1 not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_image_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_image, "maps_place_image_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_get_supplier_link(g_place_image,&supplier);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_supplier_link", MapServiceGetError(nRet), maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(supplier, "maps_place_get_supplier_link", maps_place_image_destroy(g_place_image);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_image_destroy(g_place_image);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_image_destroy", MapServiceGetError(nRet));     
+       nRet = maps_place_link_object_destroy(supplier);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+       
+       return 0;
+}
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-place-review.c b/src/itc/capi-maps-service/ITs-capi-maps-place-review.c
new file mode 100755 (executable)
index 0000000..9b767cd
--- /dev/null
@@ -0,0 +1,530 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+static maps_place_review_h g_place_review = NULL;
+
+static bool MapsPlaceReviewsCb(int index, int total, maps_place_review_h review, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceReviewsCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_place_review_clone(review, &g_place_review);
+       }
+       
+       return true;
+}
+/**
+ * @function           ITs_maps_place_review_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_review_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsPlaceLocationHandleHelper();
+       
+       return;
+}
+/**
+ * @function           ITs_maps_place_review_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_review_cleanup(void)
+{
+       return;
+}
+
+//& type: auto
+//& purpose:  scenario to retrieve all reviews.
+/**
+* @testcase                    ITc_maps_place_foreach_review_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all reviews
+* @scenario                            maps_place_foreach_review
+* @apicovered                  maps_place_foreach_review
+* @passcase                            if maps_place_foreach_review passes
+* @failcase                            if maps_place_foreach_review fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_foreach_review_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nClone = 0;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+    nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));   
+
+       return 0;
+}      
+          
+//& type: auto
+//& purpose:  scenario to clone and destroy the place review handle.
+/**
+* @testcase                    ITc_maps_place_review_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy the place review handle.
+* @scenario                            maps_place_review_clone, maps_place_review_destroy
+* @apicovered                  maps_place_review_clone, maps_place_review_destroy
+* @passcase                            if maps_place_review_clone and maps_place_review_destroy passes
+* @failcase                            if maps_place_review_clone and maps_place_review_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_clone_destroy_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review date.
+/**
+* @testcase                    ITc_maps_place_review_get_date_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place review date.
+* @scenario                            maps_place_review_get_date
+* @apicovered                  maps_place_review_get_date
+* @passcase                            if maps_place_review_get_date passes
+* @failcase                            if maps_place_review_get_date fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_date_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *date = NULL;
+       int nRet;
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_date(g_place_review, &date);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_date", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(date, "maps_place_review_get_date",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       free(date);
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review date.
+/**
+* @testcase                    ITc_maps_place_review_get_description_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place review date.
+* @scenario                            maps_place_review_get_description
+* @apicovered                  maps_place_review_get_description
+* @passcase                            if maps_place_review_get_description passes
+* @failcase                            if maps_place_review_get_description fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_description_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *description = NULL;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_description(g_place_review, &description);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_description", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(description, "maps_place_review_get_description",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       free(description);
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review language.
+/**
+* @testcase                    ITc_maps_place_review_get_language_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place review language.
+* @scenario                            maps_place_review_get_language
+* @apicovered                  maps_place_review_get_language
+* @passcase                            if maps_place_review_get_language passes
+* @failcase                            if maps_place_review_get_language fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_language_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *language = NULL;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_language(g_place_review, &language);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_language", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(language, "maps_place_review_get_language",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       free(language);
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review media..
+/**
+* @testcase                    ITc_maps_place_review_get_media_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place review media..
+* @scenario                            maps_place_review_get_media
+* @apicovered                  maps_place_review_get_media
+* @passcase                            if maps_place_review_get_media passes
+* @failcase                            if maps_place_review_get_media fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_media_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_media_h media = NULL;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_media(g_place_review, &media);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_media", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(media, "maps_place_review_get_media",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_media_destroy(media);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_media_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review rating.
+/**
+* @testcase                    ITc_maps_place_review_get_rating_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place review rating.
+* @scenario                            maps_place_review_get_rating
+* @apicovered                  maps_place_review_get_rating
+* @passcase                            if maps_place_review_get_rating passes
+* @failcase                            if maps_place_review_get_rating fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_rating_p(void)
+{
+       START_TEST_PLACE;
+               
+       double rating = 0;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_rating(g_place_review, &rating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_rating", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+
+       if(rating < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_review_get_rating failed with invalid rating \\n", __LINE__, API_NAMESPACE);
+               maps_place_review_destroy(g_place_review);
+               maps_place_destroy(g_maps_place);
+               return 1;\r
+       }
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review title.
+/**
+* @testcase                    ITc_maps_place_review_get_title_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description             scenario to get the place review title
+* @scenario                            maps_place_review_get_title
+* @apicovered                  maps_place_review_get_title
+* @passcase                            if maps_place_review_get_title passes
+* @failcase                            if maps_place_review_get_title fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_title_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *title = NULL;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_title(g_place_review, &title);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_title", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+    CHECK_HANDLE_CLEANUP(title, "maps_place_review_get_title",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       free(title);
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place review user link.
+/**
+* @testcase                    ITc_maps_place_review_get_user_link_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description             scenario to get the place review user link.
+* @scenario                            maps_place_review_get_user_link
+* @apicovered                  maps_place_review_get_user_link
+* @passcase                            if maps_place_review_get_user_link passes
+* @failcase                            if maps_place_review_get_user_link fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_review_get_user_link_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_link_object_h user = NULL;
+       int nRet;
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       
+       nRet = maps_place_foreach_review(g_maps_place, MapsPlaceReviewsCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_review", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceReviewsCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_place_review_clone", MapServiceGetError(g_nCheckRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(g_place_review, "maps_place_review_clone",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_review_get_user_link(g_place_review, &user);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_review_get_user_link", MapServiceGetError(nRet),maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+    CHECK_HANDLE_CLEANUP(user, "maps_place_review_get_user_link",maps_place_review_destroy(g_place_review);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_destroy(user);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_review_destroy(g_place_review);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_review_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-place.c b/src/itc/capi-maps-service/ITs-capi-maps-place.c
new file mode 100755 (executable)
index 0000000..ef71861
--- /dev/null
@@ -0,0 +1,562 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+/*static gboolean Timeout_Function(gpointer data)
+{
+       g_main_loop_quit((GMainLoop *)data);
+       return false;
+}*/
+static bool MapsPlacePropertiesCb(int index, int total, char *key, void *value, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlacePropertiesCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       
+       return true;
+}
+static bool MapsPlaceCategoriesCb(int index, int total, maps_place_category_h category, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceCategoriesCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       
+       return true;
+}
+
+/**
+ * @function           ITs_maps_place_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsPlaceHandleHelper();
+       
+       return;
+}
+
+
+/**
+ * @function           ITs_maps_place_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_place_cleanup(void)
+{
+       return;
+}
+
+//& type: auto
+//& purpose:  scenario to obtains the distance for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_distance_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the distance for a specified coordinates boundary.
+* @scenario                            maps_place_get_distance
+* @apicovered                  maps_place_get_distance
+* @passcase                            if maps_place_get_distance passes
+* @failcase                            if maps_place_get_distance fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_place_get_distance_p(void)
+{
+       START_TEST_PLACE;
+       
+       int distance = 0;
+       int nRet;
+
+       nRet = maps_place_get_distance(g_maps_place,&distance);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_distance", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       
+       if(distance < 0)
+       {
+               FPRINTF("[Line : %d][%s] Invalid distance\\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to obtains the id for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_id_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the id for a specified coordinates boundary.
+* @scenario                            maps_place_get_id
+* @apicovered                  maps_place_get_id
+* @passcase                            if maps_place_get_id passes
+* @failcase                            if maps_place_get_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_place_get_id_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *id = NULL;
+       int nRet;
+       
+       nRet = maps_place_get_id(g_maps_place,&id);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_id", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(id, "maps_place_get_id",maps_place_destroy(g_maps_place));
+               
+       free(id);
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  scenario to obtains the location for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_location_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the location for a specified coordinates boundary.
+* @scenario                            maps_place_get_location
+* @apicovered                  maps_place_get_location
+* @passcase                            if maps_place_get_location passes
+* @failcase                            if maps_place_get_location fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_place_get_location_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_coordinates_h location = NULL;
+       int nRet;
+       
+       nRet = maps_place_get_location(g_maps_place,&location);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_location", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(location, "maps_place_get_location",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_coordinates_destroy(location);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);        
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  scenario to obtains the name for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_name_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the name for a specified coordinates boundary.
+* @scenario                            maps_place_get_name
+* @apicovered                  maps_place_get_name
+* @passcase                            if maps_place_get_name passes
+* @failcase                            if maps_place_get_name fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_place_get_name_p(void)
+{
+       START_TEST_PLACE;
+       
+       char *name = NULL;
+       int nRet;
+       
+       nRet = maps_place_get_name(g_maps_place,&name);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_name", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(name, "maps_place_get_name",maps_place_destroy(g_maps_place));
+       
+       free(name);     
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  scenario to obtains the rating for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_rating_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the rating for a specified coordinates boundary.
+* @scenario                            maps_place_get_rating
+* @apicovered                  maps_place_get_rating
+* @passcase                            if maps_place_get_rating passes
+* @failcase                            if maps_place_get_rating fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_get_rating_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_rating_h rating = NULL;
+       int nRet;
+       
+       nRet = maps_place_get_rating(g_maps_place,&rating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_rating", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(rating, "maps_place_get_rating", maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_destroy(rating);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_rating_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to clone and destroy the rating for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_rating_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy the rating for a specified coordinates boundary.
+* @scenario                            maps_place_rating_clone, maps_place_rating_destroy
+* @apicovered                  maps_place_rating_clone, maps_place_rating_destroy
+* @passcase                            if maps_place_rating_clone and maps_place_rating_destroy passes
+* @failcase                            if maps_place_rating_clone and maps_place_rating_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_rating_clone_destroy_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_rating_h rating = NULL;
+       maps_place_rating_h hRating = NULL;
+       int nRet;
+
+       nRet = maps_place_get_rating(g_maps_place, &rating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_rating", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(rating, "maps_place_get_rating",maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_clone(rating, &hRating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_rating_clone", MapServiceGetError(nRet), maps_place_rating_destroy(rating);maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(hRating, "maps_place_rating_clone", maps_place_rating_destroy(rating);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_destroy(hRating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_rating_destroy", MapServiceGetError(nRet), maps_place_rating_destroy(rating);maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_destroy(rating);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_rating_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to obtains the place rating average
+/**
+* @testcase                    ITc_maps_place_rating_get_average_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the place rating average.
+* @scenario                            maps_place_rating_get_average
+* @apicovered                  maps_place_rating_get_average
+* @passcase                            if maps_place_rating_get_average passes
+* @failcase                            if maps_place_rating_get_average fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_rating_get_average_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_rating_h rating = NULL;
+       double average = 0.0;
+       int nRet;
+       
+       nRet = maps_place_get_rating(g_maps_place,&rating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_rating", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(rating, "maps_place_get_rating", maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_get_average(rating, &average);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_rating_get_average", MapServiceGetError(nRet), maps_place_rating_destroy(rating);maps_place_destroy(g_maps_place));
+       
+       if(average < 0)
+       {
+               FPRINTF("[Line : %d][%s] Invalid average\\n", __LINE__, API_NAMESPACE);
+               maps_place_rating_destroy(rating);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       nRet = maps_place_rating_destroy(rating);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_rating_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to obtains the place rating count
+/**
+* @testcase                    ITc_maps_place_rating_get_count_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the place rating count.
+* @scenario                            maps_place_rating_get_count
+* @apicovered                  maps_place_rating_get_count
+* @passcase                            if maps_place_rating_get_count passes
+* @failcase                            if maps_place_rating_get_count fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_rating_get_count_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_rating_h rating = NULL;
+       int count = 0;
+       int nRet;
+
+       nRet = maps_place_get_rating(g_maps_place,&rating);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_rating", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(rating, "maps_place_get_rating", maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_rating_get_count(rating, &count);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_rating_get_count", MapServiceGetError(nRet), maps_place_rating_destroy(rating);maps_place_destroy(g_maps_place));
+       
+       if(count < 0)
+       {
+               FPRINTF("[Line : %d][%s] Invalid count\\n", __LINE__, API_NAMESPACE);
+               maps_place_rating_destroy(rating);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       nRet = maps_place_rating_destroy(rating);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_rating_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to obtains the address for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_address_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to obtains the address for a specified coordinates boundary.
+* @scenario                            maps_place_get_address
+* @apicovered                  maps_place_get_address
+* @passcase                            if maps_place_get_address passes
+* @failcase                            if maps_place_get_address fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_get_address_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_address_h address = NULL;
+       int nRet;
+       
+       nRet = maps_place_get_address(g_maps_place,&address);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_address", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(address, "maps_place_get_address", maps_place_destroy(g_maps_place));
+       
+       nRet = maps_address_destroy(address);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_address_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the place related link for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_get_related_link_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the place related link for a specified coordinates boundary.
+* @scenario                            maps_place_get_related_link
+* @apicovered                  maps_place_get_related_link
+* @passcase                            if maps_place_get_related_link passes
+* @failcase                            if maps_place_get_related_link fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_get_related_link_p(void)
+{
+       START_TEST_PLACE;
+       
+       maps_place_link_object_h related = NULL;
+       int nRet;
+
+       nRet = maps_place_get_related_link(g_maps_place,&related);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_get_related_link", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       CHECK_HANDLE_CLEANUP(related, "maps_place_get_related_link", maps_place_destroy(g_maps_place));
+       
+       nRet = maps_place_link_object_destroy(related);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_link_object_destroy", MapServiceGetError(nRet));
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  scenario to clone the place handle.
+/**
+* @testcase                    ITc_maps_place_clone_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone the place handle.
+* @scenario                            maps_place_clone
+* @apicovered                  maps_place_clone
+* @passcase                            if maps_place_clone passes
+* @failcase                            if maps_place_clone fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_clone_p(void)
+{
+       START_TEST_PLACE;
+
+       int nRet;
+
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all properties of the place handle.
+/**
+* @testcase                    ITc_maps_place_foreach_property_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all properties of the place handle.
+* @scenario                            maps_place_foreach_property
+* @apicovered                  maps_place_foreach_property
+* @passcase                            if maps_place_foreach_property passes
+* @failcase                            if maps_place_foreach_property fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_foreach_property_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       
+       g_nCheckCb = 0;
+       nRet = maps_place_foreach_property(g_maps_place, MapsPlacePropertiesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_property", MapServiceGetError(nRet),maps_place_destroy(g_maps_place));             
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlacePropertiesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}                                      
+//& type: auto
+//& purpose:  scenario to Retrieves all categories for a specified coordinates boundary.
+/**
+* @testcase                    ITc_maps_place_foreach_category_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to Retrieves all categories for a specified coordinates boundary.
+* @scenario                            maps_place_foreach_category
+* @apicovered                  maps_place_foreach_category
+* @passcase                            if maps_place_foreach_category passes
+* @failcase                            if maps_place_foreach_category fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_foreach_category_p(void)
+{
+       START_TEST_PLACE;
+       
+       int nRet;
+       /*maps_place_category_h hPlaceCategory;
+       
+       nRet = maps_place_category_create(&hPlaceCategory);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_category_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hPlaceCategory, "maps_place_category_create");*/
+
+       g_nCheckCb = false;
+       nRet = maps_place_foreach_category(g_maps_place, MapsPlaceCategoriesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_foreach_category", MapServiceGetError(nRet), maps_place_destroy(g_maps_place));
+       
+   // RUN_POLLING_LOOP;
+       
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsPlaceCategoriesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+               return 1;
+       }
+       
+       nRet = maps_place_destroy(g_maps_place);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_place_destroy", MapServiceGetError(nRet));
+  
+       return 0;       
+}
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-route-maneuver.c b/src/itc/capi-maps-service/ITs-capi-maps-route-maneuver.c
new file mode 100755 (executable)
index 0000000..5ae57d8
--- /dev/null
@@ -0,0 +1,1084 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+static maps_route_h g_route = NULL;
+static maps_route_segment_h g_route_segment = NULL;
+static maps_route_maneuver_h g_route_maneuver = NULL;
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/                                                        
+static bool MapsRouteSegmentManeuverCb(int index, int total, maps_route_maneuver_h maneuver, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRouteSegmentManeuverCb callback\\n", __LINE__, API_NAMESPACE); 
+       g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_route_maneuver_clone(maneuver, &g_route_maneuver);
+       }
+       
+       return true;
+}                                                 
+static bool MapsRouteSegmentCb(int index, int total, maps_route_segment_h segment, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRouteSegmentCb callback\\n", __LINE__, API_NAMESPACE); 
+       g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_route_segment_clone(segment, &g_route_segment);
+       }
+       return true;
+}
+
+// Callback function to get search route
+static bool MapsServiceRouteFoundCb(maps_error_e error, int request_id, int index, int total, maps_route_h route, void* user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceRouteFoundCb callback\\n", __LINE__, API_NAMESPACE);
+       
+       g_nCheckRet = maps_route_clone(route, &g_route);
+       
+       if (index + 1 < total) return true;
+
+       g_nCheckCb = true;
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+       return true;
+}
+// Callback Function to get list of service providers
+static bool MapServiceProviderForeachCb(char* maps_provider, void* user_data)
+{
+       memset( g_szMapsProvider, '\0', sizeof(char)*BUFFER);
+       strcpy(g_szMapsProvider, maps_provider);
+       FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);      
+       g_nCheckCb = true;
+       return false;
+}
+
+static void MapsRouteHelper(void)
+{
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       int nRequestId = 0;
+       maps_coordinates_h hOrigin = NULL;
+       maps_coordinates_h hDestination = NULL;
+
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       g_bStartupPre = true;
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_service_foreach_provider(MapServiceProviderForeachCb, NULL);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_foreach_provider API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       
+       FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);
+       if(g_szMapsProvider == NULL)
+       {
+                FPRINTF("[Line : %d][%s] g_szMapsProvider NULL\\n", __LINE__, API_NAMESPACE);
+                g_bStartupPre = false;
+                return;
+       }
+       
+       nRet = maps_service_create(g_szMapsProvider, &g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       if(g_hMapService == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapService NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       char pstrValue[CONFIG_VALUE_LEN_MAX] = {0,};
+
+       if ( true == GetValueFromConfigFile("MAPS_PROVIDER_KEY", pstrValue, API_NAMESPACE) )
+       {
+#if DEBUG
+               FPRINTF("[Line : %d][%s] Values Received = %s\\n", __LINE__, API_NAMESPACE, pstrValue);
+#endif
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s] GetValueFromConfigFile returned error\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       if(pstrValue == NULL)
+       {
+               g_bStartupPre = false;
+               return;
+       }
+       
+       nRet = maps_service_set_provider_key(g_hMapService, pstrValue);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_set_provider_key API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_create(&g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_hMapsPref == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapsPref NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+
+       nRet = maps_preference_set_max_results(g_hMapsPref, RESULT);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_set_max_results API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+
+       nRet = maps_coordinates_create(LATITUTE_ORG, LONGITUDE_ORG, &hOrigin);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hOrigin == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hOrigin NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_coordinates_create(LATITUTE_DEST, LONGITUDE_DEST, &hDestination);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hDestination == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hDestination NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       
+       nRet = maps_service_search_route(g_hMapService, hOrigin, hDestination, g_hMapsPref, MapsServiceRouteFoundCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_search_route API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       RUN_POLLING_LOOP;
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Route is not received from maps_service_search_route \\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_route == NULL)
+       {
+           FPRINTF("[Line : %d][%s] maps_route_clone NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_nCheckRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_clone API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       nRet = maps_coordinates_destroy(hOrigin);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_coordinates_destroy(hDestination);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_preference_destroy(g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_service_destroy(g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }       
+       return;
+}
+/**
+ * @function           ITs_maps_route_maneuver_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_route_maneuver_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsRouteHelper();
+       return;
+}
+/**
+ * @function           ITs_maps_route_maneuver_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_route_maneuver_cleanup(void)
+{
+       return;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all maneuvers of the path.
+/**
+* @testcase                    ITc_maps_route_segment_foreach_maneuver_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all maneuvers of the path.
+* @scenario                            maps_route_segment_foreach_maneuver
+* @apicovered                  maps_route_segment_foreach_maneuver
+* @passcase                            if maps_route_segment_foreach_maneuver passes
+* @failcase                            if maps_route_segment_foreach_maneuver fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_foreach_maneuver_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       
+       g_nCheckRet = 0; 
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       g_nClone = 0;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));   
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));   
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to clone and destroy maneuvers of the path.
+/**
+* @testcase                    ITc_maps_route_maneuver_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy maneuvers of the path.
+* @scenario                            maps_route_maneuver_clone, maps_route_maneuver_destroy
+* @apicovered                  maps_route_maneuver_clone, maps_route_maneuver_destroy
+* @passcase                            if maps_route_maneuver_clone, maps_route_maneuver_destroy passes
+* @failcase                            if maps_route_maneuver_clone, maps_route_maneuver_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_clone_destroy_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}      
+//& type: auto
+//& purpose:  scenario to get direction id of maneuvers of the path..
+/**
+* @testcase                    ITc_maps_route_maneuver_get_direction_id_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get direction id of maneuvers of the path.
+* @scenario                            maps_route_maneuver_get_direction_id
+* @apicovered                  maps_route_maneuver_get_direction_id
+* @passcase                            if maps_route_maneuver_get_direction_id passes
+* @failcase                            if maps_route_maneuver_get_direction_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_direction_id_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       maps_route_direction_e direction_id;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_direction_id(g_route_maneuver, &direction_id);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_direction_id", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       if((direction_id < MAPS_ROUTE_DIRECTION_NONE)||(direction_id > MAPS_ROUTE_DIRECTION_EAST))
+       {
+               FPRINTF("[Line : %d][%s] maps_route_maneuver_get_direction_id failed with invalid enum \\n", __LINE__, API_NAMESPACE);
+               maps_route_maneuver_destroy(g_route_maneuver);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}      
+//& type: auto
+//& purpose:  scenario to get the distance to next instruction of the route maneuver.
+/**
+* @testcase                    ITc_maps_route_maneuver_get_distance_to_next_instruction_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 Gets the distance to next instruction of the route maneuver.
+* @scenario                            maps_route_maneuver_get_distance_to_next_instruction
+* @apicovered                  maps_route_maneuver_get_distance_to_next_instruction
+* @passcase                            if maps_route_maneuver_get_distance_to_next_instruction passes
+* @failcase                            if maps_route_maneuver_get_distance_to_next_instruction fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_distance_to_next_instruction_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       double distance_to_next_instruction = 0;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_distance_to_next_instruction(g_route_maneuver,&distance_to_next_instruction);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_distance_to_next_instruction", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                            
+       
+       if(distance_to_next_instruction < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_maneuver_get_distance_to_next_instruction failed with invalid value \\n", __LINE__, API_NAMESPACE);
+               maps_route_maneuver_destroy(g_route_maneuver);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the instruction text (narrative) of the route maneuver.
+/**
+* @testcase                    ITc_maps_route_maneuver_get_instruction_text_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the instruction text (narrative) of the route maneuver.
+* @scenario                            maps_route_maneuver_get_instruction_text
+* @apicovered                  maps_route_maneuver_get_instruction_text
+* @passcase                            if maps_route_maneuver_get_instruction_text passes
+* @failcase                            if maps_route_maneuver_get_instruction_text fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_instruction_text_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       char *instruction_text = NULL;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_instruction_text(g_route_maneuver, &instruction_text);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_instruction_text", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                                
+       CHECK_HANDLE_CLEANUP(instruction_text, "maps_route_maneuver_get_instruction_text",maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+    free(instruction_text);
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route maneuver locale..
+/**
+* @testcase                    ITc_maps_route_maneuver_get_locale_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route maneuver locale
+* @scenario                            maps_route_maneuver_get_locale
+* @apicovered                  maps_route_maneuver_get_locale
+* @passcase                            if maps_route_maneuver_get_locale passes
+* @failcase                            if maps_route_maneuver_get_locale fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_locale_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       char *locale = NULL;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_destroy(g_route);maps_route_segment_destroy(g_route_segment));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_locale(g_route_maneuver, &locale);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_locale", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                          
+       CHECK_HANDLE_CLEANUP(locale, "maps_route_maneuver_get_locale",maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+    free(locale);
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route maneuver position..
+/**
+* @testcase                    ITc_maps_route_maneuver_get_position_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route maneuver position..
+* @scenario                            maps_route_maneuver_get_position
+* @apicovered                  maps_route_maneuver_get_position
+* @passcase                            if maps_route_maneuver_get_position passes
+* @failcase                            if maps_route_maneuver_get_position fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_position_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       maps_coordinates_h position = NULL;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_position(g_route_maneuver, &position);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_position", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                                
+       CHECK_HANDLE_CLEANUP(position, "maps_route_maneuver_get_position",maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+    nRet = maps_coordinates_destroy(position);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the road name of the route maneuver
+/**
+* @testcase                    ITc_maps_route_maneuver_get_road_name_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the road name of the route maneuver
+* @scenario                            maps_route_maneuver_get_road_name
+* @apicovered                  maps_route_maneuver_get_road_name
+* @passcase                            if maps_route_maneuver_get_road_name passes
+* @failcase                            if maps_route_maneuver_get_road_name fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_road_name_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       char *road_name = NULL;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_road_name(g_route_maneuver, &road_name);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_road_name", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                               
+       CHECK_HANDLE_CLEANUP(road_name, "maps_route_maneuver_get_road_name",maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+    free(road_name);
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the time to next instruction of the route maneuver.
+/**
+* @testcase                    ITc_maps_route_maneuver_get_time_to_next_instruction_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the time to next instruction of the route maneuver.
+* @scenario                            maps_route_maneuver_get_time_to_next_instruction
+* @apicovered                  maps_route_maneuver_get_time_to_next_instruction
+* @passcase                            if maps_route_maneuver_get_time_to_next_instruction passes
+* @failcase                            if maps_route_maneuver_get_time_to_next_instruction fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_time_to_next_instruction_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       int time_to_next_instruction = 0;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_destroy(g_route);maps_route_segment_destroy(g_route_segment));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_route_maneuver_get_time_to_next_instruction(g_route_maneuver, &time_to_next_instruction);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_time_to_next_instruction", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                                
+       if(time_to_next_instruction < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_maneuver_get_time_to_next_instruction failed with invalid value \\n", __LINE__, API_NAMESPACE);
+               maps_route_maneuver_destroy(g_route_maneuver);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to gets the route maneuver turn type.
+/**
+* @testcase                    ITc_maps_route_maneuver_get_turn_type_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to gets the route maneuver turn type.
+* @scenario                            maps_route_maneuver_get_turn_type
+* @apicovered                  maps_route_maneuver_get_turn_type
+* @passcase                            if maps_route_maneuver_get_turn_type passes
+* @failcase                            if maps_route_maneuver_get_turn_type fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_maneuver_get_turn_type_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       maps_route_turn_type_e turn_type;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       g_nCheckCb = 0;
+       
+       g_nCheckRet = 0;
+       g_nClone = 1;
+       nRet = maps_route_segment_foreach_maneuver(g_route_segment, MapsRouteSegmentManeuverCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_maneuver", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentManeuverCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_maneuver_clone", MapServiceGetError(g_nCheckRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_maneuver, "maps_route_maneuver_clone",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+
+       nRet = maps_route_maneuver_get_turn_type(g_route_maneuver, &turn_type);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_get_turn_type", MapServiceGetError(nRet),maps_route_maneuver_destroy(g_route_maneuver);maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));                                               
+       
+       if((turn_type < MAPS_ROUTE_TURN_TYPE_NONE)||(turn_type > MAPS_ROUTE_TURN_TYPE_STRAIGHT_FORK))
+       {
+               FPRINTF("[Line : %d][%s] maps_route_maneuver_get_turn_type failed with invalid enum \\n", __LINE__, API_NAMESPACE);
+               maps_route_maneuver_destroy(g_route_maneuver);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_maneuver_destroy(g_route_maneuver);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_maneuver_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+                  
+/** @} */
+/** @} */
diff --git a/src/itc/capi-maps-service/ITs-capi-maps-route.c b/src/itc/capi-maps-service/ITs-capi-maps-route.c
new file mode 100755 (executable)
index 0000000..a3cb695
--- /dev/null
@@ -0,0 +1,1169 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// 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 "ITs-capi-maps-service-common.h"
+
+static maps_route_h g_route = NULL;
+static maps_route_segment_h g_route_segment = NULL;
+
+/** @addtogroup itc-maps-service
+*  @ingroup itc
+*  @{
+*/
+
+static bool MapsRouteSegmentPathCb(int index, int total, maps_coordinates_h coordinates, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRouteSegmentPathCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       
+       return true;
+}                                                                 
+static bool MapsRoutePathCb(int index, int total, maps_coordinates_h coordinates, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRoutePathCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       
+       return true;
+}
+static bool MapsRoutePropertiesCb(int index, int total, char *key, void *value, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRoutePropertiesCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       
+       return true;
+}
+static bool MapsRouteSegmentCb(int index, int total, maps_route_segment_h segment, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsRouteSegmentCb callback\\n", __LINE__, API_NAMESPACE); 
+    g_nCheckCb = true;
+       if(g_nClone == 1)
+       {
+               g_nCheckRet = maps_route_segment_clone(segment, &g_route_segment);
+       }
+       return true;
+}
+// Callback function to get search route
+static bool MapsServiceRouteFoundCb(maps_error_e error, int request_id, int index, int total, maps_route_h route, void* user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceRouteFoundCb callback\\n", __LINE__, API_NAMESPACE);
+       
+       g_nCheckRet = maps_route_clone(route, &g_route);
+       
+       if (index + 1 < total) return true;
+
+       g_nCheckCb = true;
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+       return true;
+}
+// Callback Function to get list of service providers
+static bool MapServiceProviderForeachCb(char* maps_provider, void* user_data)
+{
+       memset( g_szMapsProvider, '\0', sizeof(char)*BUFFER);
+       strcpy(g_szMapsProvider, maps_provider);
+       FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);      
+       g_nCheckCb = true;
+       return false;
+}
+
+static void MapsRouteHelper(void)
+{
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       int nRequestId = 0;
+       maps_coordinates_h hOrigin = NULL;
+       maps_coordinates_h hDestination = NULL;
+
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       g_bStartupPre = true;
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_service_foreach_provider(MapServiceProviderForeachCb, NULL);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_foreach_provider API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       
+       FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);
+       if(g_szMapsProvider == NULL)
+       {
+                FPRINTF("[Line : %d][%s] g_szMapsProvider NULL\\n", __LINE__, API_NAMESPACE);
+                g_bStartupPre = false;
+                return;
+       }
+       
+       nRet = maps_service_create(g_szMapsProvider, &g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       if(g_hMapService == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapService NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       char pstrValue[CONFIG_VALUE_LEN_MAX] = {0,};
+
+       if ( true == GetValueFromConfigFile("MAPS_PROVIDER_KEY", pstrValue, API_NAMESPACE) )
+       {
+#if DEBUG
+               FPRINTF("[Line : %d][%s] Values Received = %s\\n", __LINE__, API_NAMESPACE, pstrValue);
+#endif
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s] GetValueFromConfigFile returned error\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       if(pstrValue == NULL)
+       {
+               g_bStartupPre = false;
+               return;
+       }
+       
+       nRet = maps_service_set_provider_key(g_hMapService, pstrValue);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_set_provider_key API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_create(&g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_hMapsPref == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapsPref NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+
+       nRet = maps_preference_set_max_results(g_hMapsPref, RESULT);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_set_max_results API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+
+       nRet = maps_coordinates_create(LATITUTE_ORG, LONGITUDE_ORG, &hOrigin);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hOrigin == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hOrigin NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_coordinates_create(LATITUTE_DEST, LONGITUDE_DEST, &hDestination);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hDestination == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hDestination NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       
+       nRet = maps_service_search_route(g_hMapService, hOrigin, hDestination, g_hMapsPref, MapsServiceRouteFoundCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_search_route API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       RUN_POLLING_LOOP;
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Route is not received from maps_service_search_route \\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_route == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_route NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_nCheckRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_clone API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_coordinates_destroy(hOrigin);
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       nRet = maps_coordinates_destroy(hOrigin);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hDestination);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_coordinates_destroy(hDestination);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_preference_destroy(g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }       
+       nRet = maps_service_destroy(g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }       
+       return;
+}
+
+/**
+ * @function           ITs_maps_route_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_route_startup(void)
+{
+       struct stat stBuff;   
+       if ( stat(ERR_LOG, &stBuff) == 0 )
+       {
+               remove(ERR_LOG);
+       }
+       MapsRouteHelper();
+       
+       return;
+}
+/**
+ * @function           ITs_maps_route_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */ 
+void ITs_maps_route_cleanup(void)
+{
+       return;
+}
+//& type: auto
+//& purpose:  scenario to clone the route handle.
+/**
+* @testcase                    ITc_maps_route_clone_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone the route handle.
+* @scenario                            maps_route_clone
+* @apicovered                  maps_route_clone
+* @passcase                            if maps_route_clone passes
+* @failcase                            if maps_route_clone fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_route_clone_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;       
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all paths of the route handle.
+/**
+* @testcase                    ITc_maps_route_foreach_path_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all paths of the route handle.
+* @scenario                            maps_route_foreach_path
+* @apicovered                  maps_route_foreach_path
+* @passcase                            if maps_route_foreach_path passes
+* @failcase                            if maps_route_foreach_path fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_foreach_path_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       
+       g_nCheckCb = 0;
+       
+       nRet = maps_route_foreach_path(g_route, MapsRoutePathCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_path", MapServiceGetError(nRet),maps_route_destroy(g_route));              
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRoutePathCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all properties of the route handle.
+/**
+* @testcase                    ITc_maps_route_foreach_property_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all properties of the route handle.
+* @scenario                            maps_route_foreach_property
+* @apicovered                  maps_route_foreach_property
+* @passcase                            if maps_route_foreach_property passes
+* @failcase                            if maps_route_foreach_property fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_foreach_property_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       
+       g_nCheckCb = 0;
+       nRet = maps_route_foreach_property(g_route, MapsRoutePropertiesCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_property", MapServiceGetError(nRet),maps_route_destroy(g_route));                  
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRoutePropertiesCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}                                      
+//& type: auto
+//& purpose:  scenario to get the route bounding box.
+/**
+* @testcase                    ITc_maps_route_get_bounding_box_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route bounding box.
+* @scenario                            maps_route_get_bounding_box
+* @apicovered                  maps_route_get_bounding_box
+* @passcase                            if maps_route_get_bounding_box passes
+* @failcase                            if maps_route_get_bounding_box fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+
+int ITc_maps_route_get_bounding_box_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_area_h bounding_box = NULL;
+       
+       nRet = maps_route_get_bounding_box(g_route, &bounding_box);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_bounding_box", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(bounding_box, "maps_route_get_bounding_box",maps_route_destroy(g_route));
+                               
+    nRet = maps_area_destroy(bounding_box);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_area_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route destination.
+/**
+* @testcase                    ITc_maps_route_get_destination_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route destination.
+* @scenario                            maps_route_get_destination
+* @apicovered                  maps_route_get_destination
+* @passcase                            if maps_route_get_destination passes
+* @failcase                            if maps_route_get_destination fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_destination_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_coordinates_h destination = NULL;
+       
+       nRet = maps_route_get_destination(g_route, &destination);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_destination", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(destination, "maps_route_get_destination",maps_route_destroy(g_route));
+       
+    nRet = maps_coordinates_destroy(destination);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route distance unit.
+/**
+* @testcase                    ITc_maps_route_get_distance_unit_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route distance unit.
+* @scenario                            maps_route_get_distance_unit
+* @apicovered                  maps_route_get_distance_unit
+* @passcase                            if maps_route_get_distance_unit passes
+* @failcase                            if maps_route_get_distance_unit fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_distance_unit_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_distance_unit_e distance_unit;
+       
+       nRet = maps_route_get_distance_unit(g_route, &distance_unit);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_distance_unit", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       
+       if((distance_unit < MAPS_DISTANCE_UNIT_M)||(distance_unit > MAPS_DISTANCE_UNIT_YD))
+       {
+               FPRINTF("[Line : %d][%s] maps_route_get_distance_unit failed with invalid enum \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route origin.
+/**
+* @testcase                    ITc_maps_route_get_origin_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route origin.
+* @scenario                            maps_route_get_origin
+* @apicovered                  maps_route_get_origin
+* @passcase                            if maps_route_get_origin passes
+* @failcase                            if maps_route_get_origin fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_origin_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_coordinates_h origin = NULL;
+       
+       nRet = maps_route_get_origin(g_route, &origin);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_origin", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(origin, "maps_route_get_origin",maps_route_destroy(g_route));
+       
+    nRet = maps_coordinates_destroy(origin);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route id.
+/**
+* @testcase                    ITc_maps_route_get_route_id_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route id.
+* @scenario                            maps_route_get_route_id
+* @apicovered                  maps_route_get_route_id
+* @passcase                            if maps_route_get_route_id passes
+* @failcase                            if maps_route_get_route_id fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_route_id_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       char *route_id = NULL;
+       
+       nRet = maps_route_get_route_id(g_route, &route_id);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_route_id", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(route_id, "maps_route_get_route_id",maps_route_destroy(g_route));
+       
+    free(route_id);
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route total distance.
+/**
+* @testcase                    ITc_maps_route_get_total_distance_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route total distance.
+* @scenario                            maps_route_get_total_distance
+* @apicovered                  maps_route_get_total_distance
+* @passcase                            if maps_route_get_total_distance passes
+* @failcase                            if maps_route_get_total_distance fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_total_distance_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       double total_distance = 0;
+       
+       nRet = maps_route_get_total_distance(g_route, &total_distance);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_total_distance", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       
+       if(total_distance < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_get_total_distance returning negative value \\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+  
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route total duration.
+/**
+* @testcase                    ITc_maps_route_get_total_duration_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route total duration.
+* @scenario                            maps_route_get_total_duration
+* @apicovered                  maps_route_get_total_duration
+* @passcase                            if maps_route_get_total_duration passes
+* @failcase                            if maps_route_get_total_duration fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_total_duration_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       long total_duration = 0;
+       
+       nRet = maps_route_get_total_duration(g_route, &total_duration);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_total_duration", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       
+       if(total_duration < 0)
+       {
+               FPRINTF("[Line : %d][%s] maps_route_get_total_duration returning negative value \\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+  
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the route transport mode.
+/**
+* @testcase                    ITc_maps_route_get_transport_mode_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get the route transport mode.
+* @scenario                            maps_route_get_transport_mode
+* @apicovered                  maps_route_get_transport_mode
+* @passcase                            if maps_route_get_transport_mode passes
+* @failcase                            if maps_route_get_transport_mode fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_get_transport_mode_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       maps_route_transport_mode_e transport_mode;
+       
+       nRet = maps_route_get_transport_mode(g_route, &transport_mode);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_get_transport_mode", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       
+       if((transport_mode < MAPS_ROUTE_TRANSPORT_MODE_CAR)||(transport_mode > MAPS_ROUTE_TRANSPORT_MODE_TRUCK))
+       {
+               FPRINTF("[Line : %d][%s] maps_route_get_transport_mode failed with invalid enum \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all segments of the route.
+/**
+* @testcase                    ITc_maps_route_foreach_segment_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all segments of the route.
+* @scenario                            maps_route_foreach_segment
+* @apicovered                  maps_route_foreach_segment
+* @passcase                            if maps_route_foreach_segment passes
+* @failcase                            if maps_route_foreach_segment fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_foreach_segment_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+       
+       g_nCheckCb = 0;
+       g_nClone = 0;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to clone and destroy segment of the route.
+/**
+* @testcase                    ITc_maps_route_segment_clone_destroy_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to clone and destroy segment of the route.
+* @scenario                            maps_route_segment_clone, maps_route_segment_destroy
+* @apicovered                  maps_route_segment_clone, maps_route_segment_destroy
+* @passcase                            if maps_route_segment_clone, maps_route_segment_destroy passes
+* @failcase                            if maps_route_segment_clone, maps_route_segment_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_clone_destroy_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get bounding box of the route.
+/**
+* @testcase                    ITc_maps_route_segment_get_bounding_box_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get bounding box of the route.
+* @scenario                            maps_route_segment_get_bounding_box
+* @apicovered                  maps_route_segment_get_bounding_box
+* @passcase                            if maps_route_segment_get_bounding_box passes
+* @failcase                            if maps_route_segment_get_bounding_box fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_get_bounding_box_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_area_h bounding_box = NULL;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_get_bounding_box(g_route_segment, &bounding_box);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_get_bounding_box", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(bounding_box, "maps_route_segment_get_bounding_box",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_area_destroy(bounding_box);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_area_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get destination of the route.
+/**
+* @testcase                    ITc_maps_route_segment_get_destination_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get destination of the route.
+* @scenario                            maps_route_segment_get_destination
+* @apicovered                  maps_route_segment_get_destination
+* @passcase                            if maps_route_segment_get_destination passes
+* @failcase                            if maps_route_segment_get_destination fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_get_destination_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_coordinates_h destination = NULL;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_get_destination(g_route_segment, &destination);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_get_destination", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(destination, "maps_route_segment_get_destination",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_coordinates_destroy(destination);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get distance of the route.
+/**
+* @testcase                    ITc_maps_route_segment_get_distance_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get distance of the route.
+* @scenario                            maps_route_segment_get_distance
+* @apicovered                  maps_route_segment_get_distance
+* @passcase                            if maps_route_segment_get_distance passes
+* @failcase                            if maps_route_segment_get_distance fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_get_distance_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       double distance = 0;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_get_distance(g_route_segment, &distance);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_get_distance", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       if(distance < 0)
+       {
+               FPRINTF("[Line : %d][%s] distance negative value \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get duration of the route.
+/**
+* @testcase                    ITc_maps_route_segment_get_duration_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get duration of the route.
+* @scenario                            maps_route_segment_get_duration
+* @apicovered                  maps_route_segment_get_duration
+* @passcase                            if maps_route_segment_get_duration passes
+* @failcase                            if maps_route_segment_get_duration fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_get_duration_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       long duration = 0;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_get_duration(g_route_segment, &duration);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_get_duration", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       if(duration < 0)
+       {
+               FPRINTF("[Line : %d][%s] duration negative value \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get origin of the route.
+/**
+* @testcase                    ITc_maps_route_segment_get_origin_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to get origin of the route.
+* @scenario                            maps_route_segment_get_origin
+* @apicovered                  maps_route_segment_get_origin
+* @passcase                            if maps_route_segment_get_origin passes
+* @failcase                            if maps_route_segment_get_origin fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_get_origin_p(void)
+{
+       START_TEST_ROUTE;
+       
+       int nRet;
+       maps_coordinates_h origin = NULL;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       nRet = maps_route_segment_get_origin(g_route_segment, &origin);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_get_origin", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(origin, "maps_route_segment_get_origin",maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       
+       nRet = maps_coordinates_destroy(origin);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to retrieve all paths.
+/**
+* @testcase                    ITc_maps_route_segment_foreach_path_p
+* @author              SRID(manu.tiwari)
+* @reviewer            SRID(amritanshu.p1)
+* @type                                auto
+* @since_tizen                         @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+* @description                 scenario to retrieve all paths.
+* @scenario                            maps_route_segment_foreach_path
+* @apicovered                  maps_route_segment_foreach_path
+* @passcase                            if maps_route_segment_foreach_path passes
+* @failcase                            if maps_route_segment_foreach_path fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_route_segment_foreach_path_p(void)
+{
+       START_TEST_ROUTE;
+
+       int nRet;
+
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       g_nClone = 1;
+       nRet = maps_route_foreach_segment(g_route, MapsRouteSegmentCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_foreach_segment", MapServiceGetError(nRet),maps_route_destroy(g_route));
+       //RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, g_nCheckRet, "maps_route_segment_clone", MapServiceGetError(g_nCheckRet),maps_route_destroy(g_route));
+       CHECK_HANDLE_CLEANUP(g_route_segment, "maps_route_segment_clone",maps_route_destroy(g_route));
+       
+       g_nCheckCb = 0;
+       
+       nRet = maps_route_segment_foreach_path(g_route_segment, MapsRouteSegmentPathCb, NULL);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_route_segment_foreach_path", MapServiceGetError(nRet),maps_route_segment_destroy(g_route_segment);maps_route_destroy(g_route));
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] MapsRouteSegmentPathCb not invoked \\n", __LINE__, API_NAMESPACE);
+               maps_route_segment_destroy(g_route_segment);
+               maps_route_destroy(g_route);
+               return 1;
+       }
+       
+       nRet = maps_route_segment_destroy(g_route_segment);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_segment_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_route_destroy(g_route);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_route_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}   
+/** @} */
+/** @} */
index 69022b9..1fb59f2 100755 (executable)
@@ -53,19 +53,42 @@ bool MapsAddressListCallback(int index, maps_address_h addr, void *user_data)
  */ 
 void ITs_maps_service_address_startup(void)
 {
-       struct stat stBuff;   
+       struct stat stBuff;  
+       
+       g_bFeatureSupported = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_address_create(&g_HandleMapAddress);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_address_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_address_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
+               
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_address_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
                g_HandleMapAddress = NULL;
                return;
        }
+       
        nRet = maps_address_list_create(&g_HandleMapAddressList);
        if ( nRet != MAPS_ERROR_NONE )
        {
@@ -85,7 +108,7 @@ void ITs_maps_service_address_startup(void)
  */ 
 void ITs_maps_service_address_cleanup(void)
 {
-       if(g_HandleMapAddress != NULL)
+       if((g_HandleMapAddress != NULL)&& (g_bFeatureSupported == true))
        {
                maps_address_destroy(g_HandleMapAddress);
        }
index 0fa79d7..db6aa4c 100755 (executable)
@@ -34,7 +34,12 @@ maps_area_h g_HandleMapArea = NULL;
  */ 
 void ITs_maps_service_area_startup(void)
 {
-       struct stat stBuff;   
+       struct stat stBuff;  
+
+       g_bFeatureSupported = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
@@ -42,7 +47,24 @@ void ITs_maps_service_area_startup(void)
        double dLatitude = 44.4;
        double dLongitude = 22.2;
        
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dLatitude, dLongitude, &g_HandleAreaMapCoordinate);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_coordinates_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -60,7 +82,7 @@ void ITs_maps_service_area_startup(void)
  */ 
 void ITs_maps_service_area_cleanup(void)
 {
-       if(g_HandleAreaMapCoordinate != NULL)
+       if((g_HandleAreaMapCoordinate != NULL)&& (g_bFeatureSupported == true))
        {
                maps_coordinates_destroy(g_HandleAreaMapCoordinate);
        }
index 9d0cdee..7286edc 100755 (executable)
@@ -81,9 +81,736 @@ char* MapServiceGetError(int nRet)
                case MAPS_ERROR_UNKNOWN:                                szErrorVal = "MAPS_ERROR_UNKNOWN";                                      break;
                case MAPS_ERROR_SERVICE_NOT_AVAILABLE:  szErrorVal = "MAPS_ERROR_SERVICE_NOT_AVAILABLE";        break;
                case MAPS_ERROR_NOT_FOUND:              szErrorVal = "MAPS_ERROR_NOT_FOUND";                            break;
+               case MAPS_ERROR_USER_NOT_CONSENTED:     szErrorVal = "MAPS_ERROR_USER_NOT_CONSENTED";           break;
                default :                                                       szErrorVal = "Unknown Error";                                           break;
        }
        return szErrorVal;
 }
+// Callback Function to get list of service providers
+bool MapsServiceProviderForeachCb(char* maps_provider, void* user_data)
+{
+       memset( g_szMapsProvider, '\0', sizeof(char)*BUFFER);
+       if(maps_provider != NULL)
+       {
+               strcpy(g_szMapsProvider, maps_provider);
+               FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);      
+       }
+       else
+               return false;
+       
+       g_nCheckCb = true;
+       return true;
+}
+
+// Callback function to get the place view URI
+bool MapsPlaceCb(int index, maps_place_h place, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceCb callback\\n", __LINE__, API_NAMESPACE);
+       if(index ==0)
+       {
+               g_nCheckRet = maps_place_clone(place, &g_maps_place);
+       }
+
+       return true;
+}
+// Callback function to search place list by coordinates
+void MapsServiceSearchPlaceListCb(maps_error_e error, int request_id, int total, maps_place_list_h place_list, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceSearchPlaceListCb callback\\n", __LINE__, API_NAMESPACE);
+
+       g_nCheckCb = true;
+
+       if(place_list)
+               maps_place_list_foreach(place_list,MapsPlaceCb,NULL);
+
+       if(place_list)
+               maps_place_list_destroy(place_list);
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+}
+// Callback function 
+static void MapsServiceGetPlaceDetailsCb(maps_error_e error, int request_id, maps_place_h place, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceGetPlaceDetailsCb callback\\n", __LINE__, API_NAMESPACE);
+       g_nCheckCb = true;
+       
+       g_nCheckRet = maps_place_clone(place, &g_maps_place);
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+}
+// Callback function to search place by coordinates
+static bool MapsServiceSearchPlaceCb(maps_error_e error, int request_id , int index, int total, maps_place_h place, void* user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceSearchPlaceCb callback\\n", __LINE__, API_NAMESPACE);
+       /*if(g_maps_place != NULL)
+       {
+               FPRINTF("[Line : %d][%s] DESTROY g_maps_place\\n", __LINE__, API_NAMESPACE);
+               maps_place_destroy(g_maps_place);
+       }*/
+       g_nCheckRet = maps_place_clone(place, &g_maps_place);
+       
+       if (index + 1 < total) return true;
+
+       g_nCheckCb = true;
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+       return true;
+}    
+void MapsPlaceLocationHandleHelper(void)
+{
+       int nRequestId = 0;
+       maps_place_filter_h hPlaceFilter = NULL;
+       maps_coordinates_h hMapCoords = NULL;
+       
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       g_bStartupPre = true;
+       
+       g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_service_foreach_provider(MapsServiceProviderForeachCb, NULL);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_foreach_provider API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+
+       FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);
+       if(g_szMapsProvider == NULL)
+       {
+                FPRINTF("[Line : %d][%s] g_szMapsProvider NULL\\n", __LINE__, API_NAMESPACE);
+                g_bStartupPre = false;
+                return;
+       }
+
+       nRet = maps_service_create(g_szMapsProvider, &g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       if(g_hMapService == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapService NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+
+       char pstrValue[CONFIG_VALUE_LEN_MAX] = {0,};
+
+       if ( true == GetValueFromConfigFile("MAPS_PROVIDER_KEY", pstrValue, API_NAMESPACE) )
+       {
+#if DEBUG
+               FPRINTF("[Line : %d][%s] Values Received = %s\\n", __LINE__, API_NAMESPACE, pstrValue);
+#endif
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s] GetValueFromConfigFile returned error\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+    if(pstrValue == NULL)
+       {
+               g_bStartupPre = false;
+               return;
+       }
+       
+       nRet = maps_service_set_provider_key(g_hMapService, pstrValue);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_set_provider_key API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_create(&g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_hMapsPref == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapsPref NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       nRet = maps_preference_set_max_results(g_hMapsPref, RESULT);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_set_max_results API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_set_property(g_hMapsPref, MAPS_PLACE_FILTER_SORT_BY, "distance");
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_set_property API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_place_filter_create(&hPlaceFilter);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hPlaceFilter == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hPlaceFilter NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       //nRet = maps_place_filter_set_keyword(hPlaceFilter, pszKeyword);
+       //PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_place_filter_set_keyword", MapServiceGetError(nRet), maps_place_filter_destroy(hPlaceFilter));
+
+       nRet = maps_place_filter_set_place_name(hPlaceFilter, "Berlin");
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_set_place_name API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_coordinates_create(LATITUTE_LOCATION, LONGITUDE_LOCATION, &hMapCoords);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hMapCoords == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hMapCoords NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       
+       nRet = maps_service_search_place(g_hMapService, hMapCoords, DISTANCELOC, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_search_place API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       
+       RUN_POLLING_LOOP;
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Place is not received from maps_service_search_place \\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_nCheckRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_clone API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_maps_place == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_maps_place NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_coordinates_destroy(hMapCoords);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_place_filter_destroy(hPlaceFilter);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_destroy(g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_service_destroy(g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+
+       return;
+}
+
+void MapsPlaceHandleHelper(void)
+{
+       int nRequestId = 0, nRet;
+       char *pszKeyword = "restaurant";
+       maps_place_filter_h hPlaceFilter = NULL;
+       maps_coordinates_h hMapCoords = NULL;
+       maps_area_h hArea = NULL;
+       
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       g_bStartupPre = true;
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       
+       nRet = maps_service_foreach_provider(MapsServiceProviderForeachCb, NULL);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_foreach_provider API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_foreach_provider API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+
+       if(g_szMapsProvider == NULL)
+       {
+                FPRINTF("[Line : %d][%s] g_szMapsProvider NULL\\n", __LINE__, API_NAMESPACE);
+                g_bStartupPre = false;
+                return;
+       }
+       nRet = maps_service_create(g_szMapsProvider, &g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       if(g_hMapService == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapService NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       char pstrValue[CONFIG_VALUE_LEN_MAX] = {0,};
+
+       if ( true == GetValueFromConfigFile("MAPS_PROVIDER_KEY", pstrValue, API_NAMESPACE) )
+       {
+#if DEBUG
+               FPRINTF("[Line : %d][%s] Values Received = %s\\n", __LINE__, API_NAMESPACE, pstrValue);
+#endif
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s] GetValueFromConfigFile returned error\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+       if(pstrValue == NULL)
+       {
+               FPRINTF("[Line : %d][%s] pstrValue NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               return;
+       }
+
+       nRet = maps_service_set_provider_key(g_hMapService, pstrValue);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_set_provider_key API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_create(&g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(g_hMapsPref == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_hMapsPref NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_preference_set_max_results(g_hMapsPref, RESULT);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_set_max_results API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_place_filter_create(&hPlaceFilter);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hPlaceFilter == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hPlaceFilter NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_place_filter_set_keyword(hPlaceFilter, pszKeyword);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_set_keyword API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_place_filter_set_place_name(hPlaceFilter, "Berlin");
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_set_place_name API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_coordinates_create(LATITUTE, LONGITUDE, &hMapCoords);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_create API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hMapCoords == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hMapCoords NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       nRet = maps_area_create_circle(hMapCoords, DISTANCE, &hArea);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_area_create_circle API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       if(hArea == NULL)
+       {
+           FPRINTF("[Line : %d][%s] hArea NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+    g_nCheckRet = 0;
+       g_nCheckCb = 0;
+       
+       //Target API
+       nRet = maps_service_search_place_list(g_hMapService, hArea, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceListCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+                       return;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+                       return;
+               }
+       }
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_search_place_list API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Place is not received from maps_service_search_place_list \\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       if(g_nCheckRet != MAPS_ERROR_NONE)
+       {
+           FPRINTF("[Line : %d][%s] maps_place_clone API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       if(g_maps_place == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_maps_place NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       if(g_szPlaceURI != NULL)
+       {
+               free(g_szPlaceURI);
+               g_szPlaceURI = NULL;
+       }
+       maps_place_get_uri(g_maps_place, &g_szPlaceURI);
+       if(g_szPlaceURI == NULL)
+       {
+               FPRINTF("[Line : %d][%s] g_szPlaceURI NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+           maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+
+       g_nCheckCb = 0;
+       g_nCheckRet = 0;
+       nRet = maps_service_get_place_details(g_hMapService,g_szPlaceURI,MapsServiceGetPlaceDetailsCb, NULL, &nRequestId);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_get_place_details API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+           maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService);
+               return;
+       }
+       RUN_POLLING_LOOP;
+
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Place is not received from maps_service_get_place_details \\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       if(g_nCheckRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_clone API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       if(g_maps_place == NULL)
+       {
+           FPRINTF("[Line : %d][%s] g_maps_place NULL\\n", __LINE__, API_NAMESPACE);
+               g_bStartupPre = false;
+               maps_area_destroy(hArea);
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       nRet = maps_area_destroy(hArea);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_area_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_coordinates_destroy(hMapCoords);
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       nRet = maps_coordinates_destroy(hMapCoords);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_coordinates_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_place_filter_destroy(hPlaceFilter);
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       nRet = maps_place_filter_destroy(hPlaceFilter);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_place_filter_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_preference_destroy(g_hMapsPref);
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       nRet = maps_preference_destroy(g_hMapsPref);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_preference_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               maps_service_destroy(g_hMapService); 
+               return;
+       }
+       nRet = maps_service_destroy(g_hMapService);
+       if(nRet != MAPS_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] maps_service_destroy API failed %s\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+               g_bStartupPre = false;
+               return;
+       }
+       return;
+}
 /** @} */
 //Add helper function definitions here
index 99da0c7..9625de8 100755 (executable)
 #define IMAGE_FILENAME                                 "location_01_ic.png"
 #define NEW_IMAGE_FILENAME                     "location_02_ic.png"
 #define BUFF_LEN                                       4096
+#define RESULT 10
+#define DISTANCE 504295
+#define DISTANCELOC 500
+#define LATITUTE_LOCATION 52.516071
+#define LONGITUDE_LOCATION 13.376980
+#define LATITUTE 52.5167
+#define LONGITUDE 13.383
+#define LATITUTE_ORG 37.564263
+#define LONGITUDE_ORG 126.974676
+#define LATITUTE_DEST 37.557120
+#define LONGITUDE_DEST 126.992410
 
+#define MAPS_FEATURE                   "http://tizen.org/feature/maps"
+#define INTERNET_FEATURE        "http://tizen.org/feature/network.internet"
+
+bool g_bFeatureSupported;
+bool g_bFeatureMismatch;
+bool g_bFeatureNotSupported;
+bool g_bStartupPre;
 bool g_bCategoryCreate;
 GMainLoop *g_pMainLoop;
 bool gCheckBool;
 char gszImagePath[BUFF_LEN];
+int g_nCheckCb;
+int g_nCheckRet;       
+int g_nClone;
+maps_place_h g_maps_place;
+char g_szMapsProvider[BUFFER];
+maps_service_h g_hMapService;
+maps_preference_h g_hMapsPref;
+char *g_szPlaceURI;
+                                                                                                                                                                                               
+#define START_TEST_PLACE {\
+       FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
+       if ( g_bFeatureMismatch )\
+       {\
+               return 1;\
+       }\
+       if ( g_bFeatureNotSupported )\
+       {\
+               return 0;\
+       }\
+       if ( g_bStartupPre == false )\
+       {\
+               FPRINTF("[Line : %d][%s] Precondition failed\\n", __LINE__, API_NAMESPACE);\
+               return 1;\
+       }\
+}
 
+#define START_TEST_ROUTE {\
+       FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
+       if ( g_bFeatureMismatch )\
+       {\
+               return 1;\
+       }\
+       if ( g_bFeatureNotSupported )\
+       {\
+               return 0;\
+       }\
+       if ( g_bStartupPre == false )\
+       {\
+               FPRINTF("[Line : %d][%s] Precondition failed\\n", __LINE__, API_NAMESPACE);\
+               return 1;\
+       }\
+}
 #define START_TEST(HANDLE, TYPE) {\
        FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
+       if ( g_bFeatureMismatch )\
+       {\
+               return 1;\
+       }\
+       if ( g_bFeatureNotSupported )\
+       {\
+               return 0;\
+       }\
        if ( HANDLE == NULL )\
        {\
-       FPRINTF("[Line : %d][%s] Precondition of %s failed\\n", __LINE__, API_NAMESPACE, TYPE);\
-       return 1;\
+               FPRINTF("[Line : %d][%s] Precondition of %s failed\\n", __LINE__, API_NAMESPACE, TYPE);\
+               return 1;\
        }\
 }
 
@@ -70,15 +137,31 @@ char gszImagePath[BUFF_LEN];
        FPRINTF("[Line : %d][%s] Precondition of %s failed\\n", __LINE__, API_NAMESPACE, TYPE);\
        return 1;\
        }\
+       if ( g_bFeatureMismatch )\
+       {\
+               return 1;\
+       }\
+       if ( g_bFeatureNotSupported )\
+       {\
+               return 0;\
+       }\
 }
 
-#define START_TEST_PLACE {\
+#define START_TEST_PLACE_CATEGORY {\
        FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
        if ( !g_bCategoryCreate )\
        {\
                FPRINTF("[Line : %d][%s] Precondition to create category handle failed so leaving test\\n", __LINE__, API_NAMESPACE);\
                return 1;\
        }\
+       if ( g_bFeatureMismatch )\
+       {\
+               return 1;\
+       }\
+       if ( g_bFeatureNotSupported )\
+       {\
+               return 0;\
+       }\
 }
 
 #define START_TEST_OBJECT {\
@@ -121,5 +204,7 @@ char gszImagePath[BUFF_LEN];
 char *MapServiceGetError(int nRet);
 gboolean MapsCallbackTimeout(gpointer data);
 bool GetResourceDataPath(void);
+void MapsPlaceHandleHelper(void);
+void MapsPlaceLocationHandleHelper(void);
 /** @} */
 #endif  //_ITS_MAPS_SERVICE_COMMON_H_
index 05af6bd..6a6b523 100755 (executable)
@@ -55,13 +55,34 @@ bool MapsCoordinatesListCallback(int index, maps_coordinates_h coord, void *user
 void ITs_maps_service_coordinates_startup(void)
 {
        struct stat stBuff;   
+       g_bFeatureSupported = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
        double dLatitude = 44.4;
        double dLongitude = 22.2;
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        int nRet = maps_coordinates_create(dLatitude, dLongitude, &g_HandleMapCoordinate);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_coordinates_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -89,7 +110,7 @@ void ITs_maps_service_coordinates_startup(void)
  */ 
 void ITs_maps_service_coordinates_cleanup(void)
 {
-       if(g_HandleMapCoordinate != NULL)
+       if((g_HandleMapCoordinate != NULL)&& (g_bFeatureSupported == true))
        {
                maps_coordinates_destroy(g_HandleMapCoordinate);
        }
index 8b4bc9c..3c7e8a5 100755 (executable)
@@ -34,13 +34,32 @@ bool g_CallbackFilterCheck = false;
  */ 
 void ITs_maps_service_item_place_filter_startup(void)
 {
-       struct stat stBuff;   
+       struct stat stBuff; 
+       g_bFeatureSupported = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
-       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        int nRet = maps_place_filter_create(&g_HandlePlaceFilter);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_place_filter_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_place_filter_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_place_filter_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -58,7 +77,7 @@ void ITs_maps_service_item_place_filter_startup(void)
  */ 
 void ITs_maps_service_item_place_filter_cleanup(void)
 {
-       if(g_HandlePlaceFilter != NULL)
+       if((g_HandlePlaceFilter != NULL)&& (g_bFeatureSupported == true))
        {
                maps_place_filter_destroy(g_HandlePlaceFilter);
        }
index f4a6223..daf6e4f 100755 (executable)
@@ -35,12 +35,33 @@ bool g_bPreferenceCheck = false;
 void ITs_maps_service_item_preference_startup(void)
 {
        struct stat stBuff;   
+       
+       g_bFeatureSupported = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
        
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        int nRet = maps_preference_create(&g_HandlePreference);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_preference_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_preference_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_preference_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -58,7 +79,7 @@ void ITs_maps_service_item_preference_startup(void)
  */ 
 void ITs_maps_service_item_preference_cleanup(void)
 {
-       if(g_HandlePreference != NULL)
+       if((g_HandlePreference != NULL)&& (g_bFeatureSupported == true))
        {
                maps_preference_destroy(g_HandlePreference);
        }
index fcb5212..c35b7a7 100755 (executable)
 *  @ingroup itc
 *  @{
 */
-
-static maps_service_h g_hMapService = NULL;
-static maps_preference_h g_hMapsPref = NULL;
-static bool g_nCheckCb = false;
-static char g_szMapsProvider[BUFFER];
-static char * g_szPlaceURI = NULL;
-
-gboolean Timeout_Function(gpointer data)
+static gboolean Timeout_Function(gpointer data)
 {
        g_main_loop_quit((GMainLoop *)data);
        return false;
@@ -114,8 +107,9 @@ static bool MapsServiceSearchPlaceCb(maps_error_e error, int request_id , int in
 // Callback function to get the place view URI
 static bool MapsPlaceCb(int index, maps_place_h place, void *user_data)
 {
+       FPRINTF("[Line : %d][%s] Inside MapsPlaceCb callback\\n", __LINE__, API_NAMESPACE);
        if(index ==0)
-       {
+       {       
                maps_place_get_uri(place,&g_szPlaceURI);
        }
 
@@ -176,6 +170,19 @@ static bool MapsServiceRouteFoundCb(maps_error_e error, int request_id, int inde
        return true;
 }
 
+static void MapsServiceRequestUserConsentCb(bool consented, const char *maps_provider, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside MapsServiceRequestUserConsentCb callback\\n", __LINE__, API_NAMESPACE);
+       g_nCheckCb = true;
+
+       if ( g_pMainLoop )
+       {
+               g_main_loop_quit(g_pMainLoop);
+               g_main_loop_unref(g_pMainLoop);
+               g_pMainLoop = NULL;
+       }
+}
+
 /**
  * @function           ITs_maps_service_startup
  * @description                Called before each test
@@ -185,13 +192,15 @@ static bool MapsServiceRouteFoundCb(maps_error_e error, int request_id, int inde
 void ITs_maps_service_startup(void)
 {
        int nResults = 10;
-
+    g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        struct stat stBuff;   
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
-
+    bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        int nRet = maps_service_foreach_provider(MapsServiceProviderForeachCb, NULL);
        if ( nRet != MAPS_ERROR_NONE)
        {
@@ -205,6 +214,21 @@ void ITs_maps_service_startup(void)
        }
 
        nRet = maps_service_create(g_szMapsProvider, &g_hMapService);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_service_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -301,7 +325,7 @@ void ITs_maps_service_cleanup(void)
 */
 int ITc_maps_service_create_destroy_p(void)
 {
-       FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);
+       START_TEST(g_hMapService, "maps_service");
        maps_service_h hMapsService = NULL;
 
        int nRet = maps_service_create(g_szMapsProvider, &hMapsService);
@@ -469,7 +493,8 @@ int ITc_maps_service_provider_is_service_data_supported_p(void)
 */
 int ITc_maps_service_foreach_provider_p(void)
 {
-       FPRINTF("[Line : %d][%s] Starting test : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);
+       START_TEST(g_hMapService, "maps_service");
+       
        g_nCheckCb = false;
 
        int nRet = maps_service_foreach_provider(MapsServiceProviderForeachCb, NULL);
@@ -509,8 +534,24 @@ int ITc_maps_service_geocode_p(void)
        g_nCheckCb = false;
        int nRequestId = 0;
        char *pszPlaceName = "Berlin";
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_service_geocode(g_hMapService, pszPlaceName, g_hMapsPref, MapsLocationCoordinatesCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_service_geocode", MapServiceGetError(nRet));
 
        RUN_POLLING_LOOP;
@@ -587,7 +628,8 @@ int ITc_maps_service_geocode_by_structured_address_p(void)
        int nRequestId = 0;
        maps_address_h hAddress = NULL;
        char *pszPlaceName = "Berlin";
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_address_create(&hAddress);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_address_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hAddress, "maps_preference_create");
@@ -596,6 +638,21 @@ int ITc_maps_service_geocode_by_structured_address_p(void)
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_address_set_city", MapServiceGetError(nRet), maps_address_destroy(hAddress));
 
        nRet = maps_service_geocode_by_structured_address(g_hMapService, hAddress, g_hMapsPref, MapsLocationCoordinatesCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode_by_structured_address API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode_by_structured_address API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_geocode_by_structured_address", MapServiceGetError(nRet), maps_address_destroy(hAddress));
 
        RUN_POLLING_LOOP;
@@ -642,7 +699,8 @@ int ITc_maps_service_geocode_inside_area_p(void)
        char *pszPlaceName = "Berlin";
        double dTopLatitude = 53.507651, dTopLongitude = 10.068970;
        double dBotmLatitude = 51.055207, dBotmLongitude = 17.111206;
-
+    bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dTopLatitude, dTopLongitude, &hTopLeft);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hTopLeft, "maps_coordinates_create");
@@ -658,6 +716,21 @@ int ITc_maps_service_geocode_inside_area_p(void)
                                                 maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight));
 
        nRet = maps_service_geocode_inside_area(g_hMapService, pszPlaceName, hArea, g_hMapsPref, MapsLocationCoordinatesCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode_inside_area API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_geocode_inside_area API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_geocode_inside_area", MapServiceGetError(nRet), 
                                                 maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight); maps_area_destroy(hArea));
 
@@ -703,8 +776,24 @@ int ITc_maps_service_reverse_geocode_p(void)
        g_nCheckCb = false;
        int nRequestId = 0;
        double dLatitude = 25.944594, dLongitude = 62.554303;
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_service_reverse_geocode(g_hMapService, dLatitude, dLongitude, g_hMapsPref, MapsCoordinatesAddressCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_reverse_geocode API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_reverse_geocode API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_service_reverse_geocode", MapServiceGetError(nRet));
 
        RUN_POLLING_LOOP;
@@ -748,7 +837,8 @@ int ITc_maps_service_search_place_p(void)
        double dLatitude = 52.5167, dLongitude = 13.383;
        maps_place_filter_h hPlaceFilter = NULL;
        maps_coordinates_h hMapCoords = NULL;
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_place_filter_create(&hPlaceFilter);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_filter_create", MapServiceGetError(nRet));
 
@@ -762,6 +852,21 @@ int ITc_maps_service_search_place_p(void)
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet), maps_place_filter_destroy(hPlaceFilter));
 
        nRet = maps_service_search_place(g_hMapService, hMapCoords, nDistance, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_place", MapServiceGetError(nRet),
                                                 maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hMapCoords));
 
@@ -815,7 +920,8 @@ int ITc_maps_service_search_place_by_address_p(void)
        maps_area_h hArea = NULL;
        maps_coordinates_h hTopLeft = NULL;
        maps_coordinates_h hBottomRight = NULL;
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_place_filter_create(&hPlaceFilter);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_filter_create", MapServiceGetError(nRet));
 
@@ -841,6 +947,21 @@ int ITc_maps_service_search_place_by_address_p(void)
                                                 maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight));
 
        nRet = maps_service_search_place_by_address(g_hMapService, pszPlaceName, hArea, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_by_address API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_by_address API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_place_by_address", MapServiceGetError(nRet),
                                                 maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight); maps_area_destroy(hArea));
 
@@ -895,7 +1016,8 @@ int ITc_maps_service_search_place_by_area_p(void)
        maps_area_h hArea = NULL;
        maps_coordinates_h hTopLeft = NULL;
        maps_coordinates_h hBottomRight = NULL;
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_place_filter_create(&hPlaceFilter);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_filter_create", MapServiceGetError(nRet));
 
@@ -921,6 +1043,21 @@ int ITc_maps_service_search_place_by_area_p(void)
                                                 maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight));
                                                 
        nRet = maps_service_search_place_by_area(g_hMapService, hArea, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_by_area API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_by_area API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_place_by_area", MapServiceGetError(nRet),
                                                 maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hTopLeft); maps_coordinates_destroy(hBottomRight); maps_area_destroy(hArea));
 
@@ -979,7 +1116,8 @@ int ITc_maps_service_search_route_p(void)
        double dDestLatitude = 37.557120, dDestLongitude = 126.992410;
        maps_coordinates_h hOrigin = NULL;
        maps_coordinates_h hDestination = NULL;
-
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dOrigLatitude, dOrigLongitude, &hOrigin);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hOrigin, "maps_coordinates_create");
@@ -989,6 +1127,21 @@ int ITc_maps_service_search_route_p(void)
        CHECK_HANDLE_CLEANUP(hDestination, "maps_coordinates_create", maps_coordinates_destroy(hOrigin));
 
        nRet = maps_service_search_route(g_hMapService, hOrigin, hDestination, g_hMapsPref, MapsServiceRouteFoundCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_route", MapServiceGetError(nRet),
                                                 maps_coordinates_destroy(hOrigin); maps_coordinates_destroy(hDestination));
 
@@ -1035,6 +1188,8 @@ int ITc_maps_service_search_route_waypoints_p(void)
        double dWp2Latitude = 37.557120, dWp2Longitude = 126.992410;
        double dWp3Latitude = 37.550120, dWp3Longitude = 126.982410;
        maps_coordinates_h *p_wayPoints = NULL;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        p_wayPoints = (maps_coordinates_h *)g_malloc(sizeof(maps_coordinates_h)*nWayPoints);
 
        int nRet = maps_coordinates_create(dWp1Latitude, dWp1Longitude, &p_wayPoints[0]);
@@ -1052,6 +1207,21 @@ int ITc_maps_service_search_route_waypoints_p(void)
                                                 maps_coordinates_destroy(p_wayPoints[0]); maps_coordinates_destroy(p_wayPoints[1]); g_free(p_wayPoints));
 
        nRet = maps_service_search_route_waypoints(g_hMapService, p_wayPoints, nWayPoints, g_hMapsPref, MapsServiceRouteFoundCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route_waypoints API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_route_waypoints API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_route_waypoints", MapServiceGetError(nRet),
                                                 maps_coordinates_destroy(p_wayPoints[0]); maps_coordinates_destroy(p_wayPoints[1]); maps_coordinates_destroy(p_wayPoints[2]); g_free(p_wayPoints));
 
@@ -1098,6 +1268,7 @@ int ITc_maps_service_multi_reverse_geocode_p(void)
        g_nCheckCb = false;
        maps_coordinates_list_h hMapCoordinateList = NULL;
        int nRequestId = 0;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_list_create(&hMapCoordinateList);
        if ( nRet != MAPS_ERROR_NONE )
@@ -1140,6 +1311,21 @@ int ITc_maps_service_multi_reverse_geocode_p(void)
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_coordinates_list_append", MapServiceGetError(nRet),maps_coordinates_destroy(hMapCoordinate[0]);maps_coordinates_destroy(hMapCoordinate[1]);maps_coordinates_destroy(hMapCoordinate[2]);maps_coordinates_destroy(hMapCoordinate[3]);maps_coordinates_list_destroy(hMapCoordinateList));
                        
        nRet = maps_service_multi_reverse_geocode(g_hMapService, hMapCoordinateList, g_hMapsPref, MapServiceMultiRevGeocodeCb, NULL, &nRequestId);      
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_multi_reverse_geocode API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_multi_reverse_geocode API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_multi_reverse_geocode", MapServiceGetError(nRet),maps_coordinates_destroy(hMapCoordinate[0]);maps_coordinates_destroy(hMapCoordinate[1]);maps_coordinates_destroy(hMapCoordinate[2]);maps_coordinates_destroy(hMapCoordinate[3]);maps_coordinates_list_destroy(hMapCoordinateList));
 
        RUN_POLLING_LOOP;
@@ -1187,6 +1373,7 @@ int ITc_maps_service_search_place_list_p(void)
        maps_place_filter_h hPlaceFilter = NULL;
        maps_coordinates_h hMapCoords = NULL;
        maps_area_h hArea = NULL;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_place_filter_create(&hPlaceFilter);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_filter_create", MapServiceGetError(nRet));
@@ -1208,6 +1395,21 @@ int ITc_maps_service_search_place_list_p(void)
                                                 
        //Target API
        nRet = maps_service_search_place_list(g_hMapService, hArea, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceListCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_place_list", MapServiceGetError(nRet),maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hMapCoords); maps_area_destroy(hArea));
 
        RUN_POLLING_LOOP;
@@ -1259,6 +1461,7 @@ int ITc_maps_service_get_place_details_p(void)
        maps_place_filter_h hPlaceFilter = NULL;
        maps_coordinates_h hMapCoords = NULL;
        maps_area_h hArea = NULL;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_place_filter_create(&hPlaceFilter);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_filter_create", MapServiceGetError(nRet));
@@ -1285,6 +1488,21 @@ int ITc_maps_service_get_place_details_p(void)
        }
 
        nRet = maps_service_search_place_list(g_hMapService, hArea, hPlaceFilter, g_hMapsPref, MapsServiceSearchPlaceListCb, NULL, &nRequestId);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureMismatch = true;
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_search_place_list API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       //g_bFeatureNotSupported = true;
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_service_search_place_list", MapServiceGetError(nRet),maps_place_filter_destroy(hPlaceFilter); maps_coordinates_destroy(hMapCoords); maps_area_destroy(hArea));
 
        RUN_POLLING_LOOP;
@@ -1326,5 +1544,88 @@ int ITc_maps_service_get_place_details_p(void)
        return 0;
 }
 
+//& type: auto
+//& purpose:  scenario to destroy place list
+/**
+* @testcase                            ITc_maps_place_list_destroy_p
+* @author                      SRID(nibha.sharma)
+* @reviewer                    SRID(parshant.v)
+* @type                                        auto
+* @since_tizen                         3.0
+* @description                 scenario to destroy place list
+* @scenario                            maps_place_list_destroy
+* @apicovered                  maps_place_list_destroy
+* @passcase                            if maps_place_list_destroy passes
+* @failcase                            if maps_place_list_destroy fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_maps_place_list_destroy_p(void)
+{
+       START_TEST(g_hMapService, "maps_service");
+       
+       maps_place_list_h place_list = NULL;
+       
+       int nRet = maps_place_list_create(&place_list);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_list_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(place_list, "maps_place_list_create");
+       
+       nRet = maps_place_list_destroy(place_list);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_place_list_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+//& type: auto
+//& purpose:  scenario to get the user's consent to use maps data
+/**
+* @testcase                    ITc_maps_service_request_user_consent_p
+* @author              SRID(nibha.sharma)
+* @reviewer            SRID(a.pandia1)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 scenario to get the user's consent to use maps data
+* @scenario                            scenario to get the user's consent to use maps data
+* @apicovered                  maps_service_request_user_consent
+* @passcase                            if maps_service_request_user_consent passes and the callback function is hit
+* @failcase                            if maps_service_request_user_consent fails or the callback function is not hit
+* @precondition                        Call maps_service_foreach_provider() to get a available Maps Providers.
+* @postcondition               callback called
+*/
+int ITc_maps_service_request_user_consent_p(void)
+{
+       START_TEST(g_hMapService, "maps_service");
+
+       bool g_bFeatureSupported = false;
+       g_nCheckCb = false;
+       
+       IS_FEATURE_SUPPORTED(MAPS_FEATURE, g_bFeatureSupported, API_NAMESPACE);
+       
+       int nRet = maps_service_request_user_consent(g_szMapsProvider, MapsServiceRequestUserConsentCb, NULL); 
+       if ( !g_bFeatureSupported )
+       {
+               if ( nRet == TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                  FPRINTF("[Line : %d][%s] Feature not supported \\n", __LINE__, API_NAMESPACE);
+                  return 0;
+               }
+               else
+               {
+                  FPRINTF("[Line : %d][%s] Feature mismatch \\n", __LINE__, API_NAMESPACE);
+                  return 1;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_service_geocode", MapServiceGetError(nRet));
+
+       RUN_POLLING_LOOP;
+       
+       if(g_nCheckCb != true)
+       {
+               FPRINTF("[Line : %d][%s] Coordinates are not received from maps_service_geocode \\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       return 0;
+}
+
 /** @} */
 /** @} */
index 46d445c..c2632b5 100755 (executable)
@@ -52,6 +52,7 @@ static bool MapsViewObjectCoordinateCB(int index, maps_coordinates_h coordinates
 void ITs_maps_view_object_startup(void)
 {
        struct stat stBuff;   
+       
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
@@ -101,6 +102,8 @@ int ITc_maps_view_object_create_marker_destroy_p(void)
        maps_view_object_h hMarker = NULL;
        double dX = 0.0, dY = 0.0;
        int  nRet, nLoopCount = 0;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        maps_view_marker_type_e eMapViewMarkerType[] = {MAPS_VIEW_MARKER_PIN, MAPS_VIEW_MARKER_STICKER};
        int nMapViewMarkerArraySize = sizeof(eMapViewMarkerType) / sizeof(eMapViewMarkerType[0]);
        
@@ -115,6 +118,19 @@ int ITc_maps_view_object_create_marker_destroy_p(void)
        for(nLoopCount = 0; nLoopCount < nMapViewMarkerArraySize; nLoopCount++)
        {
                nRet = maps_coordinates_create(dX, dY, &hCoord);
+               if ( false == bMapsFeatureSupported)
+               {
+                       if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+                       {
+                               FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                               return 1;
+                       }
+                       else
+                       {
+                               FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                               return 0;
+                       }
+               }
                PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
                CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -158,8 +174,22 @@ int ITc_maps_view_object_create_polyline_p(void)
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
        int nWidth = 1;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -216,8 +246,23 @@ int ITc_maps_view_object_create_polygon_p(void)
        unsigned char cGreen = '1';
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
-               
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -278,6 +323,7 @@ int ITc_maps_view_object_get_type_p(void)
        double dX = 0.0, dY = 0.0;
        
        gCheckBool = GetResourceDataPath();
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        if(!gCheckBool)
        {
@@ -286,6 +332,19 @@ int ITc_maps_view_object_get_type_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
        
@@ -342,8 +401,22 @@ int ITc_maps_view_object_set_get_visible_p(void)
                FPRINTF("[Line : %d][%s] Resource Path is Null \\n", __LINE__, API_NAMESPACE);
                return 1;
        }
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -403,8 +476,22 @@ int ITc_maps_view_object_polyline_foreach_point_p(void)
        unsigned char cAlpha = '1';
        int nWidth = 1;
        gCheckCb = false;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -475,8 +562,22 @@ int ITc_maps_view_object_polyline_set_polyline_p(void)
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
        int nWidth = 1;
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -558,8 +659,22 @@ int ITc_maps_view_object_polyline_set_get_color_p(void)
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
        int nWidth = 1;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -632,8 +747,22 @@ int ITc_maps_view_object_polyline_set_get_width_p(void)
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
        int nWidth = 1;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -703,8 +832,22 @@ int ITc_maps_view_object_polygon_set_polygon_p(void)
        unsigned char cGreen = '1';
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -797,8 +940,22 @@ int ITc_maps_view_object_polygon_foreach_point_p(void)
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
        gCheckCb = false;
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -875,8 +1032,22 @@ int ITc_maps_view_object_polygon_set_get_fill_color_p(void)
        unsigned char cGreen = '1';
        unsigned char cBlue = '1';
        unsigned char cAlpha = '1';
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
 
@@ -957,8 +1128,22 @@ int ITc_maps_view_object_marker_set_get_coordinates_p(void)
                FPRINTF("[Line : %d][%s] Resource Path is Null \\n", __LINE__, API_NAMESPACE);
                return 1;
        }
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        
        int nRet = maps_coordinates_create(dX1, dY1, &hCoord1);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord1, "maps_coordinates_create");
        
@@ -1006,7 +1191,8 @@ int ITc_maps_view_object_marker_resize_p(void)
        maps_view_object_h hMarker = NULL;
        double dX = 0.0, dY = 0.0;
        int nWidth = 10, nHeight = 10;
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+
        gCheckBool = GetResourceDataPath();
        
        if(!gCheckBool)
@@ -1016,6 +1202,19 @@ int ITc_maps_view_object_marker_resize_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -1055,7 +1254,8 @@ int ITc_maps_view_object_marker_set_get_image_file_p(void)
        maps_coordinates_h hCoord = NULL;
        maps_view_object_h hMarker = NULL;
        double dX = 0.0, dY = 0.0;
-               
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        gCheckBool = GetResourceDataPath();
        
        if(!gCheckBool)
@@ -1078,6 +1278,19 @@ int ITc_maps_view_object_marker_set_get_image_file_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -1129,6 +1342,8 @@ int ITc_maps_view_object_marker_get_size_p(void)
        int nWidth = 10, nHeight = 10;
        int nGetWidth, nGetHeight;
        
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        gCheckBool = GetResourceDataPath();
        
        if(!gCheckBool)
@@ -1138,6 +1353,19 @@ int ITc_maps_view_object_marker_get_size_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -1190,6 +1418,8 @@ int ITc_maps_view_object_marker_get_type_p(void)
        double dX = 0.0, dY = 0.0;
        
        maps_view_marker_type_e marker_type = -1;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        gCheckBool = GetResourceDataPath();
        
        if(!gCheckBool)
@@ -1199,6 +1429,19 @@ int ITc_maps_view_object_marker_get_type_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -1246,6 +1489,8 @@ int ITc_maps_view_object_marker_set_get_z_order_p(void)
        maps_view_object_h hMarker = NULL;
        double dX = 0.0, dY = 0.0;
        int nSetZOrder = 0, nGetZOrder = -1;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
        gCheckBool = GetResourceDataPath();
        
        if(!gCheckBool)
@@ -1255,6 +1500,19 @@ int ITc_maps_view_object_marker_set_get_z_order_p(void)
        }
        
        int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
        CHECK_HANDLE(hCoord, "maps_coordinates_create");
 
@@ -1282,5 +1540,346 @@ int ITc_maps_view_object_marker_set_get_z_order_p(void)
        
        return 0;
 }
+
+//& type: auto
+//& purpose:  Creates a overlay object.
+/**
+* @testcase                    ITc_maps_view_object_create_overlay_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Creates a overlay object.
+* @scenario                            Creates a overlay object.
+* @apicovered                  maps_coordinates_create, maps_view_object_create_overlay
+* @passcase                            if maps_view_object_create_overlay and its precondition API passes
+* @failcase                            if maps_view_object_create_overlay or its precondition API fails
+* @precondition                        NA().
+* @postcondition               NA
+*/
+int ITc_maps_view_object_create_overlay_p(void)
+{
+       START_TEST_OBJECT;
+       maps_coordinates_h hCoord = NULL;
+       maps_view_object_h hOverlay = NULL;
+       Evas_Object *win = NULL;
+       Evas_Object *object = elm_button_add(win);
+       double dX = 0.0, dY = 0.0;
+       int nLoopCount;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       maps_view_overlay_type_e eMapViewOverlayType[] = {  MAPS_VIEW_OVERLAY_NORMAL,   /**< Indicates the normal type */
+                                                                                                               MAPS_VIEW_OVERLAY_BUBBLE,       /**< Indicates the bubble type */
+                                                                                                               MAPS_VIEW_OVERLAY_BOX};         /**< Indicates the box type */
+
+       int nMapViewOverlayArraySize = sizeof(eMapViewOverlayType) / sizeof(eMapViewOverlayType[0]);
+       
+       int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hCoord, "maps_coordinates_create");
+       
+       for(nLoopCount = 0; nLoopCount < nMapViewOverlayArraySize; nLoopCount++)
+       {
+               nRet = maps_view_object_create_overlay(hCoord, object, eMapViewOverlayType[nLoopCount], &hOverlay);
+               PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_create_overlay", MapServiceGetError(nRet), maps_coordinates_destroy(hCoord));
+               CHECK_HANDLE_CLEANUP(hOverlay, "maps_view_object_create_overlay", maps_coordinates_destroy(hCoord));
+                       
+               nRet = maps_view_object_destroy(hOverlay);
+               PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_view_object_destroy", MapServiceGetError(nRet));
+       }
+       
+       nRet = maps_coordinates_destroy(hCoord);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  Gets the Evas object.
+/**
+* @testcase                    ITc_maps_view_object_overlay_get_object_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Gets the Evas object.
+* @scenario                            Creates a overlay object.
+*                                              Gets the Evas object.
+* @apicovered                  maps_coordinates_create, maps_view_object_create_overlay, maps_view_object_overlay_get_object
+* @passcase                            if maps_view_object_overlay_get_object and its precondition API passes
+* @failcase                            if maps_view_object_overlay_get_object or its precondition API fails
+* @precondition                        NA.
+* @postcondition               NA
+*/
+int ITc_maps_view_object_overlay_get_object_p(void)
+{
+       START_TEST_OBJECT;
+       maps_coordinates_h hCoord = NULL;
+       maps_view_object_h hOverlay = NULL;
+       Evas_Object *win = NULL;
+       Evas_Object *object = elm_button_add(win);
+       Evas_Object *getObject = NULL;
+       maps_view_overlay_type_e eOverlayType = MAPS_VIEW_OVERLAY_NORMAL;
+       double dX = 0.0, dY = 0.0;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hCoord, "maps_coordinates_create");
+       
+       nRet = maps_view_object_create_overlay(hCoord, object, eOverlayType, &hOverlay);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_create_overlay", MapServiceGetError(nRet), maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(hOverlay, "maps_view_object_create_overlay", maps_coordinates_destroy(hCoord));
+               
+       nRet = maps_view_object_overlay_get_object(hOverlay, &getObject);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_get_object", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(getObject, "maps_view_object_overlay_get_object", maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       
+       nRet = maps_view_object_destroy(hOverlay);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_view_object_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_coordinates_destroy(hCoord);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  Sets and gets the overlay coordinates.
+/**
+* @testcase                    ITc_maps_view_object_overlay_set_get_coordinates_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Sets and gets the overlay coordinates.
+* @scenario                            Creates a overlay object.
+*                                              Sets and gets the overlay coordinates.
+* @apicovered                  maps_coordinates_create, maps_view_object_create_overlay, maps_view_object_overlay_set_coordinates, maps_view_object_overlay_get_coordinates
+* @passcase                            if maps_view_object_overlay_set_coordinates and maps_view_object_overlay_get_coordinates and its precondition API passes
+* @failcase                            if maps_view_object_overlay_set_coordinates or maps_view_object_overlay_get_coordinates or its precondition API fails
+* @precondition                        NA.
+* @postcondition               NA
+*/
+int ITc_maps_view_object_overlay_set_get_coordinates_p(void)
+{
+       START_TEST_OBJECT;
+       maps_coordinates_h hCoord = NULL;
+       maps_coordinates_h hGetCoord = NULL;
+       maps_view_object_h hOverlay = NULL;
+       Evas_Object *win = NULL;
+       Evas_Object *object = elm_button_add(win);
+       maps_view_overlay_type_e eOverlayType = MAPS_VIEW_OVERLAY_NORMAL;
+       double dX = 0.0, dY = 0.0;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hCoord, "maps_coordinates_create");
+       
+       nRet = maps_view_object_create_overlay(hCoord, object, eOverlayType, &hOverlay);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_create_overlay", MapServiceGetError(nRet), maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(hOverlay, "maps_view_object_create_overlay", maps_coordinates_destroy(hCoord));
+               
+       nRet = maps_view_object_overlay_set_coordinates(hOverlay, hCoord);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_set_coordinates", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       
+       nRet = maps_view_object_overlay_get_coordinates(hOverlay, &hGetCoord);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_get_coordinates", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(hGetCoord, "maps_view_object_overlay_get_coordinates", maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       
+       nRet = maps_view_object_destroy(hOverlay);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_view_object_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_coordinates_destroy(hCoord);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  Sets and gets the minimal zoom level for overlay.
+/**
+* @testcase                    ITc_maps_view_object_overlay_set_get_min_zoom_level_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Sets and gets the minimal zoom level for overlay.
+* @scenario                            Creates a overlay object.
+*                                              Sets and gets the minimal zoom level for overlay.
+* @apicovered                  maps_coordinates_create, maps_view_object_create_overlay, maps_view_object_overlay_set_min_zoom_level, maps_view_object_overlay_get_min_zoom_level
+* @passcase                            if maps_view_object_overlay_set_min_zoom_level and maps_view_object_overlay_get_min_zoom_level and its precondition API passes
+* @failcase                            if maps_view_object_overlay_set_min_zoom_level or maps_view_object_overlay_get_min_zoom_level or its precondition API fails
+* @precondition                        NA.
+* @postcondition               NA
+*/
+int ITc_maps_view_object_overlay_set_get_min_zoom_level_p(void)
+{
+       START_TEST_OBJECT;
+       maps_coordinates_h hCoord = NULL;
+       maps_view_object_h hOverlay = NULL;
+       Evas_Object *win = NULL;
+       Evas_Object *object = elm_button_add(win);
+       maps_view_overlay_type_e eOverlayType = MAPS_VIEW_OVERLAY_NORMAL;
+       double dX = 0.0, dY = 0.0;
+       int nSetZoomLevel = 2;
+       int nGetZoomLevel;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hCoord, "maps_coordinates_create");
+       
+       nRet = maps_view_object_create_overlay(hCoord, object, eOverlayType, &hOverlay);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_create_overlay", MapServiceGetError(nRet), maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(hOverlay, "maps_view_object_create_overlay", maps_coordinates_destroy(hCoord));
+               
+       nRet = maps_view_object_overlay_set_min_zoom_level(hOverlay, nSetZoomLevel);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_set_min_zoom_level", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       
+       nRet = maps_view_object_overlay_get_min_zoom_level(hOverlay, &nGetZoomLevel);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_get_min_zoom_level", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       if(nSetZoomLevel != nGetZoomLevel)
+       {
+               FPRINTF("[Line : %d][%s] Mismatch in set and get zoom level \\n", __LINE__, API_NAMESPACE);
+               maps_view_object_destroy(hOverlay);
+               maps_coordinates_destroy(hCoord);
+               return 1;
+       }
+       
+       nRet = maps_view_object_destroy(hOverlay);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_view_object_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_coordinates_destroy(hCoord);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
+
+//& type: auto
+//& purpose:  Sets and gets the maximum zoom level for overlay.
+/**
+* @testcase                    ITc_maps_view_object_overlay_set_get_max_zoom_level_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Sets and gets the maximum zoom level for overlay.
+* @scenario                            Creates a overlay object.
+*                                              Sets and gets the maximum zoom level for overlay.
+* @apicovered                  maps_coordinates_create, maps_view_object_create_overlay, maps_view_object_overlay_set_max_zoom_level, maps_view_object_overlay_get_max_zoom_level
+* @passcase                            if maps_view_object_overlay_set_max_zoom_level and maps_view_object_overlay_get_max_zoom_level and its precondition API passes
+* @failcase                            if maps_view_object_overlay_set_max_zoom_level or maps_view_object_overlay_get_max_zoom_level or its precondition API fails
+* @precondition                        NA.
+* @postcondition               NA
+*/
+int ITc_maps_view_object_overlay_set_get_max_zoom_level_p(void)
+{
+       START_TEST_OBJECT;
+       maps_coordinates_h hCoord = NULL;
+       maps_view_object_h hOverlay = NULL;
+       Evas_Object *win = NULL;
+       Evas_Object *object = elm_button_add(win);
+       maps_view_overlay_type_e eOverlayType = MAPS_VIEW_OVERLAY_NORMAL;
+       double dX = 0.0, dY = 0.0;
+       int nSetZoomLevel = 2;
+       int nGetZoomLevel;
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
+       
+       int nRet = maps_coordinates_create(dX, dY, &hCoord);
+       if ( false == bMapsFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_coordinates_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
+       CHECK_HANDLE(hCoord, "maps_coordinates_create");
+       
+       nRet = maps_view_object_create_overlay(hCoord, object, eOverlayType, &hOverlay);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_create_overlay", MapServiceGetError(nRet), maps_coordinates_destroy(hCoord));
+       CHECK_HANDLE_CLEANUP(hOverlay, "maps_view_object_create_overlay", maps_coordinates_destroy(hCoord));
+               
+       nRet = maps_view_object_overlay_set_max_zoom_level(hOverlay, nSetZoomLevel);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_set_max_zoom_level", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       
+       nRet = maps_view_object_overlay_get_max_zoom_level(hOverlay, &nGetZoomLevel);
+       PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_object_overlay_get_max_zoom_level", MapServiceGetError(nRet), maps_view_object_destroy(hOverlay);maps_coordinates_destroy(hCoord));
+       if(nSetZoomLevel != nGetZoomLevel)
+       {
+               FPRINTF("[Line : %d][%s] Mismatch in set and get zoom level \\n", __LINE__, API_NAMESPACE);
+               maps_view_object_destroy(hOverlay);
+               maps_coordinates_destroy(hCoord);
+               return 1;
+       }
+       
+       nRet = maps_view_object_destroy(hOverlay);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_view_object_destroy", MapServiceGetError(nRet));
+       
+       nRet = maps_coordinates_destroy(hCoord);
+       PRINT_RESULT_NORETURN(MAPS_ERROR_NONE, nRet, "maps_coordinates_destroy", MapServiceGetError(nRet));
+       
+       return 0;
+}
 /** @} */
 /** @} */
index 5b5cc68..7edc85f 100755 (executable)
@@ -25,8 +25,6 @@ static char gszStrValue[CONFIG_VALUE_LEN_MAX] = {0,};
 static maps_view_h g_HandleMapView = NULL;
 static Evas_Image *g_hImage = NULL;
 
-static char g_szMapsProvider[BUFFER];
-
 static bool gCheckCB = false;
 static bool g_CheckInitErr = false;
 
@@ -37,6 +35,9 @@ static bool MapsViewCoordinateCB(int index, int total, maps_view_object_h object
        return true;
 }
 
+static void MapsViewEventCb(maps_view_event_type_e type, maps_view_event_data_h event_data, void *user_data) 
+{ 
+}
 
 /**
  * @function           ITs_maps_view_startup
@@ -47,11 +48,16 @@ static bool MapsViewCoordinateCB(int index, int total, maps_view_object_h object
 void ITs_maps_view_startup(void)
 {
        g_CheckInitErr = true;
+       g_bFeatureMismatch = false;
+       g_bFeatureNotSupported = false;
+       
        struct stat stBuff;   
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
        }
+       
+       bool bMapsFeatureSupported = TCTCheckSystemInfoFeatureSupported(MAPS_FEATURE, API_NAMESPACE);
        elm_init(0,NULL);
        elm_config_accel_preference_set("opengl");
 
@@ -77,6 +83,21 @@ void ITs_maps_view_startup(void)
        strcpy(g_szMapsProvider, "HERE");
        FPRINTF("[Line : %d][%s] Provider list from maps_service_foreach_provider is = %s\\n", __LINE__, API_NAMESPACE, g_szMapsProvider);
        int nRet = maps_service_create(g_szMapsProvider, &g_HandleMapService);
+       if ( false == bMapsFeatureSupported)
+       {
+               g_bFeatureSupported = false;
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_create API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureMismatch = true;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_service_create API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       g_bFeatureNotSupported = true;
+               }
+               return;
+       }
        if ( nRet != MAPS_ERROR_NONE )
        {
                FPRINTF("[Line : %d][%s] maps_service_create fail in startup error returned : %s \\n", __LINE__, API_NAMESPACE , MapServiceGetError(nRet));
@@ -226,11 +247,26 @@ int ITc_maps_view_set_get_center_p(void)
        double Getlatitude = 0.0;
        double Getlongitude = 0.0;
 
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_coordinates_create(Setlatitude, Setlongitude, &Setcoord);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_coordinates_create", MapServiceGetError(nRet));
     CHECK_HANDLE(Setcoord, "maps_coordinates_create");
        
        nRet = maps_view_set_center(g_HandleMapView, Setcoord);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_center API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_center API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT_CLEANUP(MAPS_ERROR_NONE, nRet, "maps_view_set_center", MapServiceGetError(nRet), maps_coordinates_destroy(Setcoord));
        
        nRet = maps_view_get_center(g_HandleMapView, &Getcoord);
@@ -273,7 +309,22 @@ int ITc_maps_view_set_get_zoom_level_p(void)
        
        int Setlevel = 3;
        int Getlevel = 0;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nRet = maps_view_set_zoom_level(g_HandleMapView, Setlevel);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_zoom_level API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_zoom_level API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_zoom_level", MapServiceGetError(nRet));
        
        nRet = maps_view_get_zoom_level(g_HandleMapView, &Getlevel);
@@ -288,32 +339,38 @@ int ITc_maps_view_set_get_zoom_level_p(void)
        return 0;
 }
 //& type: auto
-//& purpose:  scenario to get the minimal zoom level of the map
+//& purpose:  scenario to set and get the minimal zoom level of the map
 /**
-* @testcase                    ITc_maps_view_get_min_zoom_level_p
+* @testcase                    ITc_maps_view_set_get_min_zoom_level_p
 * @author              SRID(manu.tiwari)
 * @reviewer            SRID(a.pandia)
 * @type                                auto
 * @since_tizen                         3.0
-* @description                 Gets the minimal zoom level of the map.
-* @scenario                            call maps_view_get_min_zoom_level
-* @apicovered                  maps_view_get_min_zoom_level
-* @passcase                            if maps_view_get_min_zoom_level passes
-* @failcase                            if maps_view_get_min_zoom_level fails
+* @description                 Sets the minimal zoom level of the map.
+*                                              Gets the minimal zoom level of the map.
+* @scenario                            maps_view_set_min_zoom_level, call maps_view_get_min_zoom_level
+* @apicovered                  maps_view_set_min_zoom_level, maps_view_get_min_zoom_level
+* @passcase                            if maps_view_set_min_zoom_level and maps_view_get_min_zoom_level passes
+* @failcase                            if maps_view_set_min_zoom_level or maps_view_get_min_zoom_level fails
 * @precondition                        NA
 * @postcondition               NA
 */
-int ITc_maps_view_get_min_zoom_level_p(void)   
+int ITc_maps_view_set_get_min_zoom_level_p(void)   
 {
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        
-       int level = -1;
+       int nSetZoomLevel = 1;
+       int nGetZoomLevel;
+       
+       int nRet = maps_view_set_min_zoom_level(g_HandleMapView, nSetZoomLevel);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_min_zoom_level", MapServiceGetError(nRet));
        
-       int nRet = maps_view_get_min_zoom_level(g_HandleMapView, &level);
+       nRet = maps_view_get_min_zoom_level(g_HandleMapView, &nGetZoomLevel);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_get_min_zoom_level", MapServiceGetError(nRet));
-       if(level < 0)
+       
+       if(nSetZoomLevel != nGetZoomLevel)
        {
-               FPRINTF("[Line : %d][%s] maps_view_get_min_zoom_level FAILS \\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] Mismatch in set and get zoom level \\n", __LINE__, API_NAMESPACE);
                return 1;
        }
 
@@ -322,32 +379,38 @@ int ITc_maps_view_get_min_zoom_level_p(void)
 }
 
 //& type: auto
-//& purpose:  scenario to get the maximal zoom level of the map
+//& purpose:  scenario to set and get the maximal zoom level of the map
 /**
-* @testcase                    ITc_maps_view_get_max_zoom_level_p
+* @testcase                    ITc_maps_view_set_get_max_zoom_level_p
 * @author              SRID(manu.tiwari)
 * @reviewer            SRID(a.pandia)
 * @type                                auto
 * @since_tizen                         3.0
-* @description                 Gets the maximal zoom level of the map.
-* @scenario                            call maps_view_get_max_zoom_level
-* @apicovered                  maps_view_get_max_zoom_level
-* @passcase                            if maps_view_get_max_zoom_level passes
-* @failcase                            if maps_view_get_max_zoom_level fails
+* @description                 Sets the maximal zoom level of the map.
+*                                              Gets the maximal zoom level of the map.
+* @scenario                            call maps_view_set_max_zoom_level and maps_view_get_max_zoom_level
+* @apicovered                  maps_view_set_max_zoom_level, maps_view_get_max_zoom_level
+* @passcase                            if maps_view_set_max_zoom_level and maps_view_get_max_zoom_level pass
+* @failcase                            if maps_view_set_max_zoom_level or maps_view_get_max_zoom_level fail
 * @precondition                        NA
 * @postcondition               NA
 */
-int ITc_maps_view_get_max_zoom_level_p(void)   
+int ITc_maps_view_set_get_max_zoom_level_p(void)   
 {
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        
-       int level = -1;
+       int nSetZoomLevel = 7;
+       int nGetZoomLevel;
 
-       int nRet = maps_view_get_max_zoom_level(g_HandleMapView, &level);
+       int nRet = maps_view_set_max_zoom_level(g_HandleMapView, nSetZoomLevel);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_max_zoom_level", MapServiceGetError(nRet));
+
+       nRet = maps_view_get_max_zoom_level(g_HandleMapView, &nGetZoomLevel);
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_get_max_zoom_level", MapServiceGetError(nRet));
-       if(level < 0)
+       
+       if(nSetZoomLevel != nGetZoomLevel)
        {
-               FPRINTF("[Line : %d][%s] maps_view_get_max_zoom_level FAILS \\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] Mismatch in set and get zoom level \\n", __LINE__, API_NAMESPACE);
                return 1;
        }
        
@@ -375,8 +438,22 @@ int ITc_maps_view_set_get_orientation_p(void)
        
        double SetOrientation = 30.0;
        double GetOrientation = 0.0;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_orientation(g_HandleMapView, SetOrientation);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_orientation API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_orientation API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_orientation", MapServiceGetError(nRet));
 
        nRet = maps_view_get_orientation(g_HandleMapView, &GetOrientation);
@@ -483,11 +560,27 @@ int ITc_maps_view_set_get_type_p(void)
        maps_view_type_e Gettype;
        int nRet, nLoopCount = 0;
        maps_view_type_e eMapViewTypes[] = {MAPS_VIEW_TYPE_NORMAL, MAPS_VIEW_TYPE_SATELLITE, MAPS_VIEW_TYPE_TERRAIN, MAPS_VIEW_TYPE_HYBRID};
+       
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
+       
        int nMapViewTypeArraySize = sizeof(eMapViewTypes) / sizeof(eMapViewTypes[0]);
        
        for(nLoopCount = 0; nLoopCount < nMapViewTypeArraySize; nLoopCount++)
        {
                nRet = maps_view_set_type(g_HandleMapView, eMapViewTypes[nLoopCount]);
+               if ( false == bInternetFeatureSupported)
+               {
+                       if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+                       {
+                               FPRINTF("[Line : %d][%s] maps_view_set_type API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                               return 1;
+                       }
+                       else
+                       {
+                               FPRINTF("[Line : %d][%s] maps_view_set_type API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                               return 0;
+                       }
+               }
                PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_type", MapServiceGetError(nRet));
 
                nRet = maps_view_get_type(g_HandleMapView, &Gettype);
@@ -524,8 +617,22 @@ int ITc_maps_view_set_get_buildings_enabled_p(void)
        
        bool SetEnabled = false;
        bool GetEnabled;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_buildings_enabled(g_HandleMapView, SetEnabled);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_buildings_enabled API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_buildings_enabled API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_buildings_enabled", MapServiceGetError(nRet));
        
        nRet = maps_view_get_buildings_enabled(g_HandleMapView, &GetEnabled);
@@ -560,8 +667,22 @@ int ITc_maps_view_set_get_language_p(void)
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        
        char *setLanguage = "eng";
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_language(g_HandleMapView, setLanguage);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_language API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_language API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_language", MapServiceGetError(nRet));
        
        char *getLanguage = NULL;
@@ -601,8 +722,22 @@ int ITc_maps_view_set_get_scalebar_enabled_p(void)
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        bool setEnabled = false;
        bool getEnabled = true;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_scalebar_enabled(g_HandleMapView, setEnabled);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_scalebar_enabled API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_scalebar_enabled API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_scalebar_enabled", MapServiceGetError(nRet));
     
        nRet = maps_view_get_scalebar_enabled(g_HandleMapView, &getEnabled);
@@ -637,8 +772,22 @@ int ITc_maps_view_set_get_traffic_enabled_p(void)
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        bool setEnabled = false;
        bool getEnabled = true;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_traffic_enabled(g_HandleMapView, setEnabled);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_traffic_enabled API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_traffic_enabled API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_traffic_enabled", MapServiceGetError(nRet));
        
        nRet = maps_view_get_traffic_enabled(g_HandleMapView, &getEnabled);
@@ -702,8 +851,22 @@ int ITc_maps_view_set_get_screen_location_p(void)
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        int nSetX = 10, nSetY = 10, nSetWidth = 10, nSetHeight = 10;
        int nGetX, nGetY, nGetWidth, nGetHeight;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_screen_location(g_HandleMapView, nSetX, nSetY, nSetWidth, nSetHeight);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_screen_location API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_screen_location API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_screen_location", MapServiceGetError(nRet));
        
     nRet = maps_view_get_screen_location(g_HandleMapView, &nGetX, &nGetY, &nGetWidth, &nGetHeight);
@@ -1058,8 +1221,22 @@ int ITc_maps_view_move_p(void)
 {
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        int nX = 10, nY = 10;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_move(g_HandleMapView, nX, nY);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_move API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_move API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_move", MapServiceGetError(nRet));
 
        return 0;
@@ -1085,8 +1262,22 @@ int ITc_maps_view_resize_p(void)
 {
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        int nWidth = 10, nHeight = 10;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_resize(g_HandleMapView, nWidth, nHeight);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_resize API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_resize API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_resize", MapServiceGetError(nRet));
        
        return 0;
@@ -1114,8 +1305,22 @@ int ITc_maps_view_set_get_public_transit_enabled_p(void)
        START_TEST_VIEW(g_CheckInitErr,"maps_view");
        bool setEnabled = false;
        bool getEnabled = true;
+       bool bInternetFeatureSupported = TCTCheckSystemInfoFeatureSupported(INTERNET_FEATURE, API_NAMESPACE);
        
        int nRet = maps_view_set_public_transit_enabled(g_HandleMapView, setEnabled);
+       if ( false == bInternetFeatureSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_public_transit_enabled API call returned mismatch %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 1;
+               }
+               else
+               {
+                       FPRINTF("[Line : %d][%s] maps_view_set_public_transit_enabled API call correctly returned %s error for unsupported maps feature\\n", __LINE__, API_NAMESPACE, MapServiceGetError(nRet));
+                       return 0;
+               }
+       }
        PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_public_transit_enabled", MapServiceGetError(nRet));
        
        nRet = maps_view_get_public_transit_enabled(g_HandleMapView, &getEnabled);
@@ -1128,5 +1333,35 @@ int ITc_maps_view_set_get_public_transit_enabled_p(void)
        
        return 0;
 }
+
+//& type: auto
+//& purpose:  Sets and unset the event callback. 
+/**
+* @testcase                    ITc_maps_view_set_unset_event_cb_p
+* @author              SRID(a.pandia1)
+* @reviewer            SRID(shobhit.v)
+* @type                                auto
+* @since_tizen                         3.0
+* @description                 Sets the event callback
+* @scenario                            Sets the event callback \n
+*                                              Unset the event callback.
+* @apicovered                  maps_view_set_event_cb, maps_view_unset_event_cb
+* @passcase                            if maps_view_set_event_cb and maps_view_unset_event_cb passes
+* @failcase                            if maps_view_set_event_cb or maps_view_unset_event_cb fails
+* @precondition                        view is created using maps_view_create().
+* @postcondition               NA
+*/
+int ITc_maps_view_set_unset_event_cb_p(void)
+{
+       START_TEST_VIEW(g_CheckInitErr,"maps_view");
+       
+       int nRet = maps_view_set_event_cb(g_HandleMapView, MAPS_VIEW_EVENT_GESTURE, MapsViewEventCb, NULL);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_set_event_cb", MapServiceGetError(nRet));
+       
+       nRet = maps_view_unset_event_cb(MapsViewEventCb, MAPS_VIEW_EVENT_GESTURE);
+       PRINT_RESULT(MAPS_ERROR_NONE, nRet, "maps_view_unset_event_cb", MapServiceGetError(nRet));
+       
+       return 0;
+}
 /** @} */
 /** @} */
index 87974e2..30759a4 100755 (executable)
@@ -23,14 +23,26 @@ extern void ITs_maps_service_address_startup(void);
 extern void ITs_maps_service_address_cleanup(void);
 extern void ITs_maps_service_area_startup(void);
 extern void ITs_maps_service_area_cleanup(void);
+extern void ITs_maps_route_maneuver_startup(void);
+extern void ITs_maps_route_maneuver_cleanup(void);
 extern void ITs_maps_service_coordinates_startup(void);
 extern void ITs_maps_service_coordinates_cleanup(void);
 extern void ITs_maps_service_item_place_filter_startup(void);
 extern void ITs_maps_service_item_place_filter_cleanup(void);
 extern void ITs_maps_service_item_preference_startup(void);
 extern void ITs_maps_service_item_preference_cleanup(void);
-extern void ITs_maps_service_maps_place_category_startup(void);
-extern void ITs_maps_service_maps_place_category_cleanup(void);
+extern void ITs_maps_place_category_startup(void);
+extern void ITs_maps_place_category_cleanup(void);
+extern void ITs_maps_place_startup(void);
+extern void ITs_maps_place_cleanup(void);
+extern void ITs_maps_place_contact_startup(void);
+extern void ITs_maps_place_contact_cleanup(void);
+extern void ITs_maps_place_image_linkobj_startup(void);
+extern void ITs_maps_place_image_linkobj_cleanup(void);
+extern void ITs_maps_place_review_startup(void);
+extern void ITs_maps_place_review_cleanup(void);
+extern void ITs_maps_route_startup(void);
+extern void ITs_maps_route_cleanup(void);
 extern void ITs_maps_service_startup(void);
 extern void ITs_maps_service_cleanup(void);
 extern void ITs_maps_view_object_startup(void);
@@ -87,9 +99,11 @@ extern int ITc_maps_preference_set_get_property_p(void);
 extern int ITc_maps_preference_foreach_property_p(void);
 extern int ITc_maps_preference_set_get_route_alternatives_enabled_p(void);
 extern int ITc_maps_place_category_create_destroy_p(void);
-extern int ITc_maps_place_category_set_id_p(void);
-extern int ITc_maps_place_category_set_name_p(void);
-extern int ITc_maps_place_category_set_url_p(void);
+extern int ITc_maps_place_category_clone_p(void);
+extern int ITc_maps_place_category_set_get_id_p(void);
+extern int ITc_maps_place_category_set_get_name_p(void);
+extern int ITc_maps_place_category_set_get_url_p(void);
+extern int ITc_maps_place_foreach_category_p(void);
 extern int ITc_maps_service_create_destroy_p(void);
 extern int ITc_maps_service_set_get_preference_p(void);
 extern int ITc_maps_service_set_get_provider_key_p(void);
@@ -108,6 +122,75 @@ extern int ITc_maps_service_search_route_waypoints_p(void);
 extern int ITc_maps_service_multi_reverse_geocode_p(void);
 extern int ITc_maps_service_search_place_list_p(void);
 extern int ITc_maps_service_get_place_details_p(void);
+extern int ITc_maps_place_list_destroy_p(void);
+extern int ITc_maps_place_foreach_contact_p(void);
+extern int ITc_maps_place_contact_clone_destroy_p(void);
+extern int ITc_maps_place_contact_get_label_p(void);
+extern int ITc_maps_place_contact_get_type_p(void);
+extern int ITc_maps_place_contact_get_value_p(void);
+extern int ITc_maps_place_foreach_review_p(void);
+extern int ITc_maps_place_review_clone_destroy_p(void);
+extern int ITc_maps_place_review_get_date_p(void);
+extern int ITc_maps_place_review_get_description_p(void);
+extern int ITc_maps_place_review_get_language_p(void);
+extern int ITc_maps_place_review_get_media_p(void);
+extern int ITc_maps_place_review_get_rating_p(void);
+extern int ITc_maps_place_review_get_title_p(void);
+extern int ITc_maps_place_review_get_user_link_p(void);
+extern int ITc_maps_route_clone_p(void);
+extern int ITc_maps_route_get_bounding_box_p(void);
+extern int ITc_maps_route_get_destination_p(void);
+extern int ITc_maps_route_get_distance_unit_p(void);
+extern int ITc_maps_route_get_origin_p(void);
+extern int ITc_maps_route_get_route_id_p(void);
+extern int ITc_maps_route_get_total_distance_p(void);
+extern int ITc_maps_route_get_total_duration_p(void);
+extern int ITc_maps_route_get_transport_mode_p(void);
+extern int ITc_maps_route_foreach_segment_p(void);
+extern int ITc_maps_route_segment_clone_destroy_p(void);
+extern int ITc_maps_route_segment_get_bounding_box_p(void);
+extern int ITc_maps_route_segment_get_destination_p(void);
+extern int ITc_maps_route_segment_get_distance_p(void);
+extern int ITc_maps_route_segment_get_duration_p(void);
+extern int ITc_maps_route_segment_get_origin_p(void);
+extern int ITc_maps_route_segment_foreach_maneuver_p(void);
+extern int ITc_maps_route_maneuver_get_turn_type_p(void);
+extern int ITc_maps_route_maneuver_get_time_to_next_instruction_p(void);
+extern int ITc_maps_route_maneuver_get_road_name_p(void);
+extern int ITc_maps_route_maneuver_get_position_p(void);
+extern int ITc_maps_route_maneuver_get_locale_p(void);
+extern int ITc_maps_route_maneuver_get_instruction_text_p(void);
+extern int ITc_maps_route_maneuver_get_distance_to_next_instruction_p(void);
+extern int ITc_maps_route_maneuver_get_direction_id_p(void);
+extern int ITc_maps_route_segment_foreach_path_p(void);
+extern int ITc_maps_route_foreach_path_p(void);
+extern int ITc_maps_route_foreach_property_p(void);
+extern int ITc_maps_route_maneuver_clone_destroy_p(void);
+extern int ITc_maps_place_foreach_image_p(void);
+extern int ITc_maps_place_image_clone_destroy_p(void);
+extern int ITc_maps_place_image_get_height_width_p(void);
+extern int ITc_maps_place_image_get_ids_p(void);
+extern int ITc_maps_place_image_get_media_p(void);
+extern int ITc_maps_place_image_get_url_p(void);
+extern int ITc_maps_place_image_get_user_link_p(void);
+extern int ITc_maps_place_link_object_clone_destroy_p(void);
+extern int ITc_maps_place_link_object_get_id_p(void);
+extern int ITc_maps_place_link_object_get_name_p(void);
+extern int ITc_maps_place_link_object_get_string_p(void);
+extern int ITc_maps_place_link_object_get_type_p(void);
+extern int ITc_maps_place_get_distance_p(void);
+extern int ITc_maps_place_get_rating_p(void);
+extern int ITc_maps_place_rating_get_count_p(void);
+extern int ITc_maps_place_rating_get_average_p(void);
+extern int ITc_maps_place_rating_clone_destroy_p(void);
+extern int ITc_maps_place_get_name_p(void);
+extern int ITc_maps_place_get_location_p(void);
+extern int ITc_maps_place_get_id_p(void);
+extern int ITc_maps_place_clone_p(void);
+extern int ITc_maps_place_foreach_property_p(void);
+extern int ITc_maps_place_get_address_p(void);
+extern int ITc_maps_place_get_related_link_p(void);
+extern int ITc_maps_place_get_supplier_link_p(void);
 extern int ITc_maps_view_object_create_marker_destroy_p(void);
 extern int ITc_maps_view_object_create_polyline_p(void);
 extern int ITc_maps_view_object_create_polygon_p(void);
@@ -129,8 +212,8 @@ extern int ITc_maps_view_object_marker_set_get_z_order_p(void);
 extern int ITc_maps_view_create_destroy_p(void);
 extern int ITc_maps_view_set_get_center_p(void);
 extern int ITc_maps_view_set_get_zoom_level_p(void);
-extern int ITc_maps_view_get_min_zoom_level_p(void);
-extern int ITc_maps_view_get_max_zoom_level_p(void);
+extern int ITc_maps_view_set_get_min_zoom_level_p(void);
+extern int ITc_maps_view_set_get_max_zoom_level_p(void);
 extern int ITc_maps_view_set_get_orientation_p(void);
 extern int ITc_maps_view_screen_to_geolocation_p(void);
 extern int ITc_maps_view_geolocation_to_screen_p(void);
@@ -149,6 +232,13 @@ extern int ITc_maps_view_move_p(void);
 extern int ITc_maps_view_resize_p(void);
 extern int ITc_maps_view_foreach_object_p(void);
 extern int ITc_maps_view_set_get_public_transit_enabled_p(void);
+extern int ITc_maps_service_request_user_consent_p(void);
+extern int ITc_maps_view_set_unset_event_cb_p(void);
+extern int ITc_maps_view_object_create_overlay_p(void);
+extern int ITc_maps_view_object_overlay_get_object_p(void);
+extern int ITc_maps_view_object_overlay_set_get_coordinates_p(void);
+extern int ITc_maps_view_object_overlay_set_get_min_zoom_level_p(void);
+extern int ITc_maps_view_object_overlay_set_get_max_zoom_level_p(void);
 
 testcase tc_array[] = {
     {"ITc_maps_address_create_destroy_p", ITc_maps_address_create_destroy_p, ITs_maps_service_address_startup, ITs_maps_service_address_cleanup},
@@ -200,10 +290,12 @@ testcase tc_array[] = {
     {"ITc_maps_preference_set_get_property_p", ITc_maps_preference_set_get_property_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
     {"ITc_maps_preference_foreach_property_p", ITc_maps_preference_foreach_property_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
     {"ITc_maps_preference_set_get_route_alternatives_enabled_p", ITc_maps_preference_set_get_route_alternatives_enabled_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
-    {"ITc_maps_place_category_create_destroy_p", ITc_maps_place_category_create_destroy_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_id_p", ITc_maps_place_category_set_id_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_name_p", ITc_maps_place_category_set_name_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_url_p", ITc_maps_place_category_set_url_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
+    {"ITc_maps_place_category_create_destroy_p", ITc_maps_place_category_create_destroy_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+       {"ITc_maps_place_category_clone_p", ITc_maps_place_category_clone_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_id_p", ITc_maps_place_category_set_get_id_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_name_p", ITc_maps_place_category_set_get_name_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_url_p", ITc_maps_place_category_set_get_url_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+       {"ITc_maps_place_foreach_category_p", ITc_maps_place_foreach_category_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
     {"ITc_maps_service_create_destroy_p", ITc_maps_service_create_destroy_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_set_get_preference_p", ITc_maps_service_set_get_preference_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_set_get_provider_key_p", ITc_maps_service_set_get_provider_key_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
@@ -222,6 +314,75 @@ testcase tc_array[] = {
     {"ITc_maps_service_multi_reverse_geocode_p", ITc_maps_service_multi_reverse_geocode_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_search_place_list_p", ITc_maps_service_search_place_list_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_get_place_details_p", ITc_maps_service_get_place_details_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
+       {"ITc_maps_place_list_destroy_p", ITc_maps_place_list_destroy_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
+       {"ITc_maps_place_foreach_contact_p", ITc_maps_place_foreach_contact_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_clone_destroy_p", ITc_maps_place_contact_clone_destroy_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_label_p", ITc_maps_place_contact_get_label_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_type_p", ITc_maps_place_contact_get_type_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_value_p", ITc_maps_place_contact_get_value_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_foreach_image_p", ITc_maps_place_foreach_image_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_clone_destroy_p", ITc_maps_place_image_clone_destroy_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_height_width_p", ITc_maps_place_image_get_height_width_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_ids_p", ITc_maps_place_image_get_ids_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_media_p", ITc_maps_place_image_get_media_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_url_p", ITc_maps_place_image_get_url_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_user_link_p", ITc_maps_place_image_get_user_link_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_clone_destroy_p", ITc_maps_place_link_object_clone_destroy_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_id_p", ITc_maps_place_link_object_get_id_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_name_p", ITc_maps_place_link_object_get_name_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_string_p", ITc_maps_place_link_object_get_string_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_type_p", ITc_maps_place_link_object_get_type_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_foreach_review_p", ITc_maps_place_foreach_review_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_clone_destroy_p", ITc_maps_place_review_clone_destroy_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_date_p", ITc_maps_place_review_get_date_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_description_p", ITc_maps_place_review_get_description_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_language_p", ITc_maps_place_review_get_language_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_media_p", ITc_maps_place_review_get_media_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_rating_p", ITc_maps_place_review_get_rating_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_title_p", ITc_maps_place_review_get_title_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_user_link_p", ITc_maps_place_review_get_user_link_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_route_clone_p", ITc_maps_route_clone_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_bounding_box_p", ITc_maps_route_get_bounding_box_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_destination_p", ITc_maps_route_get_destination_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_distance_unit_p", ITc_maps_route_get_distance_unit_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_origin_p", ITc_maps_route_get_origin_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_route_id_p", ITc_maps_route_get_route_id_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_total_distance_p", ITc_maps_route_get_total_distance_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_total_duration_p", ITc_maps_route_get_total_duration_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_transport_mode_p", ITc_maps_route_get_transport_mode_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_foreach_segment_p", ITc_maps_route_foreach_segment_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_clone_destroy_p", ITc_maps_route_segment_clone_destroy_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_bounding_box_p", ITc_maps_route_segment_get_bounding_box_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_destination_p", ITc_maps_route_segment_get_destination_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_distance_p", ITc_maps_route_segment_get_distance_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_duration_p", ITc_maps_route_segment_get_duration_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_origin_p", ITc_maps_route_segment_get_origin_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_foreach_maneuver_p", ITc_maps_route_segment_foreach_maneuver_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_turn_type_p", ITc_maps_route_maneuver_get_turn_type_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_time_to_next_instruction_p", ITc_maps_route_maneuver_get_time_to_next_instruction_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_road_name_p", ITc_maps_route_maneuver_get_road_name_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_position_p", ITc_maps_route_maneuver_get_position_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_locale_p", ITc_maps_route_maneuver_get_locale_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_instruction_text_p", ITc_maps_route_maneuver_get_instruction_text_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_distance_to_next_instruction_p", ITc_maps_route_maneuver_get_distance_to_next_instruction_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_direction_id_p", ITc_maps_route_maneuver_get_direction_id_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_foreach_path_p", ITc_maps_route_foreach_path_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_foreach_property_p", ITc_maps_route_foreach_property_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_foreach_path_p", ITc_maps_route_segment_foreach_path_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_maneuver_clone_destroy_p", ITc_maps_route_maneuver_clone_destroy_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_place_get_distance_p", ITc_maps_place_get_distance_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_rating_p", ITc_maps_place_get_rating_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_get_count_p", ITc_maps_place_rating_get_count_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_get_average_p", ITc_maps_place_rating_get_average_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_clone_destroy_p", ITc_maps_place_rating_clone_destroy_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_name_p", ITc_maps_place_get_name_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_location_p", ITc_maps_place_get_location_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_id_p", ITc_maps_place_get_id_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_clone_p", ITc_maps_place_clone_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_foreach_property_p", ITc_maps_place_foreach_property_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_address_p", ITc_maps_place_get_address_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_related_link_p", ITc_maps_place_get_related_link_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_supplier_link_p", ITc_maps_place_get_supplier_link_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
        {"ITc_maps_view_object_create_marker_destroy_p", ITc_maps_view_object_create_marker_destroy_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
        {"ITc_maps_view_object_create_polyline_p", ITc_maps_view_object_create_polyline_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
        {"ITc_maps_view_object_create_polygon_p", ITc_maps_view_object_create_polygon_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
@@ -243,8 +404,8 @@ testcase tc_array[] = {
        {"ITc_maps_view_create_destroy_p", ITc_maps_view_create_destroy_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_center_p", ITc_maps_view_set_get_center_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_zoom_level_p", ITc_maps_view_set_get_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
-       {"ITc_maps_view_get_min_zoom_level_p", ITc_maps_view_get_min_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
-       {"ITc_maps_view_get_max_zoom_level_p", ITc_maps_view_get_max_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_set_get_min_zoom_level_p", ITc_maps_view_set_get_min_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_set_get_max_zoom_level_p", ITc_maps_view_set_get_max_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_orientation_p", ITc_maps_view_set_get_orientation_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_screen_to_geolocation_p", ITc_maps_view_screen_to_geolocation_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_geolocation_to_screen_p", ITc_maps_view_geolocation_to_screen_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
@@ -263,6 +424,13 @@ testcase tc_array[] = {
        {"ITc_maps_view_resize_p", ITc_maps_view_resize_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_foreach_object_p", ITc_maps_view_foreach_object_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_public_transit_enabled_p", ITc_maps_view_set_get_public_transit_enabled_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_set_unset_event_cb_p", ITc_maps_view_set_unset_event_cb_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_object_create_overlay_p", ITc_maps_view_object_create_overlay_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_get_object_p", ITc_maps_view_object_overlay_get_object_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_coordinates_p", ITc_maps_view_object_overlay_set_get_coordinates_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_min_zoom_level_p", ITc_maps_view_object_overlay_set_get_min_zoom_level_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_max_zoom_level_p", ITc_maps_view_object_overlay_set_get_max_zoom_level_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+    {"ITc_maps_service_request_user_consent_p", ITc_maps_service_request_user_consent_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
        {NULL, NULL}
 };
 
index 87974e2..511c976 100755 (executable)
@@ -23,14 +23,26 @@ extern void ITs_maps_service_address_startup(void);
 extern void ITs_maps_service_address_cleanup(void);
 extern void ITs_maps_service_area_startup(void);
 extern void ITs_maps_service_area_cleanup(void);
+extern void ITs_maps_route_maneuver_startup(void);
+extern void ITs_maps_route_maneuver_cleanup(void);
 extern void ITs_maps_service_coordinates_startup(void);
 extern void ITs_maps_service_coordinates_cleanup(void);
 extern void ITs_maps_service_item_place_filter_startup(void);
 extern void ITs_maps_service_item_place_filter_cleanup(void);
 extern void ITs_maps_service_item_preference_startup(void);
 extern void ITs_maps_service_item_preference_cleanup(void);
-extern void ITs_maps_service_maps_place_category_startup(void);
-extern void ITs_maps_service_maps_place_category_cleanup(void);
+extern void ITs_maps_place_category_startup(void);
+extern void ITs_maps_place_category_cleanup(void);
+extern void ITs_maps_place_startup(void);
+extern void ITs_maps_place_cleanup(void);
+extern void ITs_maps_place_contact_startup(void);
+extern void ITs_maps_place_contact_cleanup(void);
+extern void ITs_maps_place_image_linkobj_startup(void);
+extern void ITs_maps_place_image_linkobj_cleanup(void);
+extern void ITs_maps_place_review_startup(void);
+extern void ITs_maps_place_review_cleanup(void);
+extern void ITs_maps_route_startup(void);
+extern void ITs_maps_route_cleanup(void);
 extern void ITs_maps_service_startup(void);
 extern void ITs_maps_service_cleanup(void);
 extern void ITs_maps_view_object_startup(void);
@@ -87,9 +99,11 @@ extern int ITc_maps_preference_set_get_property_p(void);
 extern int ITc_maps_preference_foreach_property_p(void);
 extern int ITc_maps_preference_set_get_route_alternatives_enabled_p(void);
 extern int ITc_maps_place_category_create_destroy_p(void);
-extern int ITc_maps_place_category_set_id_p(void);
-extern int ITc_maps_place_category_set_name_p(void);
-extern int ITc_maps_place_category_set_url_p(void);
+extern int ITc_maps_place_category_clone_p(void);
+extern int ITc_maps_place_category_set_get_id_p(void);
+extern int ITc_maps_place_category_set_get_name_p(void);
+extern int ITc_maps_place_category_set_get_url_p(void);
+extern int ITc_maps_place_foreach_category_p(void);
 extern int ITc_maps_service_create_destroy_p(void);
 extern int ITc_maps_service_set_get_preference_p(void);
 extern int ITc_maps_service_set_get_provider_key_p(void);
@@ -108,6 +122,75 @@ extern int ITc_maps_service_search_route_waypoints_p(void);
 extern int ITc_maps_service_multi_reverse_geocode_p(void);
 extern int ITc_maps_service_search_place_list_p(void);
 extern int ITc_maps_service_get_place_details_p(void);
+extern int ITc_maps_place_list_destroy_p(void);
+extern int ITc_maps_place_foreach_contact_p(void);
+extern int ITc_maps_place_contact_clone_destroy_p(void);
+extern int ITc_maps_place_contact_get_label_p(void);
+extern int ITc_maps_place_contact_get_type_p(void);
+extern int ITc_maps_place_contact_get_value_p(void);
+extern int ITc_maps_place_foreach_review_p(void);
+extern int ITc_maps_place_review_clone_destroy_p(void);
+extern int ITc_maps_place_review_get_date_p(void);
+extern int ITc_maps_place_review_get_description_p(void);
+extern int ITc_maps_place_review_get_language_p(void);
+extern int ITc_maps_place_review_get_media_p(void);
+extern int ITc_maps_place_review_get_rating_p(void);
+extern int ITc_maps_place_review_get_title_p(void);
+extern int ITc_maps_place_review_get_user_link_p(void);
+extern int ITc_maps_route_clone_p(void);
+extern int ITc_maps_route_get_bounding_box_p(void);
+extern int ITc_maps_route_get_destination_p(void);
+extern int ITc_maps_route_get_distance_unit_p(void);
+extern int ITc_maps_route_get_origin_p(void);
+extern int ITc_maps_route_get_route_id_p(void);
+extern int ITc_maps_route_get_total_distance_p(void);
+extern int ITc_maps_route_get_total_duration_p(void);
+extern int ITc_maps_route_get_transport_mode_p(void);
+extern int ITc_maps_route_foreach_segment_p(void);
+extern int ITc_maps_route_segment_clone_destroy_p(void);
+extern int ITc_maps_route_segment_get_bounding_box_p(void);
+extern int ITc_maps_route_segment_get_destination_p(void);
+extern int ITc_maps_route_segment_get_distance_p(void);
+extern int ITc_maps_route_segment_get_duration_p(void);
+extern int ITc_maps_route_segment_get_origin_p(void);
+extern int ITc_maps_route_segment_foreach_maneuver_p(void);
+extern int ITc_maps_route_maneuver_get_turn_type_p(void);
+extern int ITc_maps_route_maneuver_get_time_to_next_instruction_p(void);
+extern int ITc_maps_route_maneuver_get_road_name_p(void);
+extern int ITc_maps_route_maneuver_get_position_p(void);
+extern int ITc_maps_route_maneuver_get_locale_p(void);
+extern int ITc_maps_route_maneuver_get_instruction_text_p(void);
+extern int ITc_maps_route_maneuver_get_distance_to_next_instruction_p(void);
+extern int ITc_maps_route_maneuver_get_direction_id_p(void);
+extern int ITc_maps_route_segment_foreach_path_p(void);
+extern int ITc_maps_route_foreach_path_p(void);
+extern int ITc_maps_route_foreach_property_p(void);
+extern int ITc_maps_route_maneuver_clone_destroy_p(void);
+extern int ITc_maps_place_foreach_image_p(void);
+extern int ITc_maps_place_image_clone_destroy_p(void);
+extern int ITc_maps_place_image_get_height_width_p(void);
+extern int ITc_maps_place_image_get_ids_p(void);
+extern int ITc_maps_place_image_get_media_p(void);
+extern int ITc_maps_place_image_get_url_p(void);
+extern int ITc_maps_place_image_get_user_link_p(void);
+extern int ITc_maps_place_link_object_clone_destroy_p(void);
+extern int ITc_maps_place_link_object_get_id_p(void);
+extern int ITc_maps_place_link_object_get_name_p(void);
+extern int ITc_maps_place_link_object_get_string_p(void);
+extern int ITc_maps_place_link_object_get_type_p(void);
+extern int ITc_maps_place_get_distance_p(void);
+extern int ITc_maps_place_get_rating_p(void);
+extern int ITc_maps_place_rating_get_count_p(void);
+extern int ITc_maps_place_rating_get_average_p(void);
+extern int ITc_maps_place_rating_clone_destroy_p(void);
+extern int ITc_maps_place_get_name_p(void);
+extern int ITc_maps_place_get_location_p(void);
+extern int ITc_maps_place_get_id_p(void);
+extern int ITc_maps_place_clone_p(void);
+extern int ITc_maps_place_foreach_property_p(void);
+extern int ITc_maps_place_get_address_p(void);
+extern int ITc_maps_place_get_related_link_p(void);
+extern int ITc_maps_place_get_supplier_link_p(void);
 extern int ITc_maps_view_object_create_marker_destroy_p(void);
 extern int ITc_maps_view_object_create_polyline_p(void);
 extern int ITc_maps_view_object_create_polygon_p(void);
@@ -129,8 +212,8 @@ extern int ITc_maps_view_object_marker_set_get_z_order_p(void);
 extern int ITc_maps_view_create_destroy_p(void);
 extern int ITc_maps_view_set_get_center_p(void);
 extern int ITc_maps_view_set_get_zoom_level_p(void);
-extern int ITc_maps_view_get_min_zoom_level_p(void);
-extern int ITc_maps_view_get_max_zoom_level_p(void);
+extern int ITc_maps_view_set_get_min_zoom_level_p(void);
+extern int ITc_maps_view_set_get_max_zoom_level_p(void);
 extern int ITc_maps_view_set_get_orientation_p(void);
 extern int ITc_maps_view_screen_to_geolocation_p(void);
 extern int ITc_maps_view_geolocation_to_screen_p(void);
@@ -149,6 +232,12 @@ extern int ITc_maps_view_move_p(void);
 extern int ITc_maps_view_resize_p(void);
 extern int ITc_maps_view_foreach_object_p(void);
 extern int ITc_maps_view_set_get_public_transit_enabled_p(void);
+extern int ITc_maps_service_request_user_consent_p(void);
+extern int ITc_maps_view_object_create_overlay_p(void);
+extern int ITc_maps_view_object_overlay_get_object_p(void);
+extern int ITc_maps_view_object_overlay_set_get_coordinates_p(void);
+extern int ITc_maps_view_object_overlay_set_get_min_zoom_level_p(void);
+extern int ITc_maps_view_object_overlay_set_get_max_zoom_level_p(void);
 
 testcase tc_array[] = {
     {"ITc_maps_address_create_destroy_p", ITc_maps_address_create_destroy_p, ITs_maps_service_address_startup, ITs_maps_service_address_cleanup},
@@ -200,10 +289,12 @@ testcase tc_array[] = {
     {"ITc_maps_preference_set_get_property_p", ITc_maps_preference_set_get_property_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
     {"ITc_maps_preference_foreach_property_p", ITc_maps_preference_foreach_property_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
     {"ITc_maps_preference_set_get_route_alternatives_enabled_p", ITc_maps_preference_set_get_route_alternatives_enabled_p, ITs_maps_service_item_preference_startup, ITs_maps_service_item_preference_cleanup},
-    {"ITc_maps_place_category_create_destroy_p", ITc_maps_place_category_create_destroy_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_id_p", ITc_maps_place_category_set_id_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_name_p", ITc_maps_place_category_set_name_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
-    {"ITc_maps_place_category_set_url_p", ITc_maps_place_category_set_url_p, ITs_maps_service_maps_place_category_startup, ITs_maps_service_maps_place_category_cleanup},
+    {"ITc_maps_place_category_create_destroy_p", ITc_maps_place_category_create_destroy_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+       {"ITc_maps_place_category_clone_p", ITc_maps_place_category_clone_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_id_p", ITc_maps_place_category_set_get_id_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_name_p", ITc_maps_place_category_set_get_name_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+    {"ITc_maps_place_category_set_get_url_p", ITc_maps_place_category_set_get_url_p, ITs_maps_place_category_startup, ITs_maps_place_category_cleanup},
+       {"ITc_maps_place_foreach_category_p", ITc_maps_place_foreach_category_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
     {"ITc_maps_service_create_destroy_p", ITc_maps_service_create_destroy_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_set_get_preference_p", ITc_maps_service_set_get_preference_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_set_get_provider_key_p", ITc_maps_service_set_get_provider_key_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
@@ -222,6 +313,75 @@ testcase tc_array[] = {
     {"ITc_maps_service_multi_reverse_geocode_p", ITc_maps_service_multi_reverse_geocode_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_search_place_list_p", ITc_maps_service_search_place_list_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
     {"ITc_maps_service_get_place_details_p", ITc_maps_service_get_place_details_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
+       {"ITc_maps_place_list_destroy_p", ITc_maps_place_list_destroy_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
+       {"ITc_maps_place_foreach_contact_p", ITc_maps_place_foreach_contact_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_clone_destroy_p", ITc_maps_place_contact_clone_destroy_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_label_p", ITc_maps_place_contact_get_label_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_type_p", ITc_maps_place_contact_get_type_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_contact_get_value_p", ITc_maps_place_contact_get_value_p, ITs_maps_place_contact_startup, ITs_maps_place_contact_cleanup},
+       {"ITc_maps_place_foreach_image_p", ITc_maps_place_foreach_image_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_clone_destroy_p", ITc_maps_place_image_clone_destroy_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_height_width_p", ITc_maps_place_image_get_height_width_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_ids_p", ITc_maps_place_image_get_ids_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_media_p", ITc_maps_place_image_get_media_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_url_p", ITc_maps_place_image_get_url_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_image_get_user_link_p", ITc_maps_place_image_get_user_link_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_clone_destroy_p", ITc_maps_place_link_object_clone_destroy_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_id_p", ITc_maps_place_link_object_get_id_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_name_p", ITc_maps_place_link_object_get_name_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_string_p", ITc_maps_place_link_object_get_string_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_link_object_get_type_p", ITc_maps_place_link_object_get_type_p, ITs_maps_place_image_linkobj_startup, ITs_maps_place_image_linkobj_cleanup},
+       {"ITc_maps_place_foreach_review_p", ITc_maps_place_foreach_review_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_clone_destroy_p", ITc_maps_place_review_clone_destroy_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_date_p", ITc_maps_place_review_get_date_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_description_p", ITc_maps_place_review_get_description_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_language_p", ITc_maps_place_review_get_language_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_media_p", ITc_maps_place_review_get_media_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_rating_p", ITc_maps_place_review_get_rating_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_title_p", ITc_maps_place_review_get_title_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_place_review_get_user_link_p", ITc_maps_place_review_get_user_link_p, ITs_maps_place_review_startup, ITs_maps_place_review_cleanup},
+       {"ITc_maps_route_clone_p", ITc_maps_route_clone_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_bounding_box_p", ITc_maps_route_get_bounding_box_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_destination_p", ITc_maps_route_get_destination_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_distance_unit_p", ITc_maps_route_get_distance_unit_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_origin_p", ITc_maps_route_get_origin_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_route_id_p", ITc_maps_route_get_route_id_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_total_distance_p", ITc_maps_route_get_total_distance_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_total_duration_p", ITc_maps_route_get_total_duration_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_get_transport_mode_p", ITc_maps_route_get_transport_mode_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_foreach_segment_p", ITc_maps_route_foreach_segment_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_clone_destroy_p", ITc_maps_route_segment_clone_destroy_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_bounding_box_p", ITc_maps_route_segment_get_bounding_box_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_destination_p", ITc_maps_route_segment_get_destination_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_distance_p", ITc_maps_route_segment_get_distance_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_duration_p", ITc_maps_route_segment_get_duration_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_get_origin_p", ITc_maps_route_segment_get_origin_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_foreach_maneuver_p", ITc_maps_route_segment_foreach_maneuver_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_turn_type_p", ITc_maps_route_maneuver_get_turn_type_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_time_to_next_instruction_p", ITc_maps_route_maneuver_get_time_to_next_instruction_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_road_name_p", ITc_maps_route_maneuver_get_road_name_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_position_p", ITc_maps_route_maneuver_get_position_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_locale_p", ITc_maps_route_maneuver_get_locale_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_instruction_text_p", ITc_maps_route_maneuver_get_instruction_text_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_distance_to_next_instruction_p", ITc_maps_route_maneuver_get_distance_to_next_instruction_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_maneuver_get_direction_id_p", ITc_maps_route_maneuver_get_direction_id_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_route_foreach_path_p", ITc_maps_route_foreach_path_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_foreach_property_p", ITc_maps_route_foreach_property_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_segment_foreach_path_p", ITc_maps_route_segment_foreach_path_p, ITs_maps_route_startup, ITs_maps_route_cleanup},
+       {"ITc_maps_route_maneuver_clone_destroy_p", ITc_maps_route_maneuver_clone_destroy_p, ITs_maps_route_maneuver_startup, ITs_maps_route_maneuver_cleanup},
+       {"ITc_maps_place_get_distance_p", ITc_maps_place_get_distance_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_rating_p", ITc_maps_place_get_rating_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_get_count_p", ITc_maps_place_rating_get_count_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_get_average_p", ITc_maps_place_rating_get_average_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_rating_clone_destroy_p", ITc_maps_place_rating_clone_destroy_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_name_p", ITc_maps_place_get_name_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_location_p", ITc_maps_place_get_location_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_id_p", ITc_maps_place_get_id_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_clone_p", ITc_maps_place_clone_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_foreach_property_p", ITc_maps_place_foreach_property_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_address_p", ITc_maps_place_get_address_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_related_link_p", ITc_maps_place_get_related_link_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
+       {"ITc_maps_place_get_supplier_link_p", ITc_maps_place_get_supplier_link_p, ITs_maps_place_startup, ITs_maps_place_cleanup},
        {"ITc_maps_view_object_create_marker_destroy_p", ITc_maps_view_object_create_marker_destroy_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
        {"ITc_maps_view_object_create_polyline_p", ITc_maps_view_object_create_polyline_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
        {"ITc_maps_view_object_create_polygon_p", ITc_maps_view_object_create_polygon_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
@@ -243,8 +403,8 @@ testcase tc_array[] = {
        {"ITc_maps_view_create_destroy_p", ITc_maps_view_create_destroy_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_center_p", ITc_maps_view_set_get_center_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_zoom_level_p", ITc_maps_view_set_get_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
-       {"ITc_maps_view_get_min_zoom_level_p", ITc_maps_view_get_min_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
-       {"ITc_maps_view_get_max_zoom_level_p", ITc_maps_view_get_max_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_set_get_min_zoom_level_p", ITc_maps_view_set_get_min_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_set_get_max_zoom_level_p", ITc_maps_view_set_get_max_zoom_level_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_orientation_p", ITc_maps_view_set_get_orientation_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_screen_to_geolocation_p", ITc_maps_view_screen_to_geolocation_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_geolocation_to_screen_p", ITc_maps_view_geolocation_to_screen_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
@@ -263,6 +423,12 @@ testcase tc_array[] = {
        {"ITc_maps_view_resize_p", ITc_maps_view_resize_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_foreach_object_p", ITc_maps_view_foreach_object_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
        {"ITc_maps_view_set_get_public_transit_enabled_p", ITc_maps_view_set_get_public_transit_enabled_p, ITs_maps_view_startup, ITs_maps_view_cleanup},
+       {"ITc_maps_view_object_create_overlay_p", ITc_maps_view_object_create_overlay_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_get_object_p", ITc_maps_view_object_overlay_get_object_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_coordinates_p", ITc_maps_view_object_overlay_set_get_coordinates_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_min_zoom_level_p", ITc_maps_view_object_overlay_set_get_min_zoom_level_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+       {"ITc_maps_view_object_overlay_set_get_max_zoom_level_p", ITc_maps_view_object_overlay_set_get_max_zoom_level_p, ITs_maps_view_object_startup, ITs_maps_view_object_cleanup},
+    {"ITc_maps_service_request_user_consent_p", ITc_maps_service_request_user_consent_p, ITs_maps_service_startup, ITs_maps_service_cleanup},
        {NULL, NULL}
 };