Deprecate shared directory related API 99/56899/21 submit/tizen/20160202.002216 submit/tizen/20160202.010556
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 13 Jan 2016 11:30:07 +0000 (20:30 +0900)
committerHwanKyu Jhun <h.jhun@samsung.com>
Mon, 1 Feb 2016 23:00:04 +0000 (15:00 -0800)
- app_get_shared_data_path() is deprecated

Change-Id: Ib95914191f395c08172facbd875b64630d1788a3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
app_common/app_path.c
include/app_common.h
include/app_types.h

index f8e169c..34d5d0d 100644 (file)
@@ -17,6 +17,8 @@
 #include <string.h>
 #include <aul.h>
 
+#include "app_types.h"
+
 #define _STRDUP(s) ((s) ? strdup(s) : NULL)
 
 char *app_get_data_path(void)
@@ -39,8 +41,18 @@ char *app_get_resource_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)
index 992a4d3..774c40e 100644 (file)
@@ -340,15 +340,32 @@ char *app_get_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);
 
index bef1f42..0ca8575 100644 (file)
@@ -42,6 +42,7 @@ typedef enum {
        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;
 
 /**