2 * Copyright (c) 2011-2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <location_bounds.h>
22 static GMainLoop *g_mainloop = NULL;
24 static gpointer GmainThread(gpointer data)
26 g_mainloop = g_main_loop_new (NULL, FALSE);
27 printf("\n...Entering GMain Loop to Receive Notifications....\n");
28 g_main_loop_run (g_mainloop);
29 g_main_loop_unref (g_mainloop);
34 bool _service_search_cb(poi_error_e error, int request_id , int index, int length , poi_h poi , void * user_data)
36 printf("error %d %d)-------------\n",error, index);
38 char *description=NULL;
39 poi_get_name(poi , &name);
40 int ret = poi_get_description(poi, &description);
41 printf("get description ret = %d\n", ret);
42 printf("%s / %s\n", name , description);
50 poi_service_h poi_manager ;
52 poi_preference_h pref;
53 poi_service_create(&poi_manager);
55 location_bounds_h bound;
57 location_coords_s pos = {37.336723, -121.889555};
58 location_bounds_create_circle(pos, 400, &bound);
60 char * addr = "N SAN PEDRO ST CA SANTA CLARA SAN JOSE 95110";
62 poi_filter_create(&filter);
63 //poi_filter_set(filter, "KEYWORD", "pizza");
64 poi_filter_set(filter, "CATEGORY", "restaurant");
65 poi_preference_create(&pref);
66 poi_preference_set_max_result(pref, 5);
67 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_ASC);
68 poi_service_set_preference(poi_manager, pref);
71 //printf("request search!!!\n");
72 ret = poi_service_search(poi_manager,pos , 100, filter, _service_search_cb , NULL, NULL);
73 printf("ret = category, poi_service_search : %d\n", ret);
77 poi_filter_create(&filter);
78 poi_filter_set(filter, "KEYWORD", "pizza");
79 poi_preference_create(&pref);
80 poi_preference_set_max_result(pref, 5);
81 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
82 poi_service_set_preference(poi_manager, pref);
84 ret = poi_service_search(poi_manager,pos , 100, filter, _service_search_cb , NULL, NULL);
85 printf("ret = keyword, poi_service_search : %d\n", ret);
90 poi_filter_create(&filter);
91 poi_filter_set(filter, "POIName", "pizza");
92 poi_preference_create(&pref);
93 poi_preference_set_max_result(pref, 5);
94 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
95 poi_service_set_preference(poi_manager, pref);
97 ret = poi_service_search(poi_manager,pos , 100, filter, _service_search_cb , NULL, NULL);
98 printf("ret = POIName, poi_service_search : %d\n", ret);
102 poi_filter_create(&filter);
103 poi_filter_set(filter, "CATEGORY", "restaurant");
104 poi_preference_create(&pref);
105 poi_preference_set_max_result(pref, 5);
106 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
107 poi_service_set_preference(poi_manager, pref);
109 ret = poi_service_search_by_area(poi_manager, bound, filter, _service_search_cb , NULL, NULL);
110 printf("ret = category, poi_service_search_by_area : %d\n", ret);
115 poi_filter_create(&filter);
116 poi_filter_set(filter, "KEYWORD", "pizza");
117 poi_preference_create(&pref);
118 poi_preference_set_max_result(pref, 5);
119 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
120 poi_service_set_preference(poi_manager, pref);
122 ret = poi_service_search_by_area(poi_manager, bound, filter, _service_search_cb , NULL, NULL);
123 printf("ret = keyword, poi_service_search_by_area : %d\n", ret);
127 poi_filter_create(&filter);
128 poi_preference_create(&pref);
129 poi_filter_set(filter, "POIName", "pizza");
130 poi_preference_set_max_result(pref, 5);
131 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
132 poi_service_set_preference(poi_manager, pref);
134 ret = poi_service_search_by_area(poi_manager, bound, filter, _service_search_cb , NULL, NULL);
135 printf("ret = poi name, poi_service_search_by_area : %d\n", ret);
139 poi_filter_create(&filter);
140 poi_filter_set(filter, "CATEGORY", "restaurant");
141 poi_preference_create(&pref);
142 poi_preference_set_max_result(pref, 5);
143 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
144 poi_service_set_preference(poi_manager, pref);
146 ret = poi_service_search_by_address(poi_manager, addr, 100, filter, _service_search_cb , NULL, NULL);
147 printf("ret = category, poi_service_search_by_address : %d\n", ret);
152 poi_filter_create(&filter);
153 poi_filter_set(filter, "KEYWORD", "cafe");
154 poi_preference_create(&pref);
155 poi_preference_set_max_result(pref, 5);
156 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
157 poi_service_set_preference(poi_manager, pref);
159 ret = poi_service_search_by_address(poi_manager, addr, 400, filter, _service_search_cb , NULL, NULL);
160 printf("ret = keyword, poi_service_search_by_address : %d\n", ret);
164 poi_filter_create(&filter);
165 poi_filter_set(filter, "POIName", "cafe");
166 poi_preference_create(&pref);
167 poi_preference_set_max_result(pref, 5);
168 poi_preference_set_sort(pref, "Distance", POI_SORTORDER_DESC);
169 poi_service_set_preference(poi_manager, pref);
171 ret = poi_service_search_by_address(poi_manager, addr, 400, filter, _service_search_cb , NULL, NULL);
172 printf("ret = POIName, poi_service_search_by_address : %d\n", ret);
174 poi_service_destroy(poi_manager);
183 // If application is executed by AUL, this is not needed.
184 g_setenv("PKG_NAME", "com.samsung.location-api-test", 1);
186 #if !GLIB_CHECK_VERSION (2, 31, 0)
187 if( !g_thread_supported() )
194 g_main = g_thread_create(GmainThread, NULL, TRUE, &gerr);
196 g_debug("Error create gmain thread: Err domain[%d] Err code[%d] Err msg[%s]",
197 gerr->domain, gerr->code, gerr->message);
203 if ((c = getchar()) == EOF) {
204 printf("getchar return EOF \n");