*/
#include <tizen.h>
-#include <tzplatform_config.h>
#include "storage.h"
#define STORAGE_ERROR_NO_DEVICE TIZEN_ERROR_NO_SUCH_DEVICE
int storage_get_compat_internal_path(const char* origin, int len, char* compat);
int storage_get_origin_internal_path(const char* compat, int len, char* origin);
-int storage_get_storage_level(enum tzplatform_variable id, char **level);
+int storage_get_storage_level(const char *path, char **level);
/**
* @}
#include <assert.h>
#include <limits.h>
#include <sys/statvfs.h>
+#include <tzplatform_config.h>
#include "log.h"
#include "storage-external-dbus.h"
return 0;
}
-int storage_ext_get_storage_level(enum tzplatform_variable id, char **level)
+int storage_ext_get_storage_level(const char *path, char **level)
{
GVariant *result;
char *tmp;
+ enum tzplatform_variable id;
+
+ if (!strcmp(path, tzplatform_getenv(TZ_SYS_USER)))
+ id = TZ_SYS_USER;
+ else if (!strcmp(path, tzplatform_getenv(TZ_SYS_TMP)))
+ id = TZ_SYS_TMP;
+ else if (!strcmp(path, tzplatform_getenv(TZ_SYS_OPT)))
+ id = TZ_SYS_OPT;
+ else {
+ _E("Invalid path");
+ return -EINVAL;
+ }
result = dbus_method_call_sync(STORAGE_EXT_BUS_NAME,
STORAGE_EXT_PATH_STORAGE,
#include <stdbool.h>
#include <glib.h>
#include <gio/gio.h>
-#include <tzplatform_config.h>
#include "list.h"
#define STORAGE_EXT_BUS_NAME "org.tizen.system.storage"
void storage_ext_unregister_device_change(storage_ext_changed_cb func);
int storage_ext_get_device_info(int storage_id, storage_ext_device *info);
-int storage_ext_get_storage_level(enum tzplatform_variable id, char **level);
+int storage_ext_get_storage_level(const char *path, char **level);
/* storage-internal.c */
GVariant *dbus_method_call_sync(const gchar *dest, const gchar *path,
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <tzplatform_config.h>
#include "common.h"
#include "list.h"
return STORAGE_ERROR_NONE;
}
-API int storage_get_storage_level(enum tzplatform_variable id, char **level)
+API int storage_get_storage_level(const char *path, char **level)
{
int ret;
- if (!level)
+ if (!level || !path)
return STORAGE_ERROR_INVALID_PARAMETER;
- if (id != TZ_SYS_USER || id != TZ_SYS_TMP || id != TZ_SYS_OPT)
- return STORAGE_ERROR_INVALID_PARAMETER;
-
- ret = storage_ext_get_storage_level(id, level);
+ ret = storage_ext_get_storage_level(path, level);
if (ret == -ENOMEM)
return STORAGE_ERROR_OUT_OF_MEMORY; //LCOV_EXCL_LINE System Error
+ else if (ret == -EINVAL)
+ return STORAGE_ERROR_INVALID_PARAMETER;
else if (ret < 0)
return STORAGE_ERROR_OPERATION_FAILED;