Add API for update-control plugins
[platform/core/system/libsyscommon.git] / src / plugin-api / common / src / syscommon-plugin-api-list.h
1 /**
2  * MIT License
3  *
4  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is furnished
11  * to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24
25 #ifndef __SYSCOMMON_PLUGIN_API_LIST_H__
26 #define __SYSCOMMON_PLUGIN_API_LIST_H__
27
28 #include <system/syscommon-plugin-common.h>
29
30 #include "common.h"
31
32 #define PLUGIN_ABI_VERSION_MAX 10
33
34 enum syscommon_plugin_abi_version g_platform_curr_abi_version =
35                                         SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0;
36
37 static struct plugin_abi_version_match abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_END][PLUGIN_ABI_VERSION_MAX] = {
38         [SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK] = {
39                 [0] = {
40                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
41                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
42                 },
43         },
44         /* PLUGIN_GROUP_DEVICED */
45         [SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY] = {
46                 [0] = {
47                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
48                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
49                 },
50         },
51         [SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT] = {
52                 [0] = {
53                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
54                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
55                 },
56         },
57         [SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY] = {
58                 [0] = {
59                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
60                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
61                 },
62         },
63         [SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING] = {
64                 [0] = {
65                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
66                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_8_0,
67                 },
68         },
69         [SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL] = {
70                 [0] = {
71                         .platform_abi_version           = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_9_0,
72                         .backend_min_abi_version        = SYSCOMMON_PLUGIN_ABI_VERSION_TIZEN_9_0,
73                 },
74         },
75 };
76
77 static struct __plugin_module_info g_plugin_module_info[] = {
78         [SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK] = {
79                 .group                  = PLUGIN_GROUP_RESOURCED,
80                 .module                 = SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK,
81                 .license                = PLUGIN_LICENSE_APACHE_2_0,
82                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK",
83                 .backend_module_name    = "resourced-memory-lmk",
84                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-resourced-memory-lmk.so",
85                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-resourced-memory-lmk.so",
86                 .symbol_name            = "system_plugin_backend_resourced_memory_lmk_data",
87                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK]),
88                 .abi_versions           = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_RESOURCED_MEMORY_LMK],
89         },
90         [SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY] = {
91                 .group                  = PLUGIN_GROUP_DEVICED,
92                 .module                 = SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY,
93                 .license                = PLUGIN_LICENSE_APACHE_2_0,
94                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY",
95                 .backend_module_name    = "deviced-battery",
96                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-deviced-battery.so",
97                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-deviced-battery.so",
98                 .symbol_name            = "system_plugin_backend_deviced_battery_data",
99                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY]),
100                 .abi_versions           = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_BATTERY],
101         },
102         [SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT] = {
103                 .group                  = PLUGIN_GROUP_DEVICED,
104                 .module                 = SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT,
105                 .license                = PLUGIN_LICENSE_APACHE_2_0,
106                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT",
107                 .backend_module_name    = "deviced-input",
108                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-deviced-input.so",
109                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-deviced-input.so",
110                 .symbol_name            = "system_plugin_backend_deviced_input_data",
111                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT]),
112                 .abi_versions           = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_INPUT],
113         },
114         [SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY] = {
115                 .group                  = PLUGIN_GROUP_DEVICED,
116                 .module                 = SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY,
117                 .license                = PLUGIN_LICENSE_APACHE_2_0,
118                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY",
119                 .backend_module_name    = "deviced-display",
120                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-deviced-display.so",
121                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-deviced-display.so",
122                 .symbol_name            = "system_plugin_backend_deviced_display_data",
123                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY]),
124                 .abi_versions           = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_DEVICED_DISPLAY],
125         },
126         [SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING] = {
127                 .group                  = PLUGIN_GROUP_RESOURCED,
128                 .module                 = SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING,
129                 .license                = PLUGIN_LICENSE_APACHE_2_0,
130                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING",
131                 .backend_module_name    = "resourced-cpu-boosting",
132                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-resourced-cpu-boosting.so",
133                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-resourced-cpu-boosting.so",
134                 .symbol_name            = "system_plugin_backend_resourced_cpu_boosting_data",
135                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING]),
136                 .abi_versions           = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_RESOURCED_CPU_BOOSTING],
137         },
138         [SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL] = {
139                 .group                  = PLUGIN_GROUP_UPDATE_CONTROL,
140                 .module                 = SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL,
141                 .license                = PLUGIN_LICENSE_APACHE_2_0,
142                 .module_name            = "SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL",
143                 .backend_module_name    = "update-control",
144                 .library_name           = "/usr/lib/system/plugin/libplugin-backend-update-control.so",
145                 .library_name_64bit     = "/usr/lib64/system/plugin/libplugin-backend-update-control.so",
146                 .symbol_name            = "system_plugin_backend_update_control_data",
147                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL]),
148                 .abi_versions = abi_version_match_data[SYSCOMMON_PLUGIN_MODULE_UPDATE_CONTROL],
149         },
150 };
151
152 #endif /* __PLUGIN_API_LIST_H__ */