1 // Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by a apache 2.0 license that can be
3 // found in the LICENSE file.
5 #ifndef __TIZEN_APPFW_CAPABILITY_MANAGER_H__
6 #define __TIZEN_APPFW_CAPABILITY_MANAGER_H__
19 CAPMGR_ERROR_NONE = TIZEN_ERROR_NONE,
20 CAPMGR_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,
21 CAPMGR_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,
22 CAPMGR_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR,
26 CAPMGR_APP_CONTROL_RESULT_OK,
27 } capmgr_app_control_result_e;
32 typedef struct capmgr_device_s* capmgr_device_h;
37 typedef struct capmgr_app_control_s* capmgr_app_control_h;
42 typedef struct capmgr_package_info_s* capmgr_package_info_h;
47 typedef int (*capmgr_device_foreach_cb)(const capmgr_device_h device,
53 typedef int (*capmgr_app_control_reply_cb)(const capmgr_app_control_h request,
54 const capmgr_app_control_h reply, capmgr_app_control_result_e result,
60 typedef int (*capmgr_package_info_foreach_package_cb)(
61 const capmgr_package_info_h remote_package_info, void* user_data);
66 typedef int (*capmgr_package_info_foreach_app_cb)(
67 const char* appid, void* user_data);
72 int capmgr_device_foreach_devices(capmgr_device_foreach_cb cb,
78 int capmgr_device_clone(const capmgr_device_h device,
79 capmgr_device_h* device_clone);
84 int capmgr_device_destroy(capmgr_device_h device);
89 int capmgr_device_get_device_id(capmgr_device_h device, char** device_id);
94 int capmgr_device_get_model_name(capmgr_device_h device, char** model_name);
99 int capmgr_device_get_device_name(capmgr_device_h device, char** device_name);
104 int capmgr_device_get_platform_ver(capmgr_device_h device, char** platform_ver);
109 int capmgr_device_get_profile(capmgr_device_h device, char** profile);
114 int capmgr_device_get_sw_ver(capmgr_device_h device, char** sw_ver);
119 int capmgr_app_control_create(capmgr_app_control_h* app_control);
124 int capmgr_app_control_clone(const capmgr_app_control_h app_control,
125 capmgr_app_control_h* app_control_clone);
130 int capmgr_app_control_destroy(capmgr_app_control_h app_control);
135 int capmgr_app_control_get_device(capmgr_app_control_h app_control,
136 capmgr_device_h* device);
141 int capmgr_app_control_get_operation(capmgr_app_control_h app_control,
147 int capmgr_app_control_get_uri(capmgr_app_control_h app_control,
153 int capmgr_app_control_get_mime(capmgr_app_control_h app_control,
159 int capmgr_app_control_get_appid(capmgr_app_control_h app_control,
165 int capmgr_app_control_get_extra_data(capmgr_app_control_h app_control,
166 const char* key, char** value);
171 int capmgr_app_control_set_device(capmgr_app_control_h app_control,
172 const capmgr_device_h device);
177 int capmgr_app_control_set_operation(capmgr_app_control_h app_control,
178 const char* operation);
183 int capmgr_app_control_set_uri(capmgr_app_control_h app_control,
189 int capmgr_app_control_set_mime(capmgr_app_control_h app_control,
195 int capmgr_app_control_set_appid(capmgr_app_control_h app_control,
201 int capmgr_app_control_add_extra_data(capmgr_app_control_h app_control,
202 const char* key, const char* value);
207 int capmgr_app_control_remove_extra_data(capmgr_app_control_h app_control,
213 int capmgr_app_control_send(capmgr_app_control_h app_control,
214 capmgr_app_control_reply_cb cb, void* user_data);
219 int capmgr_package_info_foreach_packages(const capmgr_device_h device,
220 capmgr_package_info_foreach_package_cb cb, void* user_data);
225 int capmgr_package_info_foreach_applications(
226 const capmgr_package_info_h remote_package_info,
227 capmgr_package_info_foreach_app_cb cb, void* user_data);
232 int capmgr_package_info_get_pkgid(capmgr_package_info_h remote_package_info,
238 int capmgr_package_info_get_label(capmgr_package_info_h remote_package_info,
245 int capmgr_package_info_get_version(capmgr_package_info_h remote_package_info,
252 #endif // __TIZEN_APPFW_CAPABILITY_MANAGER_H__