extern "C" {
#endif
+
/**
* @addtogroup CAPI_LOCATION_MANAGER_MODULE
* @{
/**
* @brief Enumeration for error code for Location manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef enum {
LOCATIONS_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
/**
* @brief Enumeration for Location method type.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef enum {
LOCATIONS_METHOD_NONE = -1, /**< Undefined method */
LOCATIONS_METHOD_GPS, /**< This method uses Global Positioning System */
LOCATIONS_METHOD_WPS, /**< This method uses WiFi Positioning System */
LOCATIONS_METHOD_PASSIVE, /**< This method can be used to passively receive location updates without power consumption (Since 3.0)*/
+ LOCATIONS_METHOD_FUSED, /**< This method uses Fused location (Since 4.0) */
} location_method_e;
/**
* @brief Enumeration for Approximate accuracy level of given information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef enum {
LOCATIONS_ACCURACY_NONE = 0, /**< Invalid data */
/**
* @brief Enumeration for the state of the location service.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef enum {
LOCATIONS_SERVICE_DISABLED, /**< Service is disabled */
/**
* @deprecated Deprecated since 3.0
* @brief Enumeration for the location service accessibility state.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef enum {
LOCATIONS_ACCESS_STATE_NONE, /**< Access state is not determined */
LOCATIONS_ACCESS_STATE_ALLOWED, /**< Access authorized */
} location_accessibility_state_e;
+/**
+ * @brief Enumeration for the fused location service.
+ * @since_tizen 4.0
+ */
+typedef enum {
+ LOCATIONS_FUSED_HIGH_ACCURACY = 0, /**< High accuracy */
+ LOCATIONS_FUSED_BALANCED_POWER, /**< Balanced power */
+} location_fused_mode_e;
/**
* @brief The location manager handle.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
*/
typedef struct location_manager_s *location_manager_h;
/*
* Location Manager
*/
+
+
/**
* @addtogroup CAPI_LOCATION_MANAGER_MODULE
* @{
/**
* @brief Called at defined interval with updated position information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] latitude The updated latitude [-90.0 ~ 90.0] (degrees)
* @param[in] longitude The updated longitude [-180.0 ~ 180.0] (degrees)
* @param[in] altitude The updated altitude (meters)
/**
* @brief Called at defined interval with updated velocity information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] speed The updated speed (km/h)
* @param[in] direction The updated direction (in degrees from the north)
* @param[in] climb The updated climb (km/h)
/**
* @brief Called at defined interval with updated location information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] error #LOCATIONS_ERROR_NONE Successful
* @param[in] latitude The updated latitude [-90.0 ~ 90.0] (degrees)
* @param[in] longitude The updated longitude [-180.0 ~ 180.0] (degrees)
/**
* @brief Called when the state of location service is changed from enabled to disabled or vice versa.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] state The service state
* @param[in] user_data The user data passed from the callback registration function
* @pre Either location_manager_start() or location_manager_stop() will invoke this callback if you register this callback using location_manager_set_service_state_changed_cb().
/**
* @brief Called when the user-defined zones are entered or exited.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] state The boundary state
* @param[in] latitude The updated latitude [-90.0 ~ 90.0] (degrees)
* @param[in] longitude The updated longitude [-180.0 ~ 180.0] (degrees)
/**
* @brief Called when the state of location method is changed.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] method The method changed on setting
* @param[in] enable The setting value changed
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called once for each location bound.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] bounds The location bounds handle
* @param[in] user_data The user data passed from the callback registration function
* @return @c true to continue with the next iteration of the loop,
/**
* @brief Called at defined interval with updated location information.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen 2.4
* @param[in] latitude The updated latitude [-90.0 ~ 90.0] (degrees)
* @param[in] longitude The updated longitude [-180.0 ~ 180.0] (degrees)
* @param[in] altitude The updated altitude (meters)
/**
* @brief Called when the batch interval is expired.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @param[in] num_of_location The number of location batch data
* @param[in] user_data The user data passed from the callback registration function
* @pre location_manager_start_batch() will invoke this callback if you register this callback using location_manager_set_location_batch_cb().
/**
* @brief Gets iteratively to receive location batch data.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @param[in] latitude The updated latitude [-90.0 ~ 90.0] (degrees)
* @param[in] longitude The updated longitude [-180.0 ~ 180.0] (degrees)
* @param[in] altitude The updated altitude (meters)
* @param[in] user_data The user data passed from the callback registration function
* @return @c true to continue with the next iteration of the loop,
* otherwise @c false to break out of the loop
- * @pre location_manager_foreach_location_batch() will invoke this callback
+ * @pre location_manager_foreach_location_batch() will invoke this callback.
* @see location_manager_foreach_location_batch()
*/
typedef bool(*location_batch_get_location_cb)(double latitude, double longitude, double altitude, double speed, double direction, double horizontal, double vertical, time_t timestamp, void *user_data);
/**
* @brief Checks whether the given location method is available.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @remark The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
* @param[in] method The location method to be checked
* @return @c true if the specified location method is supported,
/**
* @brief Checks whether the given location method is enabled or not on setting.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] method The location method to be checked
* @param[out] enable The result value of checking the given location method
* @return @c 0 on success,
/**
* @brief Creates a new location manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @remarks You must release @a manager using location_manager_destroy().
* @param[in] method The location method
* @param[out] manager The location manager handle that is newly created
/**
* @brief Releases the location manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Requests to update current location once.
- * @remarks Do not request to start the location service using the same manager handler
- * Calling this function invokes a location service event.
- * When the location service is updated, location_updated_cb
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
+ * @remarks Do not request to start the location service using the same manager handler.
+ * Calling this function invokes a location service event. When the location service is updated, location_updated_cb.
* @param[in] manager The location manager handle
* @param[in] timeout Timeout to stop requesting single location after
* @param[in] callback The location callback function to register
* @param[in] user_data The user data to be passed to the callback function
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #LOCATIONS_ERROR_INCORRECT_METHOD Incorrect method
* @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE Service not available
* @retval #LOCATIONS_ERROR_NETWORK_FAILED Network failed
* @retval #LOCATIONS_ERROR_GPS_SETTING_OFF GPS is not enabled
/**
* @brief Starts the location service.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks There is no limit on number of location managers for which this function was called.
/**
* @brief Stops the location service.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @remarks This function initiates the process of stopping the service. When the process is finished, callback set using
* #location_manager_set_service_state_changed_cb() will be called, with #LOCATIONS_SERVICE_DISABLED as first argument.
* When that happens, the service is stopped and the user is notified.
/**
* @brief Adds bounds for a given location manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] bounds The location bounds handle
* @return @c 0 on success,
/**
* @brief Deletes bounds for a given location manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] bounds The location bounds handle
* @return @c 0 on success,
/**
* @brief Retrieves all location bounds by invoking a specific callback for each location bounds
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] callback The iteration callback
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Gets the given location manager's method.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[out] method The location method
* @return @c 0 on success,
/**
* @brief Gets the current position information.
* @details The result contains the current altitude, latitude, and longitude with a measurement timestamp.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
/**
* @brief Gets the current position information.
* @details The result contains the current altitude, latitude, longitude, climb, direction, speed, level, horizontal, and vertical with a measurement timestamp.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
/**
* @brief Gets the current velocity information.
* @details The result contains the current climb, direction, and speed with a measurement timestamp.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
*/
int location_manager_get_velocity(location_manager_h manager, double *climb, double *direction, double *speed, time_t *timestamp);
-
/**
* @brief Gets the current accuracy information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
*/
int location_manager_get_accuracy(location_manager_h manager, location_accuracy_level_e *level, double *horizontal, double *vertical);
+/**
+ * @brief Gets the current velocity accuracy information.
+ * @since_tizen 6.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/location
+ * @param[in] manager The location manager handle
+ * @param[out] velocity_accuracy The velocity accuracy (m/s)
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #LOCATIONS_ERROR_NONE Successful
+ * @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid argument
+ * @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE Service not available
+ * @retval #LOCATIONS_ERROR_GPS_SETTING_OFF GPS is not enabled
+ * @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
+ * @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
+ * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start().
+ */
+int location_manager_get_velocity_accuracy(location_manager_h manager, double *velocity_accuracy);
/**
* @brief Gets the last position information which is recorded.
* @details The @a altitude, @a latitude, @a longitude, and @c timestamp values should be 0, if there is no record of any previous position information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid argument
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @pre The location manager handle must be created by location_manager_create()
+ * @pre The location manager handle must be created by location_manager_create().
*/
int location_manager_get_last_position(location_manager_h manager, double *altitude, double *latitude, double *longitude, time_t *timestamp);
/**
* @brief Gets the last location information.
* @details The @a altitude, @a latitude, @a longitude, @a climb, @a direction, @a speed, and @c timestamp values should be 0, if there is no record of any previous position information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
/**
* @brief Gets the last velocity information which is recorded.
* @details The @a climb, @a direction, and @a speed values should be @c 0, if there is no record of any previous velocity information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
/**
* @brief Gets the last accuracy information which is recorded.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
/**
* @deprecated Deprecated since 3.0
* @brief Gets the current application's location accessibility status.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[out] state The current location service accessibility status
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked at defined interval with updated position information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] interval The interval [1 ~ 120] (seconds)
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_position_updated_cb() will be invoked
+ * @post location_position_updated_cb() will be invoked.
* @see location_manager_unset_position_updated_cb()
* @see location_position_updated_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked at defined interval with updated velocity information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] interval The interval [1 ~ 120] (seconds)
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_velocity_updated_cb() will be invoked
+ * @post location_velocity_updated_cb() will be invoked.
* @see location_manager_unset_velocity_updated_cb()
* @see location_velocity_updated_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked when the location service state is changed.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_service_state_changed_cb() will be invoked
+ * @post location_service_state_changed_cb() will be invoked.
* @see location_manager_unset_service_state_changed_cb()
* @see location_service_state_changed_cb()
* @see location_manager_start()
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked when the previously set boundary area is entered or left.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
* @pre location_manager_add_boundary() is called before.
- * @post location_zone_changed_cb() will be invoked
+ * @post location_zone_changed_cb() will be invoked.
* @see location_manager_unset_zone_changed_cb()
* @see location_zone_changed_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked when the location setting is changed.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] method The method to observe
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
* otherwise a negative error value
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #LOCATIONS_ERROR_INCORRECT_METHOD Incorrect method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_setting_changed_cb() will be invoked
+ * @post location_setting_changed_cb() will be invoked.
* @see location_manager_unset_setting_changed_cb()
* @see location_setting_changed_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] method The method to observe
* @return @c 0 on success,
* otherwise a negative error value
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #LOCATIONS_ERROR_INCORRECT_METHOD Incorrect method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
* @see location_manager_set_setting_changed_cb()
*/
/**
* @brief Gets the distance in meters between two locations.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] start_latitude The starting latitude [-90.0 ~ 90.0] (degrees)
* @param[in] start_longitude The starting longitude [-180.0 ~ 180.0] (degrees)
* @param[in] end_latitude The ending latitude [-90.0 ~ 90.0] (degrees)
/**
* @brief Registers a callback function to be invoked at minimum interval or minimum distance with updated position information.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen 2.4
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] interval The minimum interval between position updates [1 ~ 120] (seconds)
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_changed_cb() will be invoked
+ * @post location_changed_cb() will be invoked.
* @see location_manager_unset_distance_based_location_changed_cb()
* @see location_changed_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen 2.4
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked at defined interval with updated location information.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen 2.4
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] interval The interval [1 ~ 120] (seconds)
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_changed_cb() will be invoked
+ * @post location_changed_cb() will be invoked.
* @see location_manager_unset_location_changed_cb()
* @see location_changed_cb()
*/
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen 2.4
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Registers a callback function to be invoked when batch_period is expired.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @remarks The batch_period should be greater than or equal to the batch_interval.
+ * In addition, sometimes the period may not work as you intended, the maximum permissible value for batch_period is device specific.
* @param[in] manager The location manager handle
* @param[in] callback The callback function to register
* @param[in] batch_interval The batch sampling interval [1 ~ 255] (seconds)
* @param[in] batch_period The batch period [1 ~ 60000] (seconds)
+ * @param[in] user_data The user data to be passed to the callback function
* @return @c 0 on success,
* otherwise a negative error value
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post location_batch_cb() will be invoked
+ * @post location_batch_cb() will be invoked.
* @see location_manager_start_batch()
* @see location_batch_cb()
* @see location_manager_unset_location_batch_cb()
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
* @brief Starts the location batch service.
* @details Calling this function starts location batch service, location_batch_cb() will be invoked every @a batch_period seconds.
* After that, you can obtain all locations with location_manager_foreach_location_batch().
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks Calling this function invokes a location service event. When the location service is enabled, the service state change callback
/**
* @brief Stops the location batch service.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @remarks This function initiates the process of stopping the service. When the process is finished, callback set using
* #location_manager_set_service_state_changed_cb() will be called, with #LOCATIONS_SERVICE_DISABLED as the first argument.
* @param[in] manager The location manager handle
/**
* @brief Retrieves all location information by invoking a specific callback for each location data.
- * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @since_tizen 2.3.2
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
* @param[in] callback The iteration callback function
- * @param[in] user_data The user data passed from the callback registration function
+ * @param[in] user_data The user data to be passed to the callback function
* @return @c 0 on success,
* otherwise a negative error value
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @pre location_manager_foreach_location_batch() is available after location_batch_cb() is invoked
- * @post location_batch_get_location_cb() will be invoked
+ * @pre location_manager_foreach_location_batch() is available after location_batch_cb() is invoked.
+ * @post location_batch_get_location_cb() will be invoked.
* @see location_manager_start_batch()
* @see location_batch_cb()
* @see location_batch_get_location_cb()
*/
int location_manager_foreach_location_batch(location_manager_h manager, location_batch_get_location_cb callback, void *user_data);
+
/**
* @brief Checks whether the mock location is enabled.
* @since_tizen 3.0
* @param[out] enabled Indicates whether the mock location is enabled
- * @return 0 on success, otherwise a negative error value
+ * @return @c 0 on success,
+ * otherwise a negative error value
* @retval #LOCATIONS_ERROR_NONE Successful
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
*/
int location_manager_is_enabled_mock_location(bool *enabled);
+
/**
* @brief Enables mock location.
+ * @details The mock location is a testing function to make location API and callback deliver a mock location
+ * set by location_manager_set_mock_location() instead of real positioning data even in the other applications.
* @since_tizen 3.0
- * @remarks You can enable the mock location when developer mode is enabled.
* @privlevel public
* @privilege %http://tizen.org/privilege/location
+ * @remarks The mock location can only be enabled if developer mode is enabled.
* @param[in] enable The value to set
* @return @c 0 on success,
* otherwise a negative error value
* @retval #LOCATIONS_ERROR_SETTING_OFF MOCK location is not enabled
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED Permission denied
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @see location_manager_is_enabled_method()
- * @see location_manager_create()
+ * @see location_manager_is_enabled_mock_location()
* @see location_manager_set_mock_location()
+ * @see location_manager_clear_mock_location()
*/
int location_manager_enable_mock_location(const bool enable);
* @retval #LOCATIONS_ERROR_SETTING_OFF MOCK location is not enabled
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @see location_manager_is_enabled_method()
- * @see location_manager_enable_mock_location()
* @see location_manager_create()
+ * @see location_manager_is_enabled_mock_location()
+ * @see location_manager_enable_mock_location()
* @see location_manager_clear_mock_location()
*/
int location_manager_set_mock_location(location_manager_h manager, const double latitude, const double longitude, const double altitude, const double speed, const double direction, const double accuracy);
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_SETTING_OFF MOCK location is not enabled
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @see location_manager_is_enabled_method()
- * @see location_manager_enable_mock_location()
* @see location_manager_create()
+ * @see location_manager_is_enabled_mock_location()
+ * @see location_manager_enable_mock_location()
* @see location_manager_set_mock_location()
*/
int location_manager_clear_mock_location(location_manager_h manager);
+/**
+ * @brief Changes behavior of the location source selection in the fused location method.
+ * @since_tizen 4.0
+ * @param[in] manager The location manager handle
+ * @param[in] mode The fused mode.
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #LOCATIONS_ERROR_NONE Successful
+ * @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #LOCATIONS_ERROR_INCORRECT_METHOD Incorrect method
+ * @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE The service is not available
+ * @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
+ * @see location_manager_create()
+ */
+int location_manager_set_fused_mode(location_manager_h manager, location_fused_mode_e mode);
+
/**
* @}
*/
+
/*
* GPS Status & Satellites
*/
+
/**
* @addtogroup CAPI_LOCATION_GPS_STATUS_MODULE
* @{
*/
+
/**
* @brief Called once for each satellite in range.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] azimuth The azimuth of the satellite (degrees)
* @param[in] elevation The elevation of the satellite (meters)
* @param[in] prn The PRN of the satellite
/**
* @brief Called at defined interval with updated satellite information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[out] num_of_active The last number of active satellites
* @param[out] num_of_inview The last number of satellites in view
* @param[out] timestamp The last timestamp (time when measurement took place or @c 0 if valid)
* @param[in] user_data The user data passed from the call registration function
- * @pre location_manager_start() will invoke this callback if you register this callback using location_manager_set_position_updated_cb()
+ * @pre location_manager_start() will invoke this callback if you register this callback using location_manager_set_position_updated_cb().
* @see location_manager_start()
* @see location_manager_set_position_updated_cb()
*/
/**
* @brief Gets the GPS NMEA data.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @remarks This call is valid only for location managers with #LOCATIONS_METHOD_GPS method.
* You must release @a nmea using @c free().
* @param[in] manager The location manager handle
/**
* @brief Gets the information of satellites.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks This call is valid only for location managers with #LOCATIONS_METHOD_GPS method.
/**
* @brief Registers a callback function to be invoked at defined interval with updated satellite information.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @param[in] manager The location manager handle
* @retval #LOCATIONS_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @post gps_status_satellite_updated_cb() will be invoked
+ * @post gps_status_satellite_updated_cb() will be invoked.
* @see gps_status_unset_satellite_updated_cb()
* @see gps_status_satellite_updated_cb()
* @see gps_status_get_satellite()
/**
* @brief Unregisters the callback function.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @param[in] manager The location manager handle
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Invokes the callback function for each satellite.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks This function is valid only for location managers with the #LOCATIONS_METHOD_GPS method.
* @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE Service not available
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start()
- * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb()
+ * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start().
+ * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb().
* @post It invokes gps_status_get_satellites_cb().
* @see gps_status_get_satellite()
* @see gps_status_get_satellites_cb()
/**
* @brief Gets the last information of satellites.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks This call is valid only for location managers with #LOCATIONS_METHOD_GPS method.
* @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE Service not available
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start()
- * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb()
+ * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start().
+ * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb().
* @see gps_status_foreach_satellites_in_view()
*/
int gps_status_get_last_satellite(location_manager_h manager, int *num_of_active, int *num_of_inview, time_t *timestamp);
/**
* @brief Invokes the callback function for each last satellite which is recorded.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
* @privlevel public
* @privilege %http://tizen.org/privilege/location
* @remarks This function is valid only for location managers with the #LOCATIONS_METHOD_GPS method.
* @retval #LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE Service not available
* @retval #LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED The application does not have the privilege to call this method
* @retval #LOCATIONS_ERROR_NOT_SUPPORTED Not supported
- * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start()
- * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb()
+ * @pre The location service state must be #LOCATIONS_SERVICE_ENABLED with location_manager_start().
+ * @pre The gps_status_satellite_updated_cb must be set with gps_status_set_satellite_updated_cb().
* @post It invokes gps_status_get_satellites_cb().
* @see gps_status_get_last_satellite()
* @see gps_status_get_satellites_cb()