#ifdef SUPPORT_CHECK_IPC
#include <sys/ioctl.h>
#endif
+#include <storage-internal.h>
#define DP_CHECK_CONNECTION do {\
int dp_errorcode = __check_connections();\
}\
} while(0)
+#define DOWNLOAD_FILENAME_MAX 256
+
// define type
typedef struct {
int channel; // query & response
int dp_interface_set_destination(const int id, const char *path)
{
+ char set_filename[DOWNLOAD_FILENAME_MAX] = {0, };
+
if (path == NULL)
return __dp_ipc_echo(id, DP_SEC_UNSET, DP_PROP_DESTINATION, __FUNCTION__);
+
+ if (storage_get_origin_internal_path(path, DOWNLOAD_FILENAME_MAX, set_filename) == 0) {
+ /* Converted. Use converted path. */
+ TRACE_ERROR("Converted filename : %s -> %s", path, set_filename);
+ return __dp_ipc_set_string(id, DP_SEC_SET, DP_PROP_DESTINATION, set_filename, __FUNCTION__);
+ }
return __dp_ipc_set_string(id, DP_SEC_SET, DP_PROP_DESTINATION, path, __FUNCTION__);
}
int dp_interface_get_destination(const int id, char **path)
{
- return __dp_ipc_get_string(id, DP_PROP_DESTINATION, path, __FUNCTION__);
+ char compat_filename[DOWNLOAD_FILENAME_MAX] = {0, };
+ int ret = 0;
+
+ ret = __dp_ipc_get_string(id, DP_PROP_DESTINATION, path, __FUNCTION__);
+
+ if (storage_get_compat_internal_path(*path, DOWNLOAD_FILENAME_MAX, compat_filename) == 0) {
+ /* Converted. Use converted path. */
+ TRACE_ERROR("Converted filename : %s -> %s", *path, compat_filename);
+ *path = strdup(compat_filename);
+ }
+ return ret;
}
int dp_interface_set_file_name(const int id, const char *file_name)
int dp_interface_get_downloaded_file_path(const int id, char **path)
{
- return __dp_ipc_get_string(id, DP_PROP_SAVED_PATH, path, __FUNCTION__);
+ char compat_filename[DOWNLOAD_FILENAME_MAX] = {0, };
+ int ret = 0;
+
+ ret = __dp_ipc_get_string(id, DP_PROP_SAVED_PATH, path, __FUNCTION__);
+
+ if (storage_get_compat_internal_path(*path, DOWNLOAD_FILENAME_MAX, compat_filename) == 0) {
+ /* Converted. Use converted path. */
+ TRACE_ERROR("Converted filename : %s -> %s", *path, compat_filename);
+ *path = strdup(compat_filename);
+ }
+ return ret;
}
int dp_interface_get_temp_path(const int id, char **temp_path)
{
- return __dp_ipc_get_string(id, DP_PROP_TEMP_SAVED_PATH, temp_path, __FUNCTION__);
+ char compat_filename[DOWNLOAD_FILENAME_MAX] = {0, };
+ int ret = 0;
+
+ ret = __dp_ipc_get_string(id, DP_PROP_TEMP_SAVED_PATH, temp_path, __FUNCTION__);
+
+ if (storage_get_compat_internal_path(*temp_path, DOWNLOAD_FILENAME_MAX, compat_filename) == 0) {
+ /* Converted. Use converted path. */
+ TRACE_ERROR("Converted filename : %s -> %s", *temp_path, compat_filename);
+ *temp_path = strdup(compat_filename);
+ }
+ return ret;
}
int dp_interface_get_content_name(const int id, char **content_name)
int dp_interface_set_temp_file_path(const int id, const char *path)
{
+ char set_filename[DOWNLOAD_FILENAME_MAX] = {0, };
+
+ if (storage_get_origin_internal_path(path, DOWNLOAD_FILENAME_MAX, set_filename) == 0) {
+ /* Converted. Use converted path. */
+ TRACE_ERROR("Converted filename : %s -> %s", path, set_filename);
+ return __dp_ipc_set_string(id, DP_SEC_SET, DP_PROP_TEMP_SAVED_PATH, set_filename, __FUNCTION__);
+ }
return __dp_ipc_set_string(id, DP_SEC_SET, DP_PROP_TEMP_SAVED_PATH, path, __FUNCTION__);
}