File indexing completed on 2025-01-18 09:59:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef __G_FILE_IO_STREAM_H__
0024 #define __G_FILE_IO_STREAM_H__
0025
0026 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0027 #error "Only <gio/gio.h> can be included directly."
0028 #endif
0029
0030 #include <gio/giostream.h>
0031
0032 G_BEGIN_DECLS
0033
0034 #define G_TYPE_FILE_IO_STREAM (g_file_io_stream_get_type ())
0035 #define G_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_IO_STREAM, GFileIOStream))
0036 #define G_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass))
0037 #define G_IS_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_IO_STREAM))
0038 #define G_IS_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_IO_STREAM))
0039 #define G_FILE_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass))
0040
0041 typedef struct _GFileIOStreamClass GFileIOStreamClass;
0042 typedef struct _GFileIOStreamPrivate GFileIOStreamPrivate;
0043
0044 struct _GFileIOStream
0045 {
0046 GIOStream parent_instance;
0047
0048
0049 GFileIOStreamPrivate *priv;
0050 };
0051
0052 struct _GFileIOStreamClass
0053 {
0054 GIOStreamClass parent_class;
0055
0056 goffset (* tell) (GFileIOStream *stream);
0057 gboolean (* can_seek) (GFileIOStream *stream);
0058 gboolean (* seek) (GFileIOStream *stream,
0059 goffset offset,
0060 GSeekType type,
0061 GCancellable *cancellable,
0062 GError **error);
0063 gboolean (* can_truncate) (GFileIOStream *stream);
0064 gboolean (* truncate_fn) (GFileIOStream *stream,
0065 goffset size,
0066 GCancellable *cancellable,
0067 GError **error);
0068 GFileInfo * (* query_info) (GFileIOStream *stream,
0069 const char *attributes,
0070 GCancellable *cancellable,
0071 GError **error);
0072 void (* query_info_async) (GFileIOStream *stream,
0073 const char *attributes,
0074 int io_priority,
0075 GCancellable *cancellable,
0076 GAsyncReadyCallback callback,
0077 gpointer user_data);
0078 GFileInfo * (* query_info_finish) (GFileIOStream *stream,
0079 GAsyncResult *result,
0080 GError **error);
0081 char * (* get_etag) (GFileIOStream *stream);
0082
0083
0084 void (*_g_reserved1) (void);
0085 void (*_g_reserved2) (void);
0086 void (*_g_reserved3) (void);
0087 void (*_g_reserved4) (void);
0088 void (*_g_reserved5) (void);
0089 };
0090
0091 GIO_AVAILABLE_IN_ALL
0092 GType g_file_io_stream_get_type (void) G_GNUC_CONST;
0093
0094 GIO_AVAILABLE_IN_ALL
0095 GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream,
0096 const char *attributes,
0097 GCancellable *cancellable,
0098 GError **error);
0099 GIO_AVAILABLE_IN_ALL
0100 void g_file_io_stream_query_info_async (GFileIOStream *stream,
0101 const char *attributes,
0102 int io_priority,
0103 GCancellable *cancellable,
0104 GAsyncReadyCallback callback,
0105 gpointer user_data);
0106 GIO_AVAILABLE_IN_ALL
0107 GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream,
0108 GAsyncResult *result,
0109 GError **error);
0110 GIO_AVAILABLE_IN_ALL
0111 char * g_file_io_stream_get_etag (GFileIOStream *stream);
0112
0113 G_END_DECLS
0114
0115 #endif