sensord: add skeleton APIs for sensor provider 19/126519/4
authorkibak.yoon <kibak.yoon@samsung.com>
Mon, 24 Apr 2017 03:42:53 +0000 (12:42 +0900)
committerKibak Yoon <kibak.yoon@samsung.com>
Mon, 24 Apr 2017 04:08:33 +0000 (04:08 +0000)
Change-Id: I22659ac09301f7ba12b2de4613217b78faefdaa4
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
include/sensor_internal.h
src/client-dummy/client_dummy.cpp
src/client/sensor_internal.cpp

index 506c869..9911949 100644 (file)
@@ -379,13 +379,50 @@ bool sensord_get_data(int handle, unsigned int data_id, sensor_data_t* sensor_da
  */
 bool sensord_flush(int handle);
 
-typedef void (*sensor_external_command_cb_t)(int handle, const char* data, int data_cnt, void *user_data);
+bool sensord_set_passive_mode(int handle, bool passive);
+
+
+/* Sensor Internal API using URI */
+int sensord_get_default_sensor_by_uri(const char *uri, sensor_t *sensor);
+int sensord_get_sensors_by_uri(const char *uri, sensor_t **list, int *sensor_count);
+
+typedef void (*sensord_added_cb)(const char *uri, void *user_data);
+int sensord_add_sensor_added_cb(sensord_added_cb callback, void *user_data);
+int sensord_remove_sensor_added_cb(sensord_added_cb callback);
+
+typedef void (*sensord_removed_cb)(const char *uri, void *user_data);
+int sensord_add_sensor_removed_cb(sensord_removed_cb callback, void *user_data);
+int sensord_remove_sensor_removed_cb(sensord_removed_cb callback);
+
+/* Sensor provider */
+typedef void *sensord_provider_h;
+int sensord_create_provider(const char *uri, sensord_provider_h *provider);
+int sensord_destroy_provider(sensord_provider_h provider);
+int sensord_add_provider(sensord_provider_h provider);
+int sensord_remove_provider(sensord_provider_h provider);
 
+int sensord_provider_set_name(sensord_provider_h provider, const char *name);
+int sensord_provider_set_vendor(sensord_provider_h provider, const char *vendor);
+int sensord_provider_set_range(sensord_provider_h provider, float min_range, float max_range);
+int sensord_provider_set_resolution(sensord_provider_h provider, float resolution);
+
+typedef void (*sensord_provider_start_cb)(sensord_provider_h provider, void *user_data);
+int sensord_provider_set_start_cb(sensord_provider_h provider, sensord_provider_start_cb callback, void *user_data);
+
+typedef void (*sensord_provider_stop_cb)(sensord_provider_h provider, void *user_data);
+int sensord_provider_set_stop_cb(sensord_provider_h provider, sensord_provider_stop_cb callback, void *user_data);
+
+typedef void (*sensord_provider_set_interval_cb)(sensord_provider_h provider, unsigned int interval_ms, void *user_data);
+int sensord_provider_set_set_interval_cb(sensord_provider_h provider, sensord_provider_set_interval_cb callback, void *user_data);
+
+int sensord_provider_publish(sensord_provider_h provider, sensor_data_t data);
+
+/* Deprecated */
+typedef void (*sensor_external_command_cb_t)(int handle, const char* data, int data_cnt, void *user_data);
 int sensord_external_connect(const char *key, sensor_external_command_cb_t cb, void *user_data);
 bool sensord_external_disconnect(int handle);
 bool sensord_external_post(int handle, unsigned long long timestamp, const float* data, int data_cnt);
 
-bool sensord_set_passive_mode(int handle, bool passive);
 /**
   * @}
  */
index 0baf94e..ee2de11 100644 (file)
@@ -202,3 +202,95 @@ API bool sensord_set_passive_mode(int handle, bool passive)
 {
        return false;
 }
+
+/* Sensor Internal API using URI */
+API int sensord_get_default_sensor_by_uri(const char *uri, sensor_t *sensor)
+{
+       return OP_ERROR;
+}
+
+API int sensord_get_sensors_by_uri(const char *uri, sensor_t **list, int *count)
+{
+       return OP_ERROR;
+}
+
+API int sensord_add_sensor_added_cb(sensord_added_cb callback, void *user_data)
+{
+       return OP_ERROR;
+}
+
+API int sensord_remove_sensor_added_cb(sensord_added_cb callback)
+{
+       return OP_ERROR;
+}
+
+API int sensord_add_sensor_removed_cb(sensord_removed_cb callback, void *user_data)
+{
+       return OP_ERROR;
+}
+
+API int sensord_remove_sensor_removed_cb(sensord_removed_cb callback)
+{
+       return OP_ERROR;
+}
+
+/* Sensor provider */
+API int sensord_create_provider(const char *uri, sensord_provider_h *provider)
+{
+       return OP_ERROR;
+}
+
+API int sensord_destroy_provider(sensord_provider_h provider)
+{
+       return OP_ERROR;
+}
+
+API int sensord_add_provider(sensord_provider_h provider)
+{
+       return OP_ERROR;
+}
+
+API int sensord_remove_provider(sensord_provider_h provider)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_name(sensord_provider_h provider, const char *name)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_vendor(sensord_provider_h provider, const char *vendor)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_range(sensord_provider_h provider, float min_range, float max_range)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_resolution(sensord_provider_h provider, float resolution)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_start_cb(sensord_provider_h provider, sensord_provider_start_cb callback, void *user_data)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_stop_cb(sensord_provider_h provider, sensord_provider_stop_cb callback, void *user_data)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_set_set_interval_cb(sensord_provider_h provider, sensord_provider_set_interval_cb callback, void *user_data)
+{
+       return OP_ERROR;
+}
+
+API int sensord_provider_publish(sensord_provider_h provider, sensor_data_t data)
+{
+       return OP_ERROR;
+}
index a0b683f..28d4e71 100644 (file)
@@ -540,40 +540,144 @@ API bool sensord_set_passive_mode(int handle, bool passive)
        return true;
 }
 
