* otherwise a negative error value
* @retval #APP_MANAGER_ERROR_NONE Successful
* @retval #APP_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #APP_MANAGER_ERROR_IO_ERROR Internal I/O error
+ * @retval #APP_MANAGER_ERROR_IO_ERROR I/O error
+ * @retval #APP_MANAGER_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #APP_MANAGER_ERROR_NO_SUCH_APP No such application
+ * @retval #APP_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ *
*/
int app_manager_attach_window(const char *parent_app_id, const char *child_app_id);
* otherwise a negative error value
* @retval #APP_MANAGER_ERROR_NONE Successful
* @retval #APP_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #APP_MANAGER_ERROR_IO_ERROR Internal I/O error
+ * @retval #APP_MANAGER_ERROR_IO_ERROR I/O error
+ * @retval #APP_MANAGER_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #APP_MANAGER_ERROR_NO_SUCH_APP No such application
+ * @retval #APP_MANAGER_ERROR_PERMISSION_DENIED Permission denied
*/
int app_manager_detach_window(const char *app_id);
}
}
+static int __aul_error_convert(int error)
+{
+ switch (error) {
+ case AUL_R_EINVAL:
+ return APP_MANAGER_ERROR_INVALID_PARAMETER;
+ case AUL_R_EILLACC:
+ return APP_MANAGER_ERROR_PERMISSION_DENIED;
+ case AUL_R_ENOENT:
+ return APP_MANAGER_ERROR_NO_SUCH_APP;
+ case AUL_R_ENOMEM:
+ return APP_MANAGER_ERROR_OUT_OF_MEMORY;
+ default:
+ return APP_MANAGER_ERROR_IO_ERROR;
+ }
+}
+
int app_manager_error(app_manager_error_e error, const char *function, const char *description)
{
if (description)
return app_manager_error(APP_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
ret = aul_window_attach(parent_app_id, child_app_id);
- if (ret != 0)
- return app_manager_error(APP_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL);
+ if (ret != AUL_R_OK)
+ return app_manager_error(__aul_error_convert(ret), __FUNCTION__, NULL);
return APP_MANAGER_ERROR_NONE;
}
return app_manager_error(APP_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
ret = aul_window_detach(app_id);
- if (ret != 0)
- return app_manager_error(APP_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL);
+ if (ret != AUL_R_OK)
+ return app_manager_error(__aul_error_convert(ret), __FUNCTION__, NULL);
return APP_MANAGER_ERROR_NONE;
}