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 */
};