2 * Copyright © 2021 Samsung Electronics co., Ltd. All Rights Reserved.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
24 #include "mmi-vision-provider.h"
31 mmi_provider_op_mode _provider_mode = MODALITY_PROVIDER_MODE_NONE;
33 static mmi_provider_module_data *
34 vision_modality_init(void)
36 mmi_provider_module_data *vision_data = NULL;
37 LOGD("vision_modality_init \n");
39 vision_data = (mmi_provider_module_data *)calloc(1, sizeof(mmi_provider_module_data));
41 LOGE("Failed alloc vision modality provider data\n");
45 vision_data->get_mode = vision_get_mode;
46 vision_data->set_mode = vision_set_mode;
48 int err = vision_init();
51 LOGE("Failed vision_init = %d", err);
59 bool vision_set_mode(mmi_provider_op_mode mode)
61 LOGD("vision_set_mode = %d\n", mode);
64 _provider_mode = mode;
66 if(_provider_mode == MODALITY_PROVIDER_MODE_PROPAGATE_EVENT)
68 //TODO. vision_streaming();
69 ecore_event_add(MMI_VISION_EVENT_PROPAGATE, NULL, NULL, NULL);
74 mmi_provider_op_mode vision_get_mode(void)
76 LOGD("vision_get_mode \n");
77 return _provider_mode;
81 vision_modality_deinit(mmi_provider_module_data *module_data)
84 LOGE("No have module_data\n");
88 LOGD("vision_modality_deinit \n");
90 module_data->get_mode = NULL;
91 module_data->set_mode = NULL;
95 int err = vision_shutdown();
98 LOGE("Failed vision_init = %d", err);
103 MMI_PROVIDER_API mmi_provider_module mmi_provider_module_info = {
105 "libmmi_modality_vision.so",
106 MODALITY_PROVIDER_CAP_VISION_EVENT,
107 MMI_PROVIDER_SET_ABI_VERSION(1,0),
108 vision_modality_init,
109 vision_modality_deinit