--- /dev/null
+/*
+* Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+#include <tet_api.h>
+#include <location/geocoder.h>
+#include <glib.h>
+
+
+enum {
+ POSITIVE_TC_IDX = 0x01,
+ NEGATIVE_TC_IDX,
+};
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_location_geocoder_create_p(void);
+static void utc_location_geocoder_create_n(void);
+static void utc_location_geocoder_destroy_p(void);
+static void utc_location_geocoder_destroy_n(void);
+static void utc_location_geocoder_destroy_n_02(void);
+static void utc_location_geocoder_get_address_from_position_p(void);
+static void utc_location_geocoder_get_address_from_position_n(void);
+static void utc_location_geocoder_get_address_from_position_n_02(void);
+static void utc_location_geocoder_get_address_from_position_n_03(void);
+static void utc_location_geocoder_get_address_from_position_n_04(void);
+static void utc_location_geocoder_get_address_from_position_n_05(void);
+static void utc_location_geocoder_get_address_from_position_n_06(void);
+static void utc_location_geocoder_foreach_positions_from_address_p(void);
+static void utc_location_geocoder_foreach_positions_from_address_n(void);
+static void utc_location_geocoder_foreach_positions_from_address_n_02(void);
+static void utc_location_geocoder_foreach_positions_from_address_n_03(void);
+static void utc_location_geocoder_foreach_positions_from_address_n_04(void);
+
+
+
+struct tet_testlist tet_testlist[] = {
+ { utc_location_geocoder_create_p, POSITIVE_TC_IDX },
+ { utc_location_geocoder_create_n, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_destroy_p, POSITIVE_TC_IDX },
+ { utc_location_geocoder_destroy_n, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_destroy_n_02, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_p, POSITIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n_02, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n_03, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n_04, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n_05, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_get_address_from_position_n_06, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_foreach_positions_from_address_p, POSITIVE_TC_IDX },
+ { utc_location_geocoder_foreach_positions_from_address_n, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_foreach_positions_from_address_n_02, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_foreach_positions_from_address_n_03, NEGATIVE_TC_IDX },
+ { utc_location_geocoder_foreach_positions_from_address_n_04, NEGATIVE_TC_IDX },
+ { NULL, 0 },
+};
+
+static GMainLoop *g_mainloop = NULL;
+static GThread *event_thread;
+
+gpointer GmainThread(gpointer data){
+ g_mainloop = g_main_loop_new (NULL, 0);
+ g_main_loop_run (g_mainloop);
+
+ return NULL;
+}
+
+static void startup(void)
+{
+ g_setenv("PKG_NAME", "org.tizen.capi-location-geocoder-test", 1);
+ g_setenv("LOCATION_TEST_ENABLE", "1", 1);
+
+#if !GLIB_CHECK_VERSION (2, 31, 0)
+ if( !g_thread_supported() )
+ {
+ g_thread_init(NULL);
+ }
+#endif
+
+ GError *gerr = NULL;
+ event_thread = g_thread_create(GmainThread, NULL, 1, &gerr);
+}
+
+static void cleanup(void)
+{
+ g_main_loop_quit (g_mainloop);
+ g_thread_join(event_thread);
+}
+
+/**
+ * @brief Positive test case of player_create()
+ */
+static void utc_location_geocoder_create_p(void)
+{
+ char* api_name = "geocoder_create";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_create_n(void)
+{
+ char* api_name = "geocoder_create";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(NULL)) != GEOCODER_ERROR_NONE)
+ {
+ dts_pass(api_name);
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_destroy_p(void)
+{
+ char* api_name = "geocoder_destroy";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ if ((ret =geocoder_destroy(geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_destroy_n(void)
+{
+ char* api_name = "geocoder_destroy";
+ int ret;
+ if ((ret = geocoder_destroy(NULL)) != GEOCODER_ERROR_NONE)
+ {
+ dts_pass(api_name);
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_destroy_n_02(void)
+{
+ char* api_name = "geocoder_destroy";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret = geocoder_destroy(geocoder)) != GEOCODER_ERROR_NONE)
+ {
+ dts_pass(api_name);
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ dts_fail(api_name);
+}
+
+static void get_address_cb(geocoder_error_e result, const char *building_number, const char *postal_code, const char *street, const char *city, const char *district, const char *state, const char *country_code, void *user_data)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ dts_message(api_name,"building number: %s, postal code: %s, street: %s, city: %s, district: %s, state: %s, country code: %s\n", building_number,postal_code,street,city,district,state,country_code);
+}
+
+static void utc_location_geocoder_get_address_from_position_p(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder,37.258,127.056,get_address_cb,(void*)geocoder);
+ if(ret == GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ dts_message(api_name, "Ret : %d", ret);
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(NULL,37.258,127.056,get_address_cb,(void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n_02(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ geocoder_h geocoder_02 = NULL;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder_02, 37.258, 127.056, get_address_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n_03(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder, -91, -181, get_address_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n_04(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder, 37.258, 127.056, NULL,(void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n_05(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder, -91, 127.056, get_address_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_get_address_from_position_n_06(void)
+{
+ char* api_name = "geocoder_get_address_from_position";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_get_address_from_position(geocoder, 37.258, -181, get_address_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+
+static bool get_position_cb(geocoder_error_e result, double latitude, double longitude, void *user_data)
+{
+ geocoder_h geocoder = (geocoder_h) user_data;
+
+ char* api_name = "geocoder_foreach_positions_from_address";
+ dts_message(api_name,"latitude:%ld, state:%s, longitude:%ld\n",latitude, longitude);
+ geocoder_destroy(geocoder);
+// dts_pass(api_name);
+ return FALSE;
+}
+
+static gboolean _destroy_if_timeout (gpointer user_data)
+{
+ char* api_name = "_destroy_if_timeout";
+ geocoder_h _geocoder = (geocoder_h) user_data;
+
+ dts_message(api_name, "Timeout");
+ geocoder_destroy(_geocoder);
+
+ return FALSE;
+}
+
+// TODO : Fail
+static void utc_location_geocoder_foreach_positions_from_address_p(void)
+{
+ char* api_name = "geocoder_foreach_positions_from_address";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret = geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ char *address="suwon";
+ ret = geocoder_foreach_positions_from_address(geocoder,address, get_position_cb,(void*)geocoder);
+ if(ret == GEOCODER_ERROR_NONE)
+ {
+ g_timeout_add_seconds(60, _destroy_if_timeout, geocoder);
+ dts_pass(api_name);
+
+ }
+ }
+
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_foreach_positions_from_address_n(void)
+{
+ char* api_name = "geocoder_foreach_positions_from_address";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ char *address="suwon";
+ ret = geocoder_foreach_positions_from_address(NULL, address, get_position_cb,(void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_foreach_positions_from_address_n_02(void)
+{
+ char* api_name = "geocoder_foreach_positions_from_address";
+ int ret;
+ geocoder_h geocoder;
+ geocoder_h geocoder_02 = NULL;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ char *address="suwon";
+ ret = geocoder_foreach_positions_from_address(geocoder_02, address, get_position_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_foreach_positions_from_address_n_03(void)
+{
+ char* api_name = "geocoder_foreach_positions_from_address";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ ret = geocoder_foreach_positions_from_address(geocoder, NULL, get_position_cb, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+static void utc_location_geocoder_foreach_positions_from_address_n_04(void)
+{
+ char* api_name = "geocoder_foreach_positions_from_address";
+ int ret;
+ geocoder_h geocoder;
+ if ((ret =geocoder_create(&geocoder)) == GEOCODER_ERROR_NONE)
+ {
+ char *address="suwon";
+ ret = geocoder_foreach_positions_from_address(geocoder, address, NULL, (void*)geocoder);
+ if(ret != GEOCODER_ERROR_NONE)
+ {
+ geocoder_destroy(geocoder);
+ dts_pass(api_name);
+ }
+ }
+ dts_message(api_name, "Call log: %d", ret);
+ geocoder_destroy(geocoder);
+ dts_fail(api_name);
+}
+
+
+
+
+
+capi-location-geocoder (0.1.0-16) unstable; urgency=low
+
+ * Seperate map service from location service
+ * Tag: capi-location-geocoder_0.1.0-16
+
+ -- Minjune Kim <sena06.kim@samsung.com> Fri, 27 Jul 2012 20:10:01 +0900
+
+capi-location-geocoder (0.1.0-15) unstable; urgency=low
+
+ * Fix the missing statement(break)
+ * Tag: capi-location-geocoder_0.1.0-15
+
+ -- Minjune Kim <sena06.kim@samsung.com> Thu, 19 Jul 2012 19:45:11 +0900
+
capi-location-geocoder (0.1.0-14) unstable; urgency=low
+ * Fix the missing statement(break)
+ * Tag: capi-location-geocoder_0.1.0-14
+
+ -- Kangho Hur <kangho.hur@samsung.com> Wed, 04 Apr 2012 14:35:13 +0900
+
+capi-location-geocoder (0.1.0-13) unstable; urgency=low
+
* Add the not found error code
+ * Tag: capi-location-geocoder_0.1.0-13
- -- Kangho Hur <kangho.hur@samsung.com> Wed, 04 Apr 2012 13:26:23 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Wed, 04 Apr 2012 13:06:40 +0900
capi-location-geocoder (0.1.0-12) unstable; urgency=low
- * Fix the callback issue
+ * Fix callback issue
+ * Tag: capi-location-geocoder_0.1.0-12
- -- Kangho Hur <kangho.hur@samsung.com> Wed, 28 Mar 2012 18:39:58 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Wed, 28 Mar 2012 18:11:01 +0900
capi-location-geocoder (0.1.0-11) unstable; urgency=low
* Add the result code for request(geocode/reverse geocode). Remove the sync function.
+ * Tag: capi-location-geocoder_0.1.0-11
- -- Kangho Hur <kangho.hur@samsung.com> Mon, 26 Mar 2012 21:45:09 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Mon, 26 Mar 2012 21:13:22 +0900
+
+capi-location-geocoder (0.1.0-10) unstable; urgency=low
+
+ * Fix the failed cases on TC
+ * Tag: capi-location-geocoder_0.1.0-10
+
+ -- Minjune Kim <sena06.kim@samsung.com> Tue, 20 Mar 2012 21:31:38 +0900
capi-location-geocoder (0.1.0-9) unstable; urgency=low
- * Use 'static' to local function which is limited to the current source file.
+ * Use 'static' to local function which is limited to the current source file.
+ * Tag: capi-location-geocoder_0.1.0-9
- -- Kangho Hur <kangho.hur@samsung.com> Tue, 21 Feb 2012 10:21:01 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Tue, 21 Feb 2012 10:12:33 +0900
capi-location-geocoder (0.1.0-8) unstable; urgency=low
- * Apply the SOVERSION
+ * Apply the SOVERSION
+ * Tag: capi-location-geocoder_0.1.0-8
- -- Kangho Hur <kangho.hur@samsung.com> Tue, 14 Feb 2012 18:22:56 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Tue, 14 Feb 2012 17:55:34 +0900
capi-location-geocoder (0.1.0-7) unstable; urgency=low
* Support to multiple geocoding result
+ * Tag: capi-location-geocoder_0.1.0-7
+
+ -- Kangho Hur <kangho.hur@samsung.com> Thu, 09 Feb 2012 21:16:23 +0900
+
+capi-location-geocoder (0.1.0-6) unstable; urgency=low
- -- Kangho Hur <kangho.hur@samsung.com> Fri, 10 Feb 2012 15:36:17 +0900
+ * support to the LOCATION_ERROR_NETWORK_NOT_CONNECTED
+ * Tag: capi-location-geocoder_0.1.0-6
+
+ -- Kangho Hur <kangho.hur@samsung.com> Thu, 26 Jan 2012 20:21:43 +0900
capi-location-geocoder (0.1.0-5) unstable; urgency=low
- * Initial release.
+ * Changes the value of ERROR_NONE
+ * Tag: capi-location-geocoder_0.1.0-5
+
+ -- Kangho Hur <kangho.hur@samsung.com> Mon, 05 Dec 2011 11:20:49 +0900
+
+capi-location-geocoder (0.1.0-4) unstable; urgency=low
+
+ * Apply the Tizen
+ * Tag: capi-location-geocoder_0.1.0-4
+
+ -- Kangho Hur <kangho.hur@samsung.com> Wed, 23 Nov 2011 15:22:07 +0900
+
+capi-location-geocoder (0.1.0-3) unstable; urgency=low
+
+ * Repackage for SDK
+ * Tag: capi-location-geocoder_0.1.0-3
+
+ -- Kangho Hur <kangho.hur@samsung.com> Mon, 07 Nov 2011 21:47:01 +0900
+
+capi-location-geocoder (0.1.0-2) unstable; urgency=low
+
+ * Apply the error messages
+ * Tag: capi-location-geocoder_0.1.0-2
+
+ -- Kangho Hur <kangho.hur@samsung.com> Fri, 07 Oct 2011 16:48:32 +0900
+
+capi-location-geocoder (0.1.0-1) unstable; urgency=low
+
+ * Alpha Release
+ * Tag: capi-location-geocoder_0.1.0-1
+
+ -- Kangho Hur <kangho.hur@samsung.com> Tue, 27 Sep 2011 20:05:15 +0900
+
+capi-location-geocoder (0.0.1-3) unstable; urgency=low
+
+ * Change address parameter order
+ * Tag: capi-location-geocoder_0.0.1-3
+
+ -- Kangho Hur <kangho.hur@samsung.com> Tue, 20 Sep 2011 14:51:08 +0900
+
+capi-location-geocoder (0.0.1-2) unstable; urgency=low
+
+ * Update API Description
+ * Tag: capi-location-geocoder_0.0.1-2
+
+ -- Kangho Hur <kangho.hur@samsung.com> Mon, 19 Sep 2011 17:26:44 +0900
+
+capi-location-geocoder (0.0.1-1) unstable; urgency=low
+
+ * Initial Upload
+ * Tag: capi-location-geocoder_0.0.1-1
- -- Kangho Hur <kangho.hur@samsung.com> Wed, 07 Dec 2011 12:48:38 +0900
+ -- Kangho Hur <kangho.hur@samsung.com> Thu, 04 Aug 2011 17:06:44 +0900