- select_menu();
-
- if (strcmp(menu, "1") == 0) {
- ret = location_manager_create(LOCATIONS_METHOD_HYBRID, &manager);
- printf("LOCATIONS_METHOD_HYBRID create: %d\n", ret);
- ret = location_manager_start(manager);
- printf("start: %d\n", ret);
- } else if (strcmp(menu, "2") == 0) {
- ret = location_manager_create(LOCATIONS_METHOD_GPS, &manager);
- printf("LOCATIONS_METHOD_GPS create: %d\n", ret);
- ret = location_manager_start(manager);
- printf("start: %d\n", ret);
- } else if (strcmp(menu, "3") == 0) {
- ret = location_manager_create(LOCATIONS_METHOD_WPS, &manager);
- printf("LOCATIONS_METHOD_WPS create: %d\n", ret);
- } else if (strcmp(menu, "4") == 0) {
- ret = location_manager_create(LOCATIONS_METHOD_HYBRID, &manager);
- printf("LOCATIONS_METHOD_HYBRID create: %d\n", ret);
- ret = location_manager_request_single_location(manager, 60, location_cb, manager);
- printf("single_location create: %d\n", ret);
- } else if (strcmp(menu, "5") == 0) {
- ret = location_manager_create(LOCATIONS_METHOD_GPS, &manager);
- printf("LOCATIONS_METHOD_HYBRID create: %d\n", ret);
- ret = location_manager_request_single_location(manager, 60, location_cb, manager);
- printf("single_location create: %d\n", ret);
- } else if (strcmp(menu, "x") == 0) {
- g_timeout_add_seconds(0.1, exit_program, NULL);
- return 0;
- } else {
- printf("Exit!!! Input: %s\n", menu);
- g_timeout_add_seconds(0.1, exit_program, NULL);
- return 0;
+
+ switch (menu) {
+ case 1:
+ basic = 1;
+ ret = location_manager_create(LOCATIONS_METHOD_HYBRID, &manager);
+ printf("LOCATIONS_METHOD_HYBRID create: %d\n", ret);
+ ret = location_manager_start(manager);
+ printf("start: %d\n", ret);
+ break;
+ case 2:
+ basic = 1;
+ ret = location_manager_create(LOCATIONS_METHOD_GPS, &manager);
+ printf("LOCATIONS_METHOD_GPS create: %d\n", ret);
+ ret = location_manager_start(manager);
+ printf("start: %d\n", ret);
+ break;
+ case 3:
+ basic = 1;
+ ret = location_manager_create(LOCATIONS_METHOD_WPS, &manager);
+ ret = location_manager_start(manager);
+ printf("start: %d\n", ret);
+ break;
+ case 4:
+ case 5:
+ case 6: {
+ int timeout = 30;
+
+ printf("\n Input timeout ==> ");
+ ret = scanf("%d", &timeout);
+
+ int method = menu - 4;
+ ret = location_manager_create(method, &manager);
+ ret = location_manager_request_single_location(manager, timeout, _location_cb, manager);
+ printf("request single_location (method: %d): %d\n", method, ret);
+ break;
+ }
+ case 11:
+ case 12:
+ case 13: {
+ repeat_count = 0;
+ int interval = 1;
+
+ printf("\n Input position interval ==> ");
+ ret = scanf("%d", &interval);
+
+ int method = menu - 4;
+ ret = location_manager_create(method, &manager);
+ printf("location_manager_create (method: %d): %d\n", method, ret);
+
+ ret = location_manager_set_position_updated_cb(manager, _position_updated_cb, interval, (void *)manager);
+ printf("set position changed callback: %d\n", ret);
+
+ /*
+ ret = location_manager_set_velocity_updated_cb(manager, _velocity_updated_cb, interval*2, (void *)manager);
+ printf("set velocity changed callback: %d\n", ret);
+ */
+
+ ret = location_manager_set_location_changed_cb(manager, _location_changed_cb, interval * 2, (void *)manager);
+ printf("set location changed callback: %d\n", ret);
+
+ ret = location_manager_start(manager);
+ repeat_count = 0;
+ break;
+ }
+ case 21:
+ case 22:
+ case 23: {
+ repeat_count = 0;
+ int interval = 1;
+ int method = menu - 21;
+
+ printf("\n Input position interval ==> ");
+ ret = scanf("%d", &interval);
+
+ ret = location_manager_create(method, &manager);
+ printf("location_manager_create (method : %d)", method);
+
+ /*ret = location_manager_set_position_updated_cb(manager, _position_updated_cb, interval, (void *)manager); */
+ /*printf("set position changed callback: %d\n", ret); */
+
+ ret = location_manager_set_distance_based_location_changed_cb(manager, _location_changed_cb, interval, 30, (void *)manager);
+ printf("set location changed callback: %d\n", ret);
+
+ ret = location_manager_start(manager);
+ break;
+ }
+ case 31: {
+ repeat_count = 0;
+ int interval = 1;
+ printf("\n Input batch interval ==> ");
+ ret = scanf("%d", &interval);
+
+ int period = 60;
+ printf(" Input batch period ==> ");
+ ret = scanf("%d", &period);
+
+
+ ret = location_manager_create(LOCATIONS_METHOD_GPS, &manager);
+ printf("location_manager_create (method : %d)\n", LOCATIONS_METHOD_GPS);
+
+ ret = location_manager_set_location_batch_cb(manager, _location_batch_cb, interval, period, (void *)manager);
+ printf("set location batch callback: %d\n", ret);
+
+ ret = location_manager_start_batch(manager);
+ break;
+ }
+ case 41:
+ case 42:
+ case 43: {
+ int method = menu - 41;
+ int onoff = 1;
+
+ printf("\n Input ON: 1 or OFF: 0 ==> ");
+ ret = scanf("%d", &onoff);
+
+ ret = enable_method(method, onoff);
+ printf("Enabling method[%d]: %d\n", method, ret);
+ break;
+ }
+
+ case 51: {
+ location_bounds_h hPolyLocationBound = NULL;
+ bool bIsContained = false;
+ int nPolySize = 3;
+ location_coords_s location_coord_list[nPolySize];
+ location_coord_list[0].latitude = 10;
+ location_coord_list[0].longitude = 10;
+ location_coord_list[1].latitude = 20;
+ location_coord_list[1].longitude = 20;
+ location_coord_list[2].latitude = 30;
+ location_coord_list[2].longitude = 10;
+
+ //Checking coordinates in location boundary
+ location_coords_s testLocationCoordinates;
+ testLocationCoordinates.latitude = 20;
+ testLocationCoordinates.longitude = 12;
+ location_bound_error_e nRet = location_bounds_create_polygon(location_coord_list, nPolySize, &hPolyLocationBound);
+
+ printf("location_bounds_create_polygon= %d\n", nRet);
+
+ bIsContained = location_bounds_contains_coordinates(hPolyLocationBound, testLocationCoordinates);// Target API
+ printf("bIsContained : %d\n", bIsContained);
+
+ location_bounds_destroy(hPolyLocationBound);
+ break;
+ }
+ case 0:
+ g_timeout_add_seconds(0.1, exit_program, NULL);
+ return 0;
+ default:
+ printf("Exit!!! Input: %d\n", menu);
+ g_timeout_add_seconds(0.1, exit_program, NULL);
+ return 0;