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_ENUMERATOR_H__
0024 #define __G_FILE_ENUMERATOR_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_FILE_ENUMERATOR (g_file_enumerator_get_type ())
0035 #define G_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumerator))
0036 #define G_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass))
0037 #define G_IS_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_ENUMERATOR))
0038 #define G_IS_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_ENUMERATOR))
0039 #define G_FILE_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass))
0040
0041 typedef struct _GFileEnumeratorClass GFileEnumeratorClass;
0042 typedef struct _GFileEnumeratorPrivate GFileEnumeratorPrivate;
0043
0044 struct _GFileEnumerator
0045 {
0046 GObject parent_instance;
0047
0048
0049 GFileEnumeratorPrivate *priv;
0050 };
0051
0052 struct _GFileEnumeratorClass
0053 {
0054 GObjectClass parent_class;
0055
0056
0057
0058 GFileInfo * (* next_file) (GFileEnumerator *enumerator,
0059 GCancellable *cancellable,
0060 GError **error);
0061 gboolean (* close_fn) (GFileEnumerator *enumerator,
0062 GCancellable *cancellable,
0063 GError **error);
0064
0065 void (* next_files_async) (GFileEnumerator *enumerator,
0066 int num_files,
0067 int io_priority,
0068 GCancellable *cancellable,
0069 GAsyncReadyCallback callback,
0070 gpointer user_data);
0071 GList * (* next_files_finish) (GFileEnumerator *enumerator,
0072 GAsyncResult *result,
0073 GError **error);
0074 void (* close_async) (GFileEnumerator *enumerator,
0075 int io_priority,
0076 GCancellable *cancellable,
0077 GAsyncReadyCallback callback,
0078 gpointer user_data);
0079 gboolean (* close_finish) (GFileEnumerator *enumerator,
0080 GAsyncResult *result,
0081 GError **error);
0082
0083
0084
0085 void (*_g_reserved1) (void);
0086 void (*_g_reserved2) (void);
0087 void (*_g_reserved3) (void);
0088 void (*_g_reserved4) (void);
0089 void (*_g_reserved5) (void);
0090 void (*_g_reserved6) (void);
0091 void (*_g_reserved7) (void);
0092 };
0093
0094 GIO_AVAILABLE_IN_ALL
0095 GType g_file_enumerator_get_type (void) G_GNUC_CONST;
0096
0097 GIO_AVAILABLE_IN_ALL
0098 GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator,
0099 GCancellable *cancellable,
0100 GError **error);
0101 GIO_AVAILABLE_IN_ALL
0102 gboolean g_file_enumerator_close (GFileEnumerator *enumerator,
0103 GCancellable *cancellable,
0104 GError **error);
0105 GIO_AVAILABLE_IN_ALL
0106 void g_file_enumerator_next_files_async (GFileEnumerator *enumerator,
0107 int num_files,
0108 int io_priority,
0109 GCancellable *cancellable,
0110 GAsyncReadyCallback callback,
0111 gpointer user_data);
0112 GIO_AVAILABLE_IN_ALL
0113 GList * g_file_enumerator_next_files_finish (GFileEnumerator *enumerator,
0114 GAsyncResult *result,
0115 GError **error);
0116 GIO_AVAILABLE_IN_ALL
0117 void g_file_enumerator_close_async (GFileEnumerator *enumerator,
0118 int io_priority,
0119 GCancellable *cancellable,
0120 GAsyncReadyCallback callback,
0121 gpointer user_data);
0122 GIO_AVAILABLE_IN_ALL
0123 gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator,
0124 GAsyncResult *result,
0125 GError **error);
0126 GIO_AVAILABLE_IN_ALL
0127 gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator);
0128 GIO_AVAILABLE_IN_ALL
0129 gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator);
0130 GIO_AVAILABLE_IN_ALL
0131 void g_file_enumerator_set_pending (GFileEnumerator *enumerator,
0132 gboolean pending);
0133 GIO_AVAILABLE_IN_ALL
0134 GFile * g_file_enumerator_get_container (GFileEnumerator *enumerator);
0135 GIO_AVAILABLE_IN_2_36
0136 GFile * g_file_enumerator_get_child (GFileEnumerator *enumerator,
0137 GFileInfo *info);
0138
0139 GIO_AVAILABLE_IN_2_44
0140 gboolean g_file_enumerator_iterate (GFileEnumerator *direnum,
0141 GFileInfo **out_info,
0142 GFile **out_child,
0143 GCancellable *cancellable,
0144 GError **error);
0145
0146
0147 G_END_DECLS
0148
0149 #endif