Applications in Ubuntu do not access positioning hardware directly but instead rely on a system-wide location service to be provided with position, heading and velocity updates. An application that wants to receive position, heading or velocity updates needs to start a session with the location service and specify its requirements with the help UALocationServiceRequirementsFlags. After the session has been created, position, heading and velocity updates need to be started by the application for its session. The actual updates are delivered via callbacks. Please note that the location service caches updates as good as possible. That is, if an application is only interested in a single position fix, and a reasonable fix is already known to the service, the information is immediately delivered to the application when the respecitve updates are started.
More...
|
UBUNTU_DLL_PUBLIC void | ua_location_service_controller_ref (UALocationServiceController *controller) |
| Increments the reference count of the controller instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_controller_unref (UALocationServiceController *controller) |
| Decrements the reference count of the controller instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_controller_set_status_changed_handler (UALocationServiceController *controller, UALocationServiceStatusChangedHandler handler, void *context) |
| Sets the status changed handler of the controller instance. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_controller_query_status (UALocationServiceController *controller, UALocationServiceStatusFlags *out_flags) |
| Query the status of the location service. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_controller_enable_service (UALocationServiceController *controller) |
| Enables the location service. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_controller_disable_service (UALocationServiceController *controller) |
| Disables the location service completely. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_controller_enable_gps (UALocationServiceController *controller) |
| Enables all gps providers known to the location service. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_controller_disable_gps (UALocationServiceController *controller) |
| Disables all gps providers known to the location service. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_heading_update_ref (UALocationHeadingUpdate *update) |
| Increments the reference count of the heading update instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_heading_update_unref (UALocationHeadingUpdate *update) |
| Decrements the reference count of the heading update instance. More...
|
|
UBUNTU_DLL_PUBLIC uint64_t | ua_location_heading_update_get_timestamp (UALocationHeadingUpdate *update) |
| Queries the timestamp of the heading update. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_heading_update_get_heading_in_degree (UALocationHeadingUpdate *update) |
| Queries the new heading from the update. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_position_update_ref (UALocationPositionUpdate *update) |
| Increments the reference count of the position update instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_position_update_unref (UALocationPositionUpdate *update) |
| Decrements the reference count of the position update instance. More...
|
|
UBUNTU_DLL_PUBLIC uint64_t | ua_location_position_update_get_timestamp (UALocationPositionUpdate *update) |
| Queries the timestamp of the position update. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_position_update_get_latitude_in_degree (UALocationPositionUpdate *update) |
| Queries the latitude contained in the position update. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_position_update_get_longitude_in_degree (UALocationPositionUpdate *update) |
| Queries the longitude contained in the position update. More...
|
|
UBUNTU_DLL_PUBLIC bool | ua_location_position_update_has_altitude (UALocationPositionUpdate *update) |
| Checks if the position update contains an altitude. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_position_update_get_altitude_in_meter (UALocationPositionUpdate *update) |
| Queries the altitude contained in the position update. More...
|
|
UBUNTU_DLL_PUBLIC bool | ua_location_position_update_has_horizontal_accuracy (UALocationPositionUpdate *update) |
| Checks if the position update contains a horizontal accuracy estimate. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_position_update_get_horizontal_accuracy_in_meter (UALocationPositionUpdate *update) |
| Queries the horizontal accuracy contained in the position update. More...
|
|
UBUNTU_DLL_PUBLIC bool | ua_location_position_update_has_vertical_accuracy (UALocationPositionUpdate *update) |
| Checks if the position update contains a vertical accuracy estimate. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_position_update_get_vertical_accuracy_in_meter (UALocationPositionUpdate *update) |
| Queries the vertical accuracy contained in the position update. More...
|
|
UBUNTU_DLL_PUBLIC UALocationServiceSession * | ua_location_service_create_session_for_low_accuracy (UALocationServiceRequirementsFlags flags) |
| Creates a new session with the location service for low positional accuracy requirements. More...
|
|
UBUNTU_DLL_PUBLIC UALocationServiceSession * | ua_location_service_try_create_session_for_low_accuracy (UALocationServiceRequirementsFlags flags, UALocationServiceError *status) |
| Tries to reate a new session with the location service for low positional accuracy requirements. More...
|
|
UBUNTU_DLL_PUBLIC UALocationServiceSession * | ua_location_service_create_session_for_high_accuracy (UALocationServiceRequirementsFlags flags) |
| Creates a new session with the location service for high positional accuracy requirements. More...
|
|
UBUNTU_DLL_PUBLIC UALocationServiceSession * | ua_location_service_try_create_session_for_high_accuracy (UALocationServiceRequirementsFlags flags, UALocationServiceError *status) |
| Tries to reate a new session with the location service for high positional accuracy requirements. More...
|
|
UBUNTU_DLL_PUBLIC UALocationServiceController * | ua_location_service_create_controller () |
| Creates a new controller for the location service. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_ref (UALocationServiceSession *session) |
| Increments the reference count of the session instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_unref (UALocationServiceSession *session) |
| Decrements the reference count of the session instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_set_position_updates_handler (UALocationServiceSession *session, UALocationServiceSessionPositionUpdatesHandler handler, void *context) |
| Installs an app-specific position update handler for the session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_set_heading_updates_handler (UALocationServiceSession *session, UALocationServiceSessionHeadingUpdatesHandler handler, void *context) |
| Installs an app-specific heading update handler for the session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_set_velocity_updates_handler (UALocationServiceSession *session, UALocationServiceSessionVelocityUpdatesHandler handler, void *context) |
| Installs an app-specific velocity update handler for the session. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_session_start_position_updates (UALocationServiceSession *session) |
| Starts position updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_stop_position_updates (UALocationServiceSession *session) |
| Stops position updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_session_start_heading_updates (UALocationServiceSession *session) |
| Starts heading updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_stop_heading_updates (UALocationServiceSession *session) |
| Stops heading updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC UStatus | ua_location_service_session_start_velocity_updates (UALocationServiceSession *session) |
| Starts velocity updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_service_session_stop_velocity_updates (UALocationServiceSession *session) |
| Stops velocity updates for the supplied session. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_velocity_update_ref (UALocationVelocityUpdate *update) |
| Increments the reference count of the velocity update instance. More...
|
|
UBUNTU_DLL_PUBLIC void | ua_location_velocity_update_unref (UALocationVelocityUpdate *update) |
| Decrements the reference count of the velocity update instance. More...
|
|
UBUNTU_DLL_PUBLIC uint64_t | ua_location_velocity_update_get_timestamp (UALocationVelocityUpdate *update) |
| Queries the timestamp of the velocity update. More...
|
|
UBUNTU_DLL_PUBLIC double | ua_location_velocity_update_get_velocity_in_meters_per_second (UALocationVelocityUpdate *update) |
| Queries the velocity contained in the position update. More...
|
|
Applications in Ubuntu do not access positioning hardware directly but instead rely on a system-wide location service to be provided with position, heading and velocity updates. An application that wants to receive position, heading or velocity updates needs to start a session with the location service and specify its requirements with the help UALocationServiceRequirementsFlags. After the session has been created, position, heading and velocity updates need to be started by the application for its session. The actual updates are delivered via callbacks. Please note that the location service caches updates as good as possible. That is, if an application is only interested in a single position fix, and a reasonable fix is already known to the service, the information is immediately delivered to the application when the respecitve updates are started.