File indexing completed on 2025-01-18 09:59:59
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_SEEKABLE_H__
0024 #define __G_SEEKABLE_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/giotypes.h>
0031
0032 G_BEGIN_DECLS
0033
0034 #define G_TYPE_SEEKABLE (g_seekable_get_type ())
0035 #define G_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SEEKABLE, GSeekable))
0036 #define G_IS_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SEEKABLE))
0037 #define G_SEEKABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_SEEKABLE, GSeekableIface))
0038
0039 typedef struct _GSeekableIface GSeekableIface;
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 struct _GSeekableIface
0053 {
0054 GTypeInterface g_iface;
0055
0056
0057
0058 goffset (* tell) (GSeekable *seekable);
0059
0060 gboolean (* can_seek) (GSeekable *seekable);
0061 gboolean (* seek) (GSeekable *seekable,
0062 goffset offset,
0063 GSeekType type,
0064 GCancellable *cancellable,
0065 GError **error);
0066
0067 gboolean (* can_truncate) (GSeekable *seekable);
0068 gboolean (* truncate_fn) (GSeekable *seekable,
0069 goffset offset,
0070 GCancellable *cancellable,
0071 GError **error);
0072
0073
0074 };
0075
0076 GIO_AVAILABLE_IN_ALL
0077 GType g_seekable_get_type (void) G_GNUC_CONST;
0078
0079 GIO_AVAILABLE_IN_ALL
0080 goffset g_seekable_tell (GSeekable *seekable);
0081 GIO_AVAILABLE_IN_ALL
0082 gboolean g_seekable_can_seek (GSeekable *seekable);
0083 GIO_AVAILABLE_IN_ALL
0084 gboolean g_seekable_seek (GSeekable *seekable,
0085 goffset offset,
0086 GSeekType type,
0087 GCancellable *cancellable,
0088 GError **error);
0089 GIO_AVAILABLE_IN_ALL
0090 gboolean g_seekable_can_truncate (GSeekable *seekable);
0091 GIO_AVAILABLE_IN_ALL
0092 gboolean g_seekable_truncate (GSeekable *seekable,
0093 goffset offset,
0094 GCancellable *cancellable,
0095 GError **error);
0096
0097 G_END_DECLS
0098
0099
0100 #endif