Tizen Native API
5.5
|
The Location Bounds APIs provides functions related to geographic bounds information.
#include <locations.h>
Boundary defines geographical boundary. It is same as geo-fence which is a virtual perimeter for a real-world geographic area. If you create a boundary, you can trigger some activities when a device enters(or exits) the boundaries defined by you.
This API is related with the following features:
Functions | |
int | location_bounds_create_rect (location_coords_s top_left, location_coords_s bottom_right, location_bounds_h *bounds) |
Creates a rect type of new location bounds. | |
int | location_bounds_create_circle (location_coords_s center, double radius, location_bounds_h *bounds) |
Creates a circle type of new location bounds. | |
int | location_bounds_create_polygon (location_coords_s *coords_list, int length, location_bounds_h *bounds) |
Creates a polygon type of new location bounds. | |
bool | location_bounds_contains_coordinates (location_bounds_h bounds, location_coords_s coords) |
Checks whether the bounds contains the specified coordinates. | |
int | location_bounds_get_type (location_bounds_h bounds, location_bounds_type_e *type) |
Gets the type of location bounds. | |
int | location_bounds_get_rect_coords (location_bounds_h bounds, location_coords_s *top_left, location_coords_s *bottom_right) |
Gets the center position and radius of circle bounds. | |
int | location_bounds_get_circle_coords (location_bounds_h bounds, location_coords_s *center, double *radius) |
Gets the center position and radius of circle bounds. | |
int | location_bounds_foreach_polygon_coords (location_bounds_h bounds, polygon_coords_cb callback, void *user_data) |
Get the coordinates of a polygon. | |
int | location_bounds_destroy (location_bounds_h bounds) |
Releases the location bounds. | |
int | location_bounds_set_state_changed_cb (location_bounds_h bounds, location_bounds_state_changed_cb callback, void *user_data) |
Registers a callback function to be invoked when the boundary area is entered or exited. | |
int | location_bounds_unset_state_changed_cb (location_bounds_h bounds) |
Unregisters the callback function. | |
Typedefs | |
typedef struct location_bounds_s * | location_bounds_h |
The location boundary handle. | |
typedef bool(* | polygon_coords_cb )(location_coords_s coords, void *user_data) |
Gets called iteratively to notify you of coordinates of a polygon. | |
typedef void(* | location_bounds_state_changed_cb )(location_boundary_state_e state, void *user_data) |
Called when the given boundary is entered or exited. |
typedef struct location_bounds_s* location_bounds_h |
The location boundary handle.
typedef void(* location_bounds_state_changed_cb)(location_boundary_state_e state, void *user_data) |
Called when the given boundary is entered or exited.
[in] | state | The boundary state |
[in] | user_data | The user data passed from the start function |
typedef bool(* polygon_coords_cb)(location_coords_s coords, void *user_data) |
Gets called iteratively to notify you of coordinates of a polygon.
[in] | coords | The coordinates |
[in] | user_data | The user data passed from the foreach function |
true
to continue with the next iteration of the loop, false
to break out of the loop Enumeration for error code for Location manager.
bool location_bounds_contains_coordinates | ( | location_bounds_h | bounds, |
location_coords_s | coords | ||
) |
Checks whether the bounds contains the specified coordinates.
[in] | bounds | The location bounds handle |
[in] | coords | The coordinates |
true
if the bounds contains the specified coordinates, otherwise else false
LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_OUT_OF_MEMORY | Out of memory |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_create_circle | ( | location_coords_s | center, |
double | radius, | ||
location_bounds_h * | bounds | ||
) |
Creates a circle type of new location bounds.
[in] | center | The center position |
[in] | radius | The radius of a circle (meters) |
[out] | bounds | The location bounds handle that is newly created |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_OUT_OF_MEMORY | Out of memory |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_create_polygon | ( | location_coords_s * | coords_list, |
int | length, | ||
location_bounds_h * | bounds | ||
) |
Creates a polygon type of new location bounds.
3
to represent polygon. [in] | coords_list | The list of coordinates |
[in] | length | The length of the coordinates list |
[out] | bounds | The location bounds handle that is newly created on success |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_OUT_OF_MEMORY | Out of memory |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_create_rect | ( | location_coords_s | top_left, |
location_coords_s | bottom_right, | ||
location_bounds_h * | bounds | ||
) |
Creates a rect type of new location bounds.
[in] | top_left | The top left position |
[in] | bottom_right | The bottom right position |
[out] | bounds | The location bounds handle that is newly created |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_OUT_OF_MEMORY | Out of memory |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_destroy | ( | location_bounds_h | bounds | ) |
Releases the location bounds.
[in] | bounds | The location bounds handle |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_foreach_polygon_coords | ( | location_bounds_h | bounds, |
polygon_coords_cb | callback, | ||
void * | user_data | ||
) |
Get the coordinates of a polygon.
[in] | bounds | The location bounds handle |
[in] | callback | The iteration callback |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
LOCATION_BOUNDS_ERROR_INCORRECT_TYPE | Incorrect bounds type |
int location_bounds_get_circle_coords | ( | location_bounds_h | bounds, |
location_coords_s * | center, | ||
double * | radius | ||
) |
Gets the center position and radius of circle bounds.
[in] | bounds | The location bounds handle |
[out] | center | The center position of the circle |
[out] | radius | The radius of the circle |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
LOCATION_BOUNDS_ERROR_INCORRECT_TYPE | Incorrect bounds type |
int location_bounds_get_rect_coords | ( | location_bounds_h | bounds, |
location_coords_s * | top_left, | ||
location_coords_s * | bottom_right | ||
) |
Gets the center position and radius of circle bounds.
[in] | bounds | The location bounds handle |
[out] | top_left | The top left position |
[out] | bottom_right | The bottom right position |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
LOCATION_BOUNDS_ERROR_INCORRECT_TYPE | Incorrect bounds type |
int location_bounds_get_type | ( | location_bounds_h | bounds, |
location_bounds_type_e * | type | ||
) |
Gets the type of location bounds.
[in] | bounds | The location bounds handle |
[out] | type | The type of location bounds |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_set_state_changed_cb | ( | location_bounds_h | bounds, |
location_bounds_state_changed_cb | callback, | ||
void * | user_data | ||
) |
Registers a callback function to be invoked when the boundary area is entered or exited.
[in] | bounds | The location bounds handle |
[in] | callback | The callback function to register |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |
int location_bounds_unset_state_changed_cb | ( | location_bounds_h | bounds | ) |
Unregisters the callback function.
[in] | bounds | The location bounds handle |
0
on success, otherwise a negative error value LOCATION_BOUNDS_ERROR_NONE | Successful |
LOCATION_BOUNDS_ERROR_INVALID_PARAMETER | Invalid parameter |
LOCATION_BOUNDS_ERROR_NOT_SUPPORTED | Not supported |