#include <string.h>
#include <aul.h>
+#include "app_types.h"
+
#define _STRDUP(s) ((s) ? strdup(s) : NULL)
char *app_get_data_path(void)
char *app_get_shared_data_path(void)
{
- const char *buf = aul_get_app_shared_data_path();
- return _STRDUP(buf);
+ int ret;
+ char *path = NULL;
+
+ ret = aul_get_app_shared_data_path(&path);
+ if (ret == AUL_R_OK && path)
+ set_last_result(APP_ERROR_NONE);
+ else if (ret = AUL_R_EREJECTED)
+ set_last_result(APP_ERROR_NOT_SUPPORTED);
+ else
+ set_last_result(APP_ERROR_OUT_OF_MEMORY);
+
+ return path;
}
char *app_get_shared_resource_path(void)
/**
+ * @deprecated Deprecated since 3.0.
* @brief Gets the absolute path to the application's shared data directory which is used to share
* data with other applications.
* @details An application can read and write its own files in the application's shared data
* directory and others can only read the files.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @remarks The returned path should be released.
+ * @remarks The returned path should be released. @n
+ * shared/data directory is not supported since Tizen 3.0.
+ * You MUST NOT use this API when you develop new application.
+ * Actually, we strongly recommend to stop using shared/data path for all your previous applications.
+ * Files in shared/data directory can be read by all other applications.
+ * You cannot control what applications can read the files in shared/data directory.
+ * If you want to share files with other applications, consider passing path via @ref CAPI_APP_CONTROL_MODULE API.
+ * The @ref CAPI_APP_CONTROL_MODULE API supports giving permission to other applications by passing path via app_control. @n
+ * shared/data directory is only available for applications with api-version lower than 3.0 from Tizen 3.0 platform.
+ * The applications with api-version from 3.0 cannot access other applications' shared/data directory.
+ * For example, a Tizen 2.4 application can access another Tizen 2.4 application's shared/data directory as it did in Tizen 2.4 platform.
+ * However, a Tizen 3.0 application cannot access another application's shared/data directory even the another application is Tizen 2.4 application.
+ * Note that Tizen 3.0 platform only supports shared/data directory among applications with api-version lower than 3.0 for minimum backward compatibility. @n
+ * The specific error code can be obtained using the get_last_result(). Error codes are described in Exception section.
*
* @return The absolute path to the application's shared data directory, @n
- * otherwise a null pointer if the memory is insufficient
+ * otherwise a null pointer if the memory is insufficient. It will return NULL for 3.0 application, and set to APP_ERROR_NOT_SUPPORTED.
+ * @exception APP_ERROR_NONE Success
+ * @exception APP_ERROR_OUT_OF_MEMORY Out of memory
+ * @exception APP_ERROR_NOT_SUPPORTED Not supported
*/
char *app_get_shared_data_path(void);
APP_ERROR_NO_SUCH_FILE = TIZEN_ERROR_NO_SUCH_FILE, /**< No such file or directory */
APP_ERROR_ALREADY_RUNNING = TIZEN_ERROR_ALREADY_IN_PROGRESS, /**< Application is already running */
APP_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied @if MOBILE (Since 2.3.1) @endif */
+ APP_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported (Since 3.0) */
} app_error_e;
/**