123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535 |
- /* 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
- * 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) any later version.
- *
- * This library 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 this library; if not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Alexander Larsson <[email protected]>
- */
- #ifndef __GIO_TYPES_H__
- #define __GIO_TYPES_H__
- #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
- #error "Only <gio/gio.h> can be included directly."
- #endif
- #include <gio/gioenums.h>
- G_BEGIN_DECLS
- typedef struct _GAppLaunchContext GAppLaunchContext;
- typedef struct _GAppInfo GAppInfo; /* Dummy typedef */
- typedef struct _GAsyncResult GAsyncResult; /* Dummy typedef */
- typedef struct _GAsyncInitable GAsyncInitable;
- typedef struct _GBufferedInputStream GBufferedInputStream;
- typedef struct _GBufferedOutputStream GBufferedOutputStream;
- typedef struct _GCancellable GCancellable;
- typedef struct _GCharsetConverter GCharsetConverter;
- typedef struct _GConverter GConverter;
- typedef struct _GConverterInputStream GConverterInputStream;
- typedef struct _GConverterOutputStream GConverterOutputStream;
- typedef struct _GDataInputStream GDataInputStream;
- typedef struct _GSimplePermission GSimplePermission;
- typedef struct _GZlibCompressor GZlibCompressor;
- typedef struct _GZlibDecompressor GZlibDecompressor;
- typedef struct _GSimpleActionGroup GSimpleActionGroup;
- typedef struct _GRemoteActionGroup GRemoteActionGroup;
- typedef struct _GDBusActionGroup GDBusActionGroup;
- typedef struct _GActionMap GActionMap;
- typedef struct _GActionGroup GActionGroup;
- typedef struct _GPropertyAction GPropertyAction;
- typedef struct _GSimpleAction GSimpleAction;
- typedef struct _GAction GAction;
- typedef struct _GApplication GApplication;
- typedef struct _GApplicationCommandLine GApplicationCommandLine;
- typedef struct _GSettingsBackend GSettingsBackend;
- typedef struct _GSettings GSettings;
- typedef struct _GPermission GPermission;
- typedef struct _GMenuModel GMenuModel;
- typedef struct _GNotification GNotification;
- /**
- * GDrive:
- *
- * Opaque drive object.
- **/
- typedef struct _GDrive GDrive; /* Dummy typedef */
- typedef struct _GFileEnumerator GFileEnumerator;
- typedef struct _GFileMonitor GFileMonitor;
- typedef struct _GFilterInputStream GFilterInputStream;
- typedef struct _GFilterOutputStream GFilterOutputStream;
- /**
- * GFile:
- *
- * A handle to an object implementing the #GFileIface interface.
- * Generally stores a location within the file system. Handles do not
- * necessarily represent files or directories that currently exist.
- **/
- typedef struct _GFile GFile; /* Dummy typedef */
- typedef struct _GFileInfo GFileInfo;
- /**
- * GFileAttributeMatcher:
- *
- * Determines if a string matches a file attribute.
- **/
- typedef struct _GFileAttributeMatcher GFileAttributeMatcher;
- typedef struct _GFileAttributeInfo GFileAttributeInfo;
- typedef struct _GFileAttributeInfoList GFileAttributeInfoList;
- typedef struct _GFileDescriptorBased GFileDescriptorBased;
- typedef struct _GFileInputStream GFileInputStream;
- typedef struct _GFileOutputStream GFileOutputStream;
- typedef struct _GFileIOStream GFileIOStream;
- typedef struct _GFileIcon GFileIcon;
- typedef struct _GFilenameCompleter GFilenameCompleter;
- typedef struct _GIcon GIcon; /* Dummy typedef */
- typedef struct _GInetAddress GInetAddress;
- typedef struct _GInetAddressMask GInetAddressMask;
- typedef struct _GInetSocketAddress GInetSocketAddress;
- typedef struct _GInputStream GInputStream;
- typedef struct _GInitable GInitable;
- typedef struct _GIOModule GIOModule;
- typedef struct _GIOExtensionPoint GIOExtensionPoint;
- typedef struct _GIOExtension GIOExtension;
- /**
- * GIOSchedulerJob:
- *
- * Opaque class for defining and scheduling IO jobs.
- **/
- typedef struct _GIOSchedulerJob GIOSchedulerJob;
- typedef struct _GIOStreamAdapter GIOStreamAdapter;
- typedef struct _GLoadableIcon GLoadableIcon; /* Dummy typedef */
- typedef struct _GBytesIcon GBytesIcon;
- typedef struct _GMemoryInputStream GMemoryInputStream;
- typedef struct _GMemoryOutputStream GMemoryOutputStream;
- /**
- * GMount:
- *
- * A handle to an object implementing the #GMountIface interface.
- **/
- typedef struct _GMount GMount; /* Dummy typedef */
- typedef struct _GMountOperation GMountOperation;
- typedef struct _GNetworkAddress GNetworkAddress;
- typedef struct _GNetworkMonitor GNetworkMonitor;
- typedef struct _GNetworkService GNetworkService;
- typedef struct _GOutputStream GOutputStream;
- typedef struct _GIOStream GIOStream;
- typedef struct _GPollableInputStream GPollableInputStream; /* Dummy typedef */
- typedef struct _GPollableOutputStream GPollableOutputStream; /* Dummy typedef */
- typedef struct _GResolver GResolver;
- /**
- * GResource:
- *
- * A resource bundle.
- *
- * Since: 2.32
- */
- typedef struct _GResource GResource;
- typedef struct _GSeekable GSeekable;
- typedef struct _GSimpleAsyncResult GSimpleAsyncResult;
- /**
- * GSocket:
- *
- * A lowlevel network socket object.
- *
- * Since: 2.22
- **/
- typedef struct _GSocket GSocket;
- /**
- * GSocketControlMessage:
- *
- * Base class for socket-type specific control messages that can be sent and
- * received over #GSocket.
- **/
- typedef struct _GSocketControlMessage GSocketControlMessage;
- /**
- * GSocketClient:
- *
- * A helper class for network clients to make connections.
- *
- * Since: 2.22
- **/
- typedef struct _GSocketClient GSocketClient;
- /**
- * GSocketConnection:
- *
- * A socket connection GIOStream object for connection-oriented sockets.
- *
- * Since: 2.22
- **/
- typedef struct _GSocketConnection GSocketConnection;
- /**
- * GSocketListener:
- *
- * A helper class for network servers to listen for and accept connections.
- *
- * Since: 2.22
- **/
- typedef struct _GSocketListener GSocketListener;
- /**
- * GSocketService:
- *
- * A helper class for handling accepting incomming connections in the
- * glib mainloop.
- *
- * Since: 2.22
- **/
- typedef struct _GSocketService GSocketService;
- typedef struct _GSocketAddress GSocketAddress;
- typedef struct _GSocketAddressEnumerator GSocketAddressEnumerator;
- typedef struct _GSocketConnectable GSocketConnectable;
- typedef struct _GSrvTarget GSrvTarget;
- typedef struct _GTask GTask;
- /**
- * GTcpConnection:
- *
- * A #GSocketConnection for TCP/IP connections.
- *
- * Since: 2.22
- **/
- typedef struct _GTcpConnection GTcpConnection;
- typedef struct _GTcpWrapperConnection GTcpWrapperConnection;
- /**
- * GThreadedSocketService:
- *
- * A helper class for handling accepting incoming connections in the
- * glib mainloop and handling them in a thread.
- *
- * Since: 2.22
- **/
- typedef struct _GThreadedSocketService GThreadedSocketService;
- typedef struct _GThemedIcon GThemedIcon;
- typedef struct _GTlsCertificate GTlsCertificate;
- typedef struct _GTlsClientConnection GTlsClientConnection; /* Dummy typedef */
- typedef struct _GTlsConnection GTlsConnection;
- typedef struct _GTlsDatabase GTlsDatabase;
- typedef struct _GTlsFileDatabase GTlsFileDatabase;
- typedef struct _GTlsInteraction GTlsInteraction;
- typedef struct _GTlsPassword GTlsPassword;
- typedef struct _GTlsServerConnection GTlsServerConnection; /* Dummy typedef */
- typedef struct _GVfs GVfs; /* Dummy typedef */
- /**
- * GProxyResolver:
- *
- * A helper class to enumerate proxies base on URI.
- *
- * Since: 2.26
- **/
- typedef struct _GProxyResolver GProxyResolver;
- typedef struct _GProxy GProxy;
- typedef struct _GProxyAddress GProxyAddress;
- typedef struct _GProxyAddressEnumerator GProxyAddressEnumerator;
- /**
- * GVolume:
- *
- * Opaque mountable volume object.
- **/
- typedef struct _GVolume GVolume; /* Dummy typedef */
- typedef struct _GVolumeMonitor GVolumeMonitor;
- /**
- * GAsyncReadyCallback:
- * @source_object: the object the asynchronous operation was started with.
- * @res: a #GAsyncResult.
- * @user_data: user data passed to the callback.
- *
- * Type definition for a function that will be called back when an asynchronous
- * operation within GIO has been completed.
- **/
- typedef void (*GAsyncReadyCallback) (GObject *source_object,
- GAsyncResult *res,
- gpointer user_data);
- /**
- * GFileProgressCallback:
- * @current_num_bytes: the current number of bytes in the operation.
- * @total_num_bytes: the total number of bytes in the operation.
- * @user_data: user data passed to the callback.
- *
- * When doing file operations that may take a while, such as moving
- * a file or copying a file, a progress callback is used to pass how
- * far along that operation is to the application.
- **/
- typedef void (*GFileProgressCallback) (goffset current_num_bytes,
- goffset total_num_bytes,
- gpointer user_data);
- /**
- * GFileReadMoreCallback:
- * @file_contents: the data as currently read.
- * @file_size: the size of the data currently read.
- * @callback_data: data passed to the callback.
- *
- * When loading the partial contents of a file with g_file_load_partial_contents_async(),
- * it may become necessary to determine if any more data from the file should be loaded.
- * A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data
- * should be read, or %FALSE otherwise.
- *
- * Returns: %TRUE if more data should be read back. %FALSE otherwise.
- **/
- typedef gboolean (* GFileReadMoreCallback) (const char *file_contents,
- goffset file_size,
- gpointer callback_data);
- /**
- * GFileMeasureProgressCallback:
- * @reporting: %TRUE if more reports will come
- * @current_size: the current cumulative size measurement
- * @num_dirs: the number of directories visited so far
- * @num_files: the number of non-directory files encountered
- * @user_data: the data passed to the original request for this callback
- *
- * This callback type is used by g_file_measure_disk_usage() to make
- * periodic progress reports when measuring the amount of disk spaced
- * used by a directory.
- *
- * These calls are made on a best-effort basis and not all types of
- * #GFile will support them. At the minimum, however, one call will
- * always be made immediately.
- *
- * In the case that there is no support, @reporting will be set to
- * %FALSE (and the other values undefined) and no further calls will be
- * made. Otherwise, the @reporting will be %TRUE and the other values
- * all-zeros during the first (immediate) call. In this way, you can
- * know which type of progress UI to show without a delay.
- *
- * For g_file_measure_disk_usage() the callback is made directly. For
- * g_file_measure_disk_usage_async() the callback is made via the
- * default main context of the calling thread (ie: the same way that the
- * final async result would be reported).
- *
- * @current_size is in the same units as requested by the operation (see
- * %G_FILE_DISK_USAGE_APPARENT_SIZE).
- *
- * The frequency of the updates is implementation defined, but is
- * ideally about once every 200ms.
- *
- * The last progress callback may or may not be equal to the final
- * result. Always check the async result to get the final value.
- *
- * Since: 2.38
- **/
- typedef void (* GFileMeasureProgressCallback) (gboolean reporting,
- guint64 current_size,
- guint64 num_dirs,
- guint64 num_files,
- gpointer user_data);
- /**
- * GIOSchedulerJobFunc:
- * @job: a #GIOSchedulerJob.
- * @cancellable: optional #GCancellable object, %NULL to ignore.
- * @user_data: the data to pass to callback function
- *
- * I/O Job function.
- *
- * Long-running jobs should periodically check the @cancellable
- * to see if they have been cancelled.
- *
- * Returns: %TRUE if this function should be called again to
- * complete the job, %FALSE if the job is complete (or cancelled)
- **/
- typedef gboolean (*GIOSchedulerJobFunc) (GIOSchedulerJob *job,
- GCancellable *cancellable,
- gpointer user_data);
- /**
- * GSimpleAsyncThreadFunc:
- * @res: a #GSimpleAsyncResult.
- * @object: a #GObject.
- * @cancellable: optional #GCancellable object, %NULL to ignore.
- *
- * Simple thread function that runs an asynchronous operation and
- * checks for cancellation.
- **/
- typedef void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res,
- GObject *object,
- GCancellable *cancellable);
- /**
- * GSocketSourceFunc:
- * @socket: the #GSocket
- * @condition: the current condition at the source fired.
- * @user_data: data passed in by the user.
- *
- * This is the function type of the callback used for the #GSource
- * returned by g_socket_create_source().
- *
- * Returns: it should return %FALSE if the source should be removed.
- *
- * Since: 2.22
- */
- typedef gboolean (*GSocketSourceFunc) (GSocket *socket,
- GIOCondition condition,
- gpointer user_data);
- /**
- * GInputVector:
- * @buffer: Pointer to a buffer where data will be written.
- * @size: the available size in @buffer.
- *
- * Structure used for scatter/gather data input.
- * You generally pass in an array of #GInputVector<!-- -->s
- * and the operation will store the read data starting in the
- * first buffer, switching to the next as needed.
- *
- * Since: 2.22
- */
- typedef struct _GInputVector GInputVector;
- struct _GInputVector {
- gpointer buffer;
- gsize size;
- };
- /**
- * GOutputVector:
- * @buffer: Pointer to a buffer of data to read.
- * @size: the size of @buffer.
- *
- * Structure used for scatter/gather data output.
- * You generally pass in an array of #GOutputVector<!-- -->s
- * and the operation will use all the buffers as if they were
- * one buffer.
- *
- * Since: 2.22
- */
- typedef struct _GOutputVector GOutputVector;
- struct _GOutputVector {
- gconstpointer buffer;
- gsize size;
- };
- typedef struct _GCredentials GCredentials;
- typedef struct _GUnixCredentialsMessage GUnixCredentialsMessage;
- typedef struct _GUnixFDList GUnixFDList;
- typedef struct _GDBusMessage GDBusMessage;
- typedef struct _GDBusConnection GDBusConnection;
- typedef struct _GDBusProxy GDBusProxy;
- typedef struct _GDBusMethodInvocation GDBusMethodInvocation;
- typedef struct _GDBusServer GDBusServer;
- typedef struct _GDBusAuthObserver GDBusAuthObserver;
- typedef struct _GDBusErrorEntry GDBusErrorEntry;
- typedef struct _GDBusInterfaceVTable GDBusInterfaceVTable;
- typedef struct _GDBusSubtreeVTable GDBusSubtreeVTable;
- typedef struct _GDBusAnnotationInfo GDBusAnnotationInfo;
- typedef struct _GDBusArgInfo GDBusArgInfo;
- typedef struct _GDBusMethodInfo GDBusMethodInfo;
- typedef struct _GDBusSignalInfo GDBusSignalInfo;
- typedef struct _GDBusPropertyInfo GDBusPropertyInfo;
- typedef struct _GDBusInterfaceInfo GDBusInterfaceInfo;
- typedef struct _GDBusNodeInfo GDBusNodeInfo;
- /**
- * GCancellableSourceFunc:
- * @cancellable: the #GCancellable
- * @user_data: data passed in by the user.
- *
- * This is the function type of the callback used for the #GSource
- * returned by g_cancellable_source_new().
- *
- * Returns: it should return %FALSE if the source should be removed.
- *
- * Since: 2.28
- */
- typedef gboolean (*GCancellableSourceFunc) (GCancellable *cancellable,
- gpointer user_data);
- /**
- * GPollableSourceFunc:
- * @pollable_stream: the #GPollableInputStream or #GPollableOutputStream
- * @user_data: data passed in by the user.
- *
- * This is the function type of the callback used for the #GSource
- * returned by g_pollable_input_stream_create_source() and
- * g_pollable_output_stream_create_source().
- *
- * Returns: it should return %FALSE if the source should be removed.
- *
- * Since: 2.28
- */
- typedef gboolean (*GPollableSourceFunc) (GObject *pollable_stream,
- gpointer user_data);
- typedef struct _GDBusInterface GDBusInterface; /* Dummy typedef */
- typedef struct _GDBusInterfaceSkeleton GDBusInterfaceSkeleton;
- typedef struct _GDBusObject GDBusObject; /* Dummy typedef */
- typedef struct _GDBusObjectSkeleton GDBusObjectSkeleton;
- typedef struct _GDBusObjectProxy GDBusObjectProxy;
- typedef struct _GDBusObjectManager GDBusObjectManager; /* Dummy typedef */
- typedef struct _GDBusObjectManagerClient GDBusObjectManagerClient;
- typedef struct _GDBusObjectManagerServer GDBusObjectManagerServer;
- /**
- * GDBusProxyTypeFunc:
- * @manager: A #GDBusObjectManagerClient.
- * @object_path: The object path of the remote object.
- * @interface_name: (allow-none): The interface name of the remote object or %NULL if a #GDBusObjectProxy #GType is requested.
- * @user_data: User data.
- *
- * Function signature for a function used to determine the #GType to
- * use for an interface proxy (if @interface_name is not %NULL) or
- * object proxy (if @interface_name is %NULL).
- *
- * This function is called in the
- * <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
- * that @manager was constructed in.
- *
- * Returns: A #GType to use for the remote object. The returned type
- * must be a #GDBusProxy<!-- -->- or #GDBusObjectProxy<!-- -->-derived
- * type.
- *
- * Since: 2.30
- */
- typedef GType (*GDBusProxyTypeFunc) (GDBusObjectManagerClient *manager,
- const gchar *object_path,
- const gchar *interface_name,
- gpointer user_data);
- typedef struct _GTestDBus GTestDBus;
- /**
- * GSubprocess:
- *
- * A child process.
- *
- * Since: 2.40
- */
- typedef struct _GSubprocess GSubprocess;
- /**
- * GSubprocessLauncher:
- *
- * Options for launching a child process.
- *
- * Since: 2.36
- */
- typedef struct _GSubprocessLauncher GSubprocessLauncher;
- G_END_DECLS
- #endif /* __GIO_TYPES_H__ */
|