Tizen Native API
6.5
|
The Sensor Provider API provides functions to define a new sensor instance and provide its data.
Required Header
#include <sensor.h>
Overview
This Sensor API provides functions to define a new sensor instance from an application. Other applications are able to be notified whenever a new sensor instance is registered and listen to the new sensor.
Functions | |
int | sensor_create_provider (const char *uri, sensor_provider_h *provider) |
Creates a sensor provider. | |
int | sensor_add_provider (sensor_provider_h provider) |
Registers the sensor provider. | |
int | sensor_remove_provider (sensor_provider_h provider) |
Unregisters the sensor provider. | |
int | sensor_destroy_provider (sensor_provider_h provider) |
Releases all the resources allocated for the sensor provider. | |
int | sensor_provider_set_name (sensor_provider_h provider, const char *name) |
Sets the name to the sensor provider. | |
int | sensor_provider_set_vendor (sensor_provider_h provider, const char *vendor) |
Sets the vendor to the sensor provider. | |
int | sensor_provider_set_range (sensor_provider_h provider, float min_range, float max_range) |
Sets the range of possible sensor values to the sensor provider. | |
int | sensor_provider_set_resolution (sensor_provider_h provider, float resolution) |
Sets the resolution of sensor values to the sensor provider. | |
int | sensor_provider_set_start_cb (sensor_provider_h provider, sensor_provider_start_cb callback, void *user_data) |
Registers the callback function to be invoked when a listener starts the sensor provider. | |
int | sensor_provider_set_stop_cb (sensor_provider_h provider, sensor_provider_stop_cb callback, void *user_data) |
Registers the callback function to be invoked when a sensor listener stops the sensor provider. | |
int | sensor_provider_set_interval_changed_cb (sensor_provider_h provider, sensor_provider_interval_changed_cb callback, void *user_data) |
Registers the callback function to be invoked when the interval is changed. | |
int | sensor_provider_publish (sensor_provider_h provider, sensor_event_s event) TIZEN_DEPRECATED_API |
Publishes a sensor event through the declared sensor. | |
int | sensor_provider_publish_events (sensor_provider_h provider, sensor_event_s events[], int count) |
Publishes sensor events through the declared sensor. | |
Typedefs | |
typedef struct _sensor_provider_s * | sensor_provider_h |
Sensor provider handle. | |
typedef void(* | sensor_provider_start_cb )(sensor_provider_h provider, void *user_data) |
Called when a sensor listener starts the sensor provider. | |
typedef void(* | sensor_provider_stop_cb )(sensor_provider_h provider, void *user_data) |
Called when a sensor listener stops the sensor provider. | |
typedef void(* | sensor_provider_interval_changed_cb )(sensor_provider_h provider, unsigned int interval_ms, void *user_data) |
Called when the interval of the sensor provider is changed. |
Typedef Documentation
typedef struct _sensor_provider_s* sensor_provider_h |
Sensor provider handle.
One or more sensor providers can be created by using sensor_create_provider(). The sensor's data can be published to listeners, via the provider.
- Since :
- 4.0
typedef void(* sensor_provider_interval_changed_cb)(sensor_provider_h provider, unsigned int interval_ms, void *user_data) |
Called when the interval of the sensor provider is changed.
- Since :
- 4.0
- Remarks:
- provider is the object created with sensor_create_provider() and is the object for which the callback was triggered.
- Parameters:
-
[in] provider The sensor provider handle [in] interval_ms The interval [in] user_data The user data to be passed to the callback function
- Precondition:
- A callback function needs to be set using sensor_provider_set_interval_changed_cb().
typedef void(* sensor_provider_start_cb)(sensor_provider_h provider, void *user_data) |
Called when a sensor listener starts the sensor provider.
- Since :
- 4.0
- Remarks:
- provider is the object created with sensor_create_provider() and is the object for which the callback was triggered.
- Parameters:
-
[in] provider The sensor provider handle [in] user_data The user data to be passed to the callback function
- Precondition:
- A callback function needs to be set using sensor_provider_set_start_cb().
- See also:
- sensor_provider_set_start_cb()
typedef void(* sensor_provider_stop_cb)(sensor_provider_h provider, void *user_data) |
Called when a sensor listener stops the sensor provider.
- Since :
- 4.0
- Remarks:
- provider is the object created with sensor_create_provider() and is the object for which the callback was triggered.
- Parameters:
-
[in] provider The sensor provider handle [in] user_data The user data to be passed to the callback function
- Precondition:
- A callback function needs to be set using sensor_provider_set_stop_cb().
- See also:
- sensor_provider_set_stop_cb()
Function Documentation
int sensor_add_provider | ( | sensor_provider_h | provider | ) |
Registers the sensor provider.
A sensor provider is created via sensor_create_provider(), and the three callback functions sensor_provider_start_cb(), sensor_provider_stop_cb(), and sensor_provider_set_interval_changed_cb() should be set in advance.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_PERMISSION_DENIED Permission denied SENSOR_ERROR_OPERATION_FAILED Operation failed
- See also:
- sensor_remove_provider()
int sensor_create_provider | ( | const char * | uri, |
sensor_provider_h * | provider | ||
) |
Creates a sensor provider.
This function creates a sensor provider handle with a given URI. The URI should be in the valid form described in Sensor URIs. In addition, it is not allowed to set the vendor in the URI to "tizen.org", as it is pre-assigned to the platform-defined sensors.
- Since :
- 4.0
- Remarks:
- If your application needs to publish health-related sensor data, the URI category should be "healthinfo". Then the applications without the privilege http://tizen.org/privilege/healthinfo are not allowed to listen your application's health-related sensor.
- The provider must be released using sensor_destroy_provider().
- Parameters:
-
[in] uri The URI of sensor to be created [out] provider The sensor provider handle
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OUT_OF_MEMORY Out of memory SENSOR_ERROR_OPERATION_FAILED Operation failed
- See also:
- sensor_destroy_provider()
int sensor_destroy_provider | ( | sensor_provider_h | provider | ) |
Releases all the resources allocated for the sensor provider.
- Since :
- 4.0
- Remarks:
- If this function is called before sensor_remove_provider() is called, then the sensor provider will be implicitly unregistered.
- Parameters:
-
[in] provider The sensor provider handle
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter
- See also:
- sensor_create_provider()
int sensor_provider_publish | ( | sensor_provider_h | provider, |
sensor_event_s | event | ||
) |
Publishes a sensor event through the declared sensor.
- Deprecated:
- Deprecated since 5.5. Use sensor_provider_publish_events() instead.
This function publishes a sensor's data to its listeners.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle [in] event The sensor event
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
int sensor_provider_publish_events | ( | sensor_provider_h | provider, |
sensor_event_s | events[], | ||
int | count | ||
) |
Publishes sensor events through the declared sensor.
This function publishes a sensor's data to its listeners.
- Since :
- 5.5
- Remarks:
- Both callbacks sensor_event_cb() (set with sensor_listener_set_event_cb()) and sensor_events_cb() (set with sensor_listener_set_events_cb()) are available. Only one of the callbacks can be used at any given time. A call to sensor_listener_set_event_cb() or sensor_listener_set_events_cb() sets the new callback in place of the callback previously set by any of the callback setters. If sensor_events_cb() is set and a single event is published with sensor_provider_publish(), then the event will be delivered through this callback with events_count set to 1. If sensor_event_cb() is set and multiple events are published with sensor_provider_publish_events(), then only the first element of events will be delivered. This behavior is not guaranteed, it's strongly recommended not to use sensor_provider_publish_events() with sensor_event_cb().
- Parameters:
-
[in] provider The sensor provider handle [in] events The sensor events [in] count The number of events
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
int sensor_provider_set_interval_changed_cb | ( | sensor_provider_h | provider, |
sensor_provider_interval_changed_cb | callback, | ||
void * | user_data | ||
) |
Registers the callback function to be invoked when the interval is changed.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle [in] callback The callback function to attach to the provider handle [in] user_data The user data to be passed to the callback function
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
int sensor_provider_set_name | ( | sensor_provider_h | provider, |
const char * | name | ||
) |
Sets the name to the sensor provider.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle [in] name The name of the sensor
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter
- Precondition:
- sensor_create_provider()
int sensor_provider_set_range | ( | sensor_provider_h | provider, |
float | min_range, | ||
float | max_range | ||
) |
Sets the range of possible sensor values to the sensor provider.
- Since :
- 4.0
- Remarks:
- If the application does not set the range, the default values are 0 and 1.
- Parameters:
-
[in] provider The sensor provider handle [in] min_range The lower bound [in] max_range The upper bound
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter
- Precondition:
- sensor_create_provider()
int sensor_provider_set_resolution | ( | sensor_provider_h | provider, |
float | resolution | ||
) |
Sets the resolution of sensor values to the sensor provider.
- Since :
- 4.0
- Remarks:
- If the application does not set the resolution, the default value is 1.
- Parameters:
-
[in] provider The sensor provider handle [in] resolution The resolution
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter
- Precondition:
- sensor_create_provider()
int sensor_provider_set_start_cb | ( | sensor_provider_h | provider, |
sensor_provider_start_cb | callback, | ||
void * | user_data | ||
) |
Registers the callback function to be invoked when a listener starts the sensor provider.
- Since :
- 4.0
- Parameters:
-
[in] provider The provider handle [in] callback The callback function to attach to the provider handle [in] user_data The user data to be passed to the callback function
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
int sensor_provider_set_stop_cb | ( | sensor_provider_h | provider, |
sensor_provider_stop_cb | callback, | ||
void * | user_data | ||
) |
Registers the callback function to be invoked when a sensor listener stops the sensor provider.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle [in] callback The callback function to attach to the provider handle [in] user_data The user data to be passed to the callback function
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
int sensor_provider_set_vendor | ( | sensor_provider_h | provider, |
const char * | vendor | ||
) |
Sets the vendor to the sensor provider.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle [in] vendor The vendor of the sensor
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter
- Precondition:
- sensor_create_provider()
int sensor_remove_provider | ( | sensor_provider_h | provider | ) |
Unregisters the sensor provider.
- Since :
- 4.0
- Parameters:
-
[in] provider The sensor provider handle
- Returns:
- SENSOR_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
SENSOR_ERROR_NONE Successful SENSOR_ERROR_INVALID_PARAMETER Invalid parameter SENSOR_ERROR_OPERATION_FAILED Operation failed
- See also:
- sensor_add_provider()