sensor_listener_read_data
sensor_listener_set_accuracy_cb
sensor_listener_set_event_cb
+sensor_listener_set_events_cb
sensor_listener_set_interval
sensor_listener_set_max_batch_latency
sensor_listener_set_option
sensor_listener_stop
sensor_listener_unset_accuracy_cb
sensor_listener_unset_event_cb
+sensor_listener_unset_events_cb
sensor_provider_set_name
sensor_provider_set_vendor
sensor_provider_set_range
sensor_provider_set_stop_cb
sensor_provider_set_interval_changed_cb
sensor_provider_publish
+sensor_provider_publish_events
sensor_recorder_is_supported
sensor_recorder_start
sensor_recorder_stop
extern int utc_system_sensor_listener_set_event_cb_n(void);
extern int utc_system_sensor_listener_unset_event_cb_p(void);
extern int utc_system_sensor_listener_unset_event_cb_n(void);
+extern int utc_system_sensor_listener_set_events_cb_p(void);
+extern int utc_system_sensor_listener_set_events_cb_n(void);
+extern int utc_system_sensor_listener_unset_events_cb_p(void);
+extern int utc_system_sensor_listener_unset_events_cb_n(void);
extern int utc_system_sensor_listener_set_accuracy_cb_p(void);
extern int utc_system_sensor_listener_set_accuracy_cb_n(void);
extern int utc_system_sensor_listener_unset_accuracy_cb_p(void);
extern int utc_system_sensor_provider_set_interval_changed_cb_n(void);
extern int utc_system_sensor_provider_publish_p(void);
extern int utc_system_sensor_provider_publish_n(void);
+extern int utc_system_sensor_provider_publish_events_p(void);
+extern int utc_system_sensor_provider_publish_events_n(void);
extern int utc_system_sensor_util_get_angle_change_p(void);
extern int utc_system_sensor_util_get_angle_change_n(void);
extern int utc_system_sensor_util_get_declination_p(void);
{"utc_system_sensor_listener_set_event_cb_n",utc_system_sensor_listener_set_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_p",utc_system_sensor_listener_unset_event_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_n",utc_system_sensor_listener_unset_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_p",utc_system_sensor_listener_set_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_n",utc_system_sensor_listener_set_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_p",utc_system_sensor_listener_unset_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_n",utc_system_sensor_listener_unset_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_p",utc_system_sensor_listener_set_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_n",utc_system_sensor_listener_set_accuracy_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_accuracy_cb_p",utc_system_sensor_listener_unset_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_provider_set_interval_changed_cb_n",utc_system_sensor_provider_set_interval_changed_cb_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_p",utc_system_sensor_provider_publish_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_n",utc_system_sensor_provider_publish_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_p",utc_system_sensor_provider_publish_events_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_n",utc_system_sensor_provider_publish_events_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_util_get_angle_change_p",utc_system_sensor_util_get_angle_change_p,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_angle_change_n",utc_system_sensor_util_get_angle_change_n,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_declination_p",utc_system_sensor_util_get_declination_p,utc_system_sensor_util_startup,NULL},
extern int utc_system_sensor_listener_set_event_cb_n(void);
extern int utc_system_sensor_listener_unset_event_cb_p(void);
extern int utc_system_sensor_listener_unset_event_cb_n(void);
+extern int utc_system_sensor_listener_set_events_cb_p(void);
+extern int utc_system_sensor_listener_set_events_cb_n(void);
+extern int utc_system_sensor_listener_unset_events_cb_p(void);
+extern int utc_system_sensor_listener_unset_events_cb_n(void);
extern int utc_system_sensor_listener_set_accuracy_cb_p(void);
extern int utc_system_sensor_listener_set_accuracy_cb_n(void);
extern int utc_system_sensor_listener_unset_accuracy_cb_p(void);
extern int utc_system_sensor_provider_set_interval_changed_cb_n(void);
extern int utc_system_sensor_provider_publish_p(void);
extern int utc_system_sensor_provider_publish_n(void);
+extern int utc_system_sensor_provider_publish_events_p(void);
+extern int utc_system_sensor_provider_publish_events_n(void);
extern int utc_system_sensor_util_get_angle_change_p(void);
extern int utc_system_sensor_util_get_angle_change_n(void);
extern int utc_system_sensor_util_get_declination_p(void);
{"utc_system_sensor_listener_set_event_cb_n",utc_system_sensor_listener_set_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_p",utc_system_sensor_listener_unset_event_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_n",utc_system_sensor_listener_unset_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_p",utc_system_sensor_listener_set_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_n",utc_system_sensor_listener_set_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_p",utc_system_sensor_listener_unset_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_n",utc_system_sensor_listener_unset_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_p",utc_system_sensor_listener_set_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_n",utc_system_sensor_listener_set_accuracy_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_accuracy_cb_p",utc_system_sensor_listener_unset_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_provider_set_interval_changed_cb_n",utc_system_sensor_provider_set_interval_changed_cb_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_p",utc_system_sensor_provider_publish_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_n",utc_system_sensor_provider_publish_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_p",utc_system_sensor_provider_publish_events_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_n",utc_system_sensor_provider_publish_events_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_util_get_angle_change_p",utc_system_sensor_util_get_angle_change_p,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_angle_change_n",utc_system_sensor_util_get_angle_change_n,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_declination_p",utc_system_sensor_util_get_declination_p,utc_system_sensor_util_startup,NULL},
extern int utc_system_sensor_listener_set_event_cb_n(void);
extern int utc_system_sensor_listener_unset_event_cb_p(void);
extern int utc_system_sensor_listener_unset_event_cb_n(void);
+extern int utc_system_sensor_listener_set_events_cb_p(void);
+extern int utc_system_sensor_listener_set_events_cb_n(void);
+extern int utc_system_sensor_listener_unset_events_cb_p(void);
+extern int utc_system_sensor_listener_unset_events_cb_n(void);
extern int utc_system_sensor_listener_set_accuracy_cb_p(void);
extern int utc_system_sensor_listener_set_accuracy_cb_n(void);
extern int utc_system_sensor_listener_unset_accuracy_cb_p(void);
extern int utc_system_sensor_provider_set_interval_changed_cb_n(void);
extern int utc_system_sensor_provider_publish_p(void);
extern int utc_system_sensor_provider_publish_n(void);
+extern int utc_system_sensor_provider_publish_events_p(void);
+extern int utc_system_sensor_provider_publish_events_n(void);
extern int utc_system_sensor_util_get_angle_change_p(void);
extern int utc_system_sensor_util_get_angle_change_n(void);
extern int utc_system_sensor_util_get_declination_p(void);
{"utc_system_sensor_listener_set_event_cb_n",utc_system_sensor_listener_set_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_p",utc_system_sensor_listener_unset_event_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_event_cb_n",utc_system_sensor_listener_unset_event_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_p",utc_system_sensor_listener_set_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_set_events_cb_n",utc_system_sensor_listener_set_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_p",utc_system_sensor_listener_unset_events_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
+ {"utc_system_sensor_listener_unset_events_cb_n",utc_system_sensor_listener_unset_events_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_p",utc_system_sensor_listener_set_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_set_accuracy_cb_n",utc_system_sensor_listener_set_accuracy_cb_n,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_listener_unset_accuracy_cb_p",utc_system_sensor_listener_unset_accuracy_cb_p,utc_system_sensor_basic_startup,utc_system_sensor_basic_cleanup},
{"utc_system_sensor_provider_set_interval_changed_cb_n",utc_system_sensor_provider_set_interval_changed_cb_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_p",utc_system_sensor_provider_publish_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_provider_publish_n",utc_system_sensor_provider_publish_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_p",utc_system_sensor_provider_publish_events_p,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
+ {"utc_system_sensor_provider_publish_events_n",utc_system_sensor_provider_publish_events_n,utc_system_sensor_provider_startup,utc_system_sensor_provider_cleanup},
{"utc_system_sensor_util_get_angle_change_p",utc_system_sensor_util_get_angle_change_p,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_angle_change_n",utc_system_sensor_util_get_angle_change_n,utc_system_sensor_util_startup,NULL},
{"utc_system_sensor_util_get_declination_p",utc_system_sensor_util_get_declination_p,utc_system_sensor_util_startup,NULL},
g_main_loop_quit(g_mainloop);
}
+static void test_events_callback(sensor_h sensor, sensor_event_s events[], int events_count, void *user_data)
+{
+ fprintf(stderr, "test_callback was called\n");
+
+ char* ud = (char*) user_data;
+ if(strcmp(ud, TEST_STRING) == 0) {
+ g_called = true;
+ }
+
+ if (g_main_loop_is_running(g_mainloop))
+ g_main_loop_quit(g_mainloop);
+}
+
/**
* @function utc_system_sensor_basic_startup
* @description Called before each test
return 0;
}
+/**
+ * @testcase utc_system_sensor_listener_set_events_cb_p
+ * @since_tizen 5.5
+ * @description Registers a callback function to be invoked when a sensor events occurs.
+ */
+int utc_system_sensor_listener_set_events_cb_p(void)
+{
+ int i = 0;
+ int type_count;
+
+ type_count = sizeof(types) / sizeof(sensor_type_e);
+ for (i = 0; i < type_count; i++) {
+ int error = SENSOR_ERROR_NONE;
+ sensor_listener_h listener;
+ sensor_h sensor;
+ g_called = false;
+
+ error = sensor_get_default_sensor(types[i], &sensor);
+
+ if(!sensor_supported[i]){
+ assert_eq(error,SENSOR_ERROR_NOT_SUPPORTED);
+ }
+ else{
+ error = sensor_create_listener(sensor, &listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_listener_set_events_cb(listener, test_events_callback, TEST_STRING);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_listener_start(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ sensor_listener_set_option(listener, SENSOR_OPTION_ALWAYS_ON);
+
+ wait_callback(types[i]);
+
+ error = sensor_listener_stop(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_listener_unset_events_cb(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_destroy_listener(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ assert(g_called);
+ }
+ }
+
+ return 0;
+}
+
+/**
+ * @testcase utc_system_sensor_listener_set_events_cb_n
+ * @since_tizen 5.5
+ * @description Registers a callback function to be invoked when a sensor event occurs with invalid parameter.
+ */
+int utc_system_sensor_listener_set_events_cb_n(void)
+{
+ int error = SENSOR_ERROR_NONE;
+
+ error = sensor_listener_set_events_cb(NULL, test_events_callback, TEST_STRING);
+
+ assert_eq(error, SENSOR_ERROR_INVALID_PARAMETER);
+
+ sensor_listener_h listener;
+ sensor_h sensor;
+
+ if (!sensor_supported[SENSOR_ACCELEROMETER])
+ return 0;
+
+ sensor_get_default_sensor(SENSOR_ACCELEROMETER, &sensor);
+
+ sensor_create_listener(sensor, &listener);
+
+ *(int *)listener = WRONG_HANDLE;
+
+ error = sensor_listener_set_events_cb(listener, test_events_callback, TEST_STRING);
+
+ assert_eq(error, SENSOR_ERROR_OPERATION_FAILED);
+
+ return 0;
+}
+
+
+/**
+ * @testcase utc_system_sensor_listener_unset_events_cb_p
+ * @since_tizen 5.5
+ * @description Unregisters the sensor callback function.
+ */
+int utc_system_sensor_listener_unset_events_cb_p(void)
+{
+ int i = 0;
+ int type_count;
+
+ type_count = sizeof(types) / sizeof(sensor_type_e);
+
+ for (i = 0; i < type_count; i++) {
+ int error = SENSOR_ERROR_NONE;
+ sensor_listener_h listener;
+ sensor_h sensor;
+ g_called = false;
+
+ error = sensor_get_default_sensor(types[i], &sensor);
+ if(!sensor_supported[i]){
+ assert_eq(error,SENSOR_ERROR_NOT_SUPPORTED);
+ }
+ else{
+ error = sensor_create_listener(sensor, &listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_listener_set_events_cb(listener, test_events_callback, TEST_STRING);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_listener_unset_events_cb(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_destroy_listener(listener);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ }
+ }
+
+ return 0;
+}
+
+/**
+ * @testcase utc_system_sensor_listener_unset_events_cb_n
+ * @since_tizen 5.5
+ * @description Unregisters the sensor callback function with invalid parameter.
+ */
+int utc_system_sensor_listener_unset_events_cb_n(void)
+{
+ int error = SENSOR_ERROR_NONE;
+
+ error = sensor_listener_unset_events_cb(NULL);
+
+ assert_eq(error, SENSOR_ERROR_INVALID_PARAMETER);
+
+ return 0;
+}
+
/**
* @testcase utc_system_sensor_listener_set_accuracy_cb_p
* @since_tizen 2.3
return 0;
}
+
+static gboolean test_publish_events(gpointer gdata)
+{
+ fprintf(stderr, "test_callback was called\n");
+
+ if (g_called) return FALSE;
+
+ sensor_provider_h provider = (sensor_provider_h)(gdata);
+ const int NUMBER_OF_EVENT = 100;
+ sensor_event_s data[NUMBER_OF_EVENT];
+
+ for (int i = 0 ; i < NUMBER_OF_EVENT; i++) {
+ data[i].accuracy = 3;
+ data[i].timestamp = 1000 + i;
+ data[i].value_count = 3;
+ data[i].values[0] = i;
+ data[i].values[1] = i;
+ data[i].values[2] = i;
+ }
+
+ sensor_provider_publish_events(provider, data, NUMBER_OF_EVENT);
+ return TRUE;
+}
+
+/**
+ * @testcase utc_system_sensor_provider_publish_events_p
+ * @since_tizen 5.5
+ * @description Publishes sensor events to it's listeners
+ */
+int utc_system_sensor_provider_publish_events_p(void)
+{
+ int error = SENSOR_ERROR_NONE;
+ sensor_listener_h listener;
+ sensor_provider_h provider;
+ g_called = false;
+
+ error = sensor_create_provider(TEST_SENSOR_URI, &provider);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_add_provider(provider);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ g_timeout_add(100, test_publish_events, provider);
+
+ start_mysensor(&listener, TEST_STRING);
+
+ wait_callback();
+ assert_eq(g_called, true);
+
+ stop_mysensor(listener);
+
+ error = sensor_remove_provider(provider);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ error = sensor_destroy_provider(provider);
+ assert_eq(error, SENSOR_ERROR_NONE);
+
+ return 0;
+}
+
+/**
+ * @testcase utc_system_sensor_provider_publish_events_n
+ * @since_tizen 5.5
+ * @description Publishes sensor events to it's listeners with invalid parameter
+ */
+int utc_system_sensor_provider_publish_events_n(void)
+{
+ int error = SENSOR_ERROR_NONE;
+ sensor_event_s event[10];
+
+ error = sensor_provider_publish_events(NULL, event, 10);
+ assert_eq(error, SENSOR_ERROR_INVALID_PARAMETER);
+
+ return 0;
+}
+