From aa66a17e401d73cbe394ed7f99bf73350e9b938b Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 6 Nov 2009 13:33:55 -0500 Subject: Test drive EIOActivity with a simple asynchronous function. Rename e-fsutils to e-file-utils. This is where we'll add asynchronous functions for common file I/O operations with EActivity integration. Start with e_file_replace_contents_async() (and corresponding finish() function). This is a simple wrapper for g_file_replace_contents_async() which also returns an EActivity. It replaces e_write_file_uri(). Also redesign EIOActivity to -contain- a GAsyncResult rather than implement the interface for itself. This is easier for now but I may change my mind again when I figure out how to tie centralized error reporting into the EActivity framework. --- e-util/e-file-utils.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 e-util/e-file-utils.h (limited to 'e-util/e-file-utils.h') diff --git a/e-util/e-file-utils.h b/e-util/e-file-utils.h new file mode 100644 index 0000000000..147b9b5b79 --- /dev/null +++ b/e-util/e-file-utils.h @@ -0,0 +1,49 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see + * + * + * Authors: + * Michael Zucchi + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#ifndef E_FILE_UTILS_H +#define E_FILE_UTILS_H + +#include +#include + +G_BEGIN_DECLS + +EActivity * e_file_replace_contents_async (GFile *file, + const gchar *contents, + gsize length, + const gchar *etag, + gboolean make_backup, + GFileCreateFlags flags, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean e_file_replace_contents_finish (GFile *file, + GAsyncResult *result, + gchar **new_etag, + GError **error); + +glong e_fsutils_usage (const gchar *path); +glong e_fsutils_avail (const gchar *path); + +G_END_DECLS + +#endif /* E_FILE_UTILS_H */ -- cgit v1.2.3