/* GIO - GLib Input, Output and Streaming Library
- *
+ *
* Copyright (C) 2006-2007 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
*
* Author: Alexander Larsson <alexl@redhat.com>
*/
#define __G_LOCAL_FILE_OUTPUT_STREAM_H__
#include <gio/gfileoutputstream.h>
-#include <gio/gfile.h>
G_BEGIN_DECLS
-#define G_TYPE_LOCAL_FILE_OUTPUT_STREAM (g_local_file_output_stream_get_type ())
+#define G_TYPE_LOCAL_FILE_OUTPUT_STREAM (_g_local_file_output_stream_get_type ())
#define G_LOCAL_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_LOCAL_FILE_OUTPUT_STREAM, GLocalFileOutputStream))
#define G_LOCAL_FILE_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_LOCAL_FILE_OUTPUT_STREAM, GLocalFileOutputStreamClass))
#define G_IS_LOCAL_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_LOCAL_FILE_OUTPUT_STREAM))
struct _GLocalFileOutputStream
{
- GFileOutputStream parent;
+ GFileOutputStream parent_instance;
/*< private >*/
GLocalFileOutputStreamPrivate *priv;
GFileOutputStreamClass parent_class;
};
-GType g_local_file_output_stream_get_type (void) G_GNUC_CONST;
-GFileOutputStream *g_local_file_output_stream_create (const char *filename,
- GFileCreateFlags flags,
- GCancellable *cancellable,
- GError **error);
-GFileOutputStream *g_local_file_output_stream_append (const char *filename,
- GFileCreateFlags flags,
- GCancellable *cancellable,
- GError **error);
-GFileOutputStream *g_local_file_output_stream_replace (const char *filename,
- const char *etag,
- gboolean create_backup,
- GFileCreateFlags flags,
- GCancellable *cancellable,
- GError **error);
+GType _g_local_file_output_stream_get_type (void) G_GNUC_CONST;
+
+void _g_local_file_output_stream_set_do_close (GLocalFileOutputStream *out,
+ gboolean do_close);
+gboolean _g_local_file_output_stream_really_close (GLocalFileOutputStream *out,
+ GCancellable *cancellable,
+ GError **error);
+
+GFileOutputStream * _g_local_file_output_stream_new (int fd);
+GFileOutputStream * _g_local_file_output_stream_open (const char *filename,
+ gboolean readable,
+ GCancellable *cancellable,
+ GError **error);
+GFileOutputStream * _g_local_file_output_stream_create (const char *filename,
+ gboolean readable,
+ GFileCreateFlags flags,
+ GFileInfo *reference_info,
+ GCancellable *cancellable,
+ GError **error);
+GFileOutputStream * _g_local_file_output_stream_append (const char *filename,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GFileOutputStream * _g_local_file_output_stream_replace (const char *filename,
+ gboolean readable,
+ const char *etag,
+ gboolean create_backup,
+ GFileCreateFlags flags,
+ GFileInfo *reference_info,
+ GCancellable *cancellable,
+ GError **error);
+
+/* Hack to get the fd since GFileDescriptorBased (which is how you
+ * _should_ get the fd) is only available on UNIX but things like
+ * win32 needs this as well
+ */
+gint _g_local_file_output_stream_get_fd (GLocalFileOutputStream *output_stream);
G_END_DECLS