mmi-vision-provider : implement vision provider function - init/deinit/set_mode/get_mode 51/265151/1
authordyamy-lee <dyamy.lee@samsung.com>
Thu, 19 Aug 2021 08:58:07 +0000 (17:58 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 12 Oct 2021 03:06:09 +0000 (12:06 +0900)
Change-Id: Ibfdb87a5aad6984d9fcf503c72197b089c721d3d

src/modules/modality_vision/mmi-vision-provider.c

index 95a54a9..666d166 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 
+mmi_provider_op_mode _provider_mode = MODALITY_PROVIDER_MODE_NONE;
+
 static mmi_provider_module_data *
 vision_modality_init(void)
 {
-       return NULL;
+       mmi_provider_module_data *vision_data = NULL;
+       LOGD("vision_modality_init \n");
+
+       vision_data = (mmi_provider_module_data *)calloc(1, sizeof(mmi_provider_module_data));
+       if(!vision_data) {
+               LOGE("Failed alloc vision modality provider data\n");
+               return NULL;
+       }
+
+       vision_data->get_mode = vision_get_mode;
+       vision_data->set_mode = vision_set_mode;
+
+       return vision_data;
 }
 
 bool vision_set_mode(mmi_provider_op_mode mode)
 {
-       return 0;
+       LOGD("vision_set_mode = %d\n", mode);
+       if(!mode)
+               return false;
+       _provider_mode = mode;
+       return true;
 }
 
 mmi_provider_op_mode vision_get_mode(void)
 {
-       return MODALITY_PROVIDER_MODE_NONE;
+       LOGD("vision_get_mode \n");
+       return _provider_mode;
 }
 
 static void
 vision_modality_deinit(mmi_provider_module_data *module_data)
 {
+       if(!module_data) {
+               LOGE("No have module_data\n");
+               return;
+       }
+
+       LOGD("vision_modality_deinit \n");
+
+       module_data->get_mode = NULL;
+       module_data->set_mode = NULL;
+
+       free(module_data);
+       module_data = NULL;
 }
 
 MMI_PROVIDER_API mmi_provider_module mmi_provider_module_info = {
+       "vision-provider!",
+       "libmmi_modality_vision.so",
+       MODALITY_PROVIDER_CAP_VISION_EVENT,
+       MMI_PROVIDER_SET_ABI_VERSION(1,0),
+       vision_modality_init,
+       vision_modality_deinit
 };
\ No newline at end of file