From: pr.jung Date: Tue, 27 Feb 2018 09:08:34 +0000 (+0900) Subject: block: Add GetStatvfs dbus method X-Git-Tag: accepted/tizen/unified/20180307.071336^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc75ac30c74b14b088254042d7bcf6263fd56fed;p=platform%2Fcore%2Fsystem%2Fstoraged.git block: Add GetStatvfs dbus method Change-Id: I2d6f6fa61a8785638624e93ee02992c880da3f70 Signed-off-by: pr.jung --- diff --git a/src/storage/storage.c b/src/storage/storage.c index b18f6db..9e7b368 100644 --- a/src/storage/storage.c +++ b/src/storage/storage.c @@ -320,9 +320,35 @@ static GVariant *dbus_get_storage_status(GDBusConnection *conn, return g_variant_new("(tt)", dTotal, dAvail); } +static GVariant *dbus_getstatvfs(GDBusConnection *conn, + const gchar *sender, const gchar *path, const gchar *iface, const gchar *name, + GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data) +{ + char *str_path; + pid_t pid; + struct statvfs s; + + g_variant_get(param, "(s)", &str_path); + + storage_get_memory_size(str_path, &s); + + pid = dbus_handle_get_sender_pid(NULL, sender); + + _D("[request %d] path %s", pid, str_path); + + g_free(str_path); + + return g_variant_new("(ttttttttttt)", (guint64)(s.f_bsize), (guint64)(s.f_frsize), + (guint64)(s.f_blocks), (guint64)(s.f_bfree), (guint64)(s.f_bavail), + (guint64)(s.f_files), (guint64)(s.f_ffree), (guint64)(s.f_favail), + (guint64)(s.f_fsid), (guint64)(s.f_flag), (guint64)(s.f_namemax)); + +} + static const dbus_method_s storage_methods[] = { { "getstorage", NULL, "tt", dbus_getstatus }, { "GetStatus", "s", "tt", dbus_get_storage_status}, + { "GetStatvfs", "s", "ttttttttttt", dbus_getstatvfs }, /* Add methods here */ };