-API int sensord_external_connect(const char *key, sensor_external_command_cb_t cb, void *user_data)
+/* Sensor Internal API using URI */
+API int sensord_get_default_sensor_by_uri(const char *uri, sensor_t *sensor)
 {
-       /*
-        * 1. check parameter
-        * 2. create handle in this client
-        * 3. first connection(client)
-        * 4. cmd_connect for external sensor with key
-        */
-       retvm_if(!key, -EINVAL, "Invalid key");
-       return 0;
+       retvm_if(!sensor, -EINVAL, "Invalid parameter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
 }
 
-API bool sensord_external_disconnect(int handle)
+API int sensord_get_sensors_by_uri(const char *uri, sensor_t **list, int *count)
 {
-       /*
-        * 1. check parameter
-        * 2. create handle in this client
-        * 3. first connection(client)
-        * 4. cmd_connect for external sensor with key
-        * 5. disconnect this handle
-        * 6. if there is no active sensor, remove client id and stop listener
-        */
-       return true;
+       retvm_if((!list || !count), -EINVAL, "Invalid parameter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
 }
 
-API bool sensord_external_post(int handle, unsigned long long timestamp, const float* data, int data_cnt)
+API int sensord_add_sensor_added_cb(sensord_added_cb callback, void *user_data)
 {
-       /*
-        * 1. check parameter
-        * 1.1 (data_cnt <= 0) || (data_cnt > POST_DATA_LEN_MAX)), return false
-        * 2. cmd_post
-        */
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
 
-       return true;
+       return OP_SUCCESS;
+}
+
+API int sensord_remove_sensor_added_cb(sensord_added_cb callback)
+{
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_add_sensor_removed_cb(sensord_removed_cb callback, void *user_data)
+{
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_remove_sensor_removed_cb(sensord_removed_cb callback)
+{
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
+}
+
+/* Sensor provider */
+API int sensord_create_provider(const char *uri, sensord_provider_h *provider)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_destroy_provider(sensord_provider_h provider)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_add_provider(sensord_provider_h provider)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_remove_provider(sensord_provider_h provider)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+       retvm_if(!manager.connect(), -EIO, "Failed to connect");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_name(sensord_provider_h provider, const char *name)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_vendor(sensord_provider_h provider, const char *vendor)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_range(sensord_provider_h provider, float min_range, float max_range)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_resolution(sensord_provider_h provider, float resolution)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_start_cb(sensord_provider_h provider, sensord_provider_start_cb callback, void *user_data)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_stop_cb(sensord_provider_h provider, sensord_provider_stop_cb callback, void *user_data)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_set_set_interval_cb(sensord_provider_h provider, sensord_provider_set_interval_cb callback, void *user_data)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+       retvm_if(!callback, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
+}
+
+API int sensord_provider_publish(sensord_provider_h provider, sensor_data_t data)
+{
+       retvm_if(!provider, -EINVAL, "Invalid paramter");
+
+       return OP_SUCCESS;
 }
 
 /* deperecated */
@@ -642,3 +746,42 @@ API bool sensord_get_privilege(sensor_t sensor, sensor_privilege_t *privilege)
        return true;
 }
 
+/* deprecated */
+API int sensord_external_connect(const char *key, sensor_external_command_cb_t cb, void *user_data)
+{
+       /*
+        * 1. check parameter
+        * 2. create handle in this client
+        * 3. first connection(client)
+        * 4. cmd_connect for external sensor with key
+        */
+       retvm_if(!key, -EINVAL, "Invalid key");
+       return 0;
+}
+
+/* deprecated */
+API bool sensord_external_disconnect(int handle)
+{
+       /*
+        * 1. check parameter
+        * 2. create handle in this client
+        * 3. first connection(client)
+        * 4. cmd_connect for external sensor with key
+        * 5. disconnect this handle
+        * 6. if there is no active sensor, remove client id and stop listener
+        */
+       return true;
+}
+
+/* deprecated */
+API bool sensord_external_post(int handle, unsigned long long timestamp, const float* data, int data_cnt)
+{
+       /*
+        * 1. check parameter
+        * 1.1 (data_cnt <= 0) || (data_cnt > POST_DATA_LEN_MAX)), return false
+        * 2. cmd_post
+        */
+
+       return true;
+}
+