void* user_data);
/**
+ * @brief Clones the remote application information handle.
+ * @since_tizen 5.0
+ * @param[in] remote_app_info The remote application info handle
+ * @param[out] remote_app_info_clone A newly created remote application information handle, if successfully cloned
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #CAPMGR_ERROR_NONE Successful
+ * @retval #CAPMGR_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #CAPMGR_ERROR_OUT_OF_MEMORY Out of memory
+ */
+int capmgr_application_info_clone(
+ const capmgr_application_info_h remote_app_info,
+ capmgr_application_info_h* remote_app_info_clone);
+
+/**
* @brief Gets the application ID from given remote application information.
* @since_tizen 5.0
* @remarks You must release @a appid using free().
return CAPMGR_ERROR_NONE;
}
+API int capmgr_application_info_clone(
+ const capmgr_application_info_h remote_app_info,
+ capmgr_application_info_h* remote_app_info_clone) {
+ if (!remote_app_info || !remote_app_info_clone)
+ return CAPMGR_ERROR_INVALID_PARAMETER;
+
+ struct capmgr_application_info_s* clone;
+ try {
+ clone = new struct capmgr_application_info_s();
+ } catch (const std::bad_alloc& e) {
+ LOG(ERROR) << e.what();
+ return CAPMGR_ERROR_OUT_OF_MEMORY;
+ }
+
+ clone->appid = remote_app_info->appid;
+ clone->pkgid = remote_app_info->pkgid;
+ clone->label = remote_app_info->label;
+ clone->version = remote_app_info->version;
+
+ *remote_app_info_clone = clone;
+
+ return CAPMGR_ERROR_NONE;
+}
+
API int capmgr_application_info_get_appid(
capmgr_application_info_h remote_app_info, char** appid) {
if (!remote_app_info || !appid || remote_app_info->appid.empty())