Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:59:58

0001 /* GIO - GLib Input, Output and Streaming Library
0002  *
0003  * Copyright (C) 2006-2007 Red Hat, Inc.
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-or-later
0006  *
0007  * This library is free software; you can redistribute it and/or
0008  * modify it under the terms of the GNU Lesser General Public
0009  * License as published by the Free Software Foundation; either
0010  * version 2.1 of the License, or (at your option) any later version.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Lesser General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Lesser General
0018  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
0019  *
0020  * Author: Alexander Larsson <alexl@redhat.com>
0021  */
0022 
0023 #ifndef __GIO_TYPES_H__
0024 #define __GIO_TYPES_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/gioenums.h>
0031 
0032 G_BEGIN_DECLS
0033 
0034 typedef struct _GAppLaunchContext             GAppLaunchContext;
0035 typedef struct _GAppInfo                      GAppInfo; /* Dummy typedef */
0036 typedef struct _GAsyncResult                  GAsyncResult; /* Dummy typedef */
0037 typedef struct _GAsyncInitable                GAsyncInitable;
0038 typedef struct _GBufferedInputStream          GBufferedInputStream;
0039 typedef struct _GBufferedOutputStream         GBufferedOutputStream;
0040 typedef struct _GCancellable                  GCancellable;
0041 typedef struct _GCharsetConverter             GCharsetConverter;
0042 typedef struct _GConverter                    GConverter;
0043 typedef struct _GConverterInputStream         GConverterInputStream;
0044 typedef struct _GConverterOutputStream        GConverterOutputStream;
0045 typedef struct _GDatagramBased                GDatagramBased;
0046 typedef struct _GDataInputStream              GDataInputStream;
0047 typedef struct _GSimplePermission             GSimplePermission;
0048 typedef struct _GZlibCompressor               GZlibCompressor;
0049 typedef struct _GZlibDecompressor             GZlibDecompressor;
0050 
0051 typedef struct _GSimpleActionGroup            GSimpleActionGroup;
0052 typedef struct _GRemoteActionGroup            GRemoteActionGroup;
0053 typedef struct _GDBusActionGroup              GDBusActionGroup;
0054 typedef struct _GActionMap                    GActionMap;
0055 typedef struct _GActionGroup                  GActionGroup;
0056 typedef struct _GPropertyAction               GPropertyAction;
0057 typedef struct _GSimpleAction                 GSimpleAction;
0058 typedef struct _GAction                       GAction;
0059 typedef struct _GApplication                  GApplication;
0060 typedef struct _GApplicationCommandLine       GApplicationCommandLine;
0061 typedef struct _GSettingsBackend              GSettingsBackend;
0062 typedef struct _GSettings                     GSettings;
0063 typedef struct _GPermission                   GPermission;
0064 
0065 typedef struct _GMenuModel                    GMenuModel;
0066 typedef struct _GNotification                 GNotification;
0067 
0068 typedef struct _GDrive                        GDrive; /* Dummy typedef */
0069 typedef struct _GFileEnumerator               GFileEnumerator;
0070 typedef struct _GFileMonitor                  GFileMonitor;
0071 typedef struct _GFilterInputStream            GFilterInputStream;
0072 typedef struct _GFilterOutputStream           GFilterOutputStream;
0073 
0074 typedef struct _GFile                         GFile; /* Dummy typedef */
0075 typedef struct _GFileInfo                     GFileInfo;
0076 
0077 /**
0078  * GFileAttributeMatcher:
0079  *
0080  * Determines if a string matches a file attribute.
0081  **/
0082 typedef struct _GFileAttributeMatcher         GFileAttributeMatcher;
0083 typedef struct _GFileAttributeInfo            GFileAttributeInfo;
0084 typedef struct _GFileAttributeInfoList        GFileAttributeInfoList;
0085 typedef struct _GFileInputStream              GFileInputStream;
0086 typedef struct _GFileOutputStream             GFileOutputStream;
0087 typedef struct _GFileIOStream                 GFileIOStream;
0088 typedef struct _GFileIcon                     GFileIcon;
0089 typedef struct _GFilenameCompleter            GFilenameCompleter;
0090 
0091 
0092 typedef struct _GIcon                         GIcon; /* Dummy typedef */
0093 typedef struct _GInetAddress                  GInetAddress;
0094 typedef struct _GInetAddressMask              GInetAddressMask;
0095 typedef struct _GInetSocketAddress            GInetSocketAddress;
0096 typedef struct _GNativeSocketAddress          GNativeSocketAddress;
0097 typedef struct _GInputStream                  GInputStream;
0098 typedef struct _GInitable                     GInitable;
0099 typedef struct _GIOModule                     GIOModule;
0100 typedef struct _GIOExtensionPoint             GIOExtensionPoint;
0101 typedef struct _GIOExtension                  GIOExtension;
0102 
0103 /**
0104  * GIOSchedulerJob:
0105  *
0106  * Opaque class for defining and scheduling IO jobs.
0107  *
0108  * Deprecated: 2.36: Use [struct@GLib.ThreadPool] or
0109  *   [method@Gio.Task.run_in_thread]
0110  **/
0111 typedef struct _GIOSchedulerJob               GIOSchedulerJob;
0112 typedef struct _GIOStreamAdapter              GIOStreamAdapter;
0113 typedef struct _GLoadableIcon                 GLoadableIcon; /* Dummy typedef */
0114 typedef struct _GBytesIcon                    GBytesIcon;
0115 typedef struct _GMemoryInputStream            GMemoryInputStream;
0116 typedef struct _GMemoryOutputStream           GMemoryOutputStream;
0117 
0118 typedef struct _GMount                        GMount; /* Dummy typedef */
0119 typedef struct _GMountOperation               GMountOperation;
0120 typedef struct _GNetworkAddress               GNetworkAddress;
0121 typedef struct _GNetworkMonitor               GNetworkMonitor;
0122 typedef struct _GNetworkService               GNetworkService;
0123 typedef struct _GOutputStream                 GOutputStream;
0124 typedef struct _GIOStream                     GIOStream;
0125 typedef struct _GSimpleIOStream               GSimpleIOStream;
0126 typedef struct _GPollableInputStream          GPollableInputStream; /* Dummy typedef */
0127 typedef struct _GPollableOutputStream         GPollableOutputStream; /* Dummy typedef */
0128 typedef struct _GResolver                     GResolver;
0129 
0130 typedef struct _GResource                     GResource;
0131 typedef struct _GSeekable                     GSeekable;
0132 typedef struct _GSimpleAsyncResult            GSimpleAsyncResult;
0133 
0134 typedef struct _GSocket                       GSocket;
0135 
0136 typedef struct _GSocketControlMessage         GSocketControlMessage;
0137 typedef struct _GSocketClient                               GSocketClient;
0138 typedef struct _GSocketConnection                           GSocketConnection;
0139 typedef struct _GSocketListener                             GSocketListener;
0140 typedef struct _GSocketService                              GSocketService;
0141 typedef struct _GSocketAddress                GSocketAddress;
0142 typedef struct _GSocketAddressEnumerator      GSocketAddressEnumerator;
0143 typedef struct _GSocketConnectable            GSocketConnectable;
0144 typedef struct _GSrvTarget                    GSrvTarget;
0145 typedef struct _GTask                         GTask;
0146 typedef struct _GTcpConnection                              GTcpConnection;
0147 typedef struct _GTcpWrapperConnection                       GTcpWrapperConnection;
0148 typedef struct _GThreadedSocketService                      GThreadedSocketService;
0149 typedef struct _GDtlsConnection               GDtlsConnection;
0150 typedef struct _GDtlsClientConnection         GDtlsClientConnection; /* Dummy typedef */
0151 typedef struct _GDtlsServerConnection         GDtlsServerConnection; /* Dummy typedef */
0152 typedef struct _GThemedIcon                   GThemedIcon;
0153 typedef struct _GTlsCertificate               GTlsCertificate;
0154 typedef struct _GTlsClientConnection          GTlsClientConnection; /* Dummy typedef */
0155 typedef struct _GTlsConnection                GTlsConnection;
0156 typedef struct _GTlsDatabase                  GTlsDatabase;
0157 typedef struct _GTlsFileDatabase              GTlsFileDatabase;
0158 typedef struct _GTlsInteraction               GTlsInteraction;
0159 typedef struct _GTlsPassword                  GTlsPassword;
0160 typedef struct _GTlsServerConnection          GTlsServerConnection; /* Dummy typedef */
0161 typedef struct _GVfs                          GVfs; /* Dummy typedef */
0162 
0163 typedef struct _GProxyResolver                GProxyResolver;
0164 typedef struct _GProxy                GProxy;
0165 typedef struct _GProxyAddress             GProxyAddress;
0166 typedef struct _GProxyAddressEnumerator       GProxyAddressEnumerator;
0167 
0168 typedef struct _GVolume                       GVolume; /* Dummy typedef */
0169 typedef struct _GVolumeMonitor                GVolumeMonitor;
0170 
0171 /**
0172  * GAsyncReadyCallback:
0173  * @source_object: (nullable): the object the asynchronous operation was started with.
0174  * @res: a #GAsyncResult.
0175  * @data: user data passed to the callback.
0176  *
0177  * Type definition for a function that will be called back when an asynchronous
0178  * operation within GIO has been completed. #GAsyncReadyCallback
0179  * callbacks from #GTask are guaranteed to be invoked in a later
0180  * iteration of the
0181  * [thread-default main context][g-main-context-push-thread-default]
0182  * where the #GTask was created. All other users of
0183  * #GAsyncReadyCallback must likewise call it asynchronously in a
0184  * later iteration of the main context.
0185  *
0186  * The asynchronous operation is guaranteed to have held a reference to
0187  * @source_object from the time when the `*_async()` function was called, until
0188  * after this callback returns.
0189  **/
0190 typedef void (*GAsyncReadyCallback) (GObject *source_object,
0191                      GAsyncResult *res,
0192                      gpointer data);
0193 
0194 /**
0195  * GFileProgressCallback:
0196  * @current_num_bytes: the current number of bytes in the operation.
0197  * @total_num_bytes: the total number of bytes in the operation.
0198  * @data: user data passed to the callback.
0199  *
0200  * When doing file operations that may take a while, such as moving
0201  * a file or copying a file, a progress callback is used to pass how
0202  * far along that operation is to the application.
0203  **/
0204 typedef void (*GFileProgressCallback) (goffset current_num_bytes,
0205                                        goffset total_num_bytes,
0206                                        gpointer data);
0207 
0208 /**
0209  * GFileReadMoreCallback:
0210  * @file_contents: the data as currently read.
0211  * @file_size: the size of the data currently read.
0212  * @callback_data: data passed to the callback.
0213  *
0214  * When loading the partial contents of a file with g_file_load_partial_contents_async(),
0215  * it may become necessary to determine if any more data from the file should be loaded.
0216  * A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data
0217  * should be read, or %FALSE otherwise.
0218  *
0219  * Returns: %TRUE if more data should be read back. %FALSE otherwise.
0220  **/
0221 typedef gboolean (* GFileReadMoreCallback) (const char *file_contents,
0222                                             goffset file_size,
0223                                             gpointer callback_data);
0224 
0225 /**
0226  * GFileMeasureProgressCallback:
0227  * @reporting: %TRUE if more reports will come
0228  * @current_size: the current cumulative size measurement
0229  * @num_dirs: the number of directories visited so far
0230  * @num_files: the number of non-directory files encountered
0231  * @data: the data passed to the original request for this callback
0232  *
0233  * This callback type is used by g_file_measure_disk_usage() to make
0234  * periodic progress reports when measuring the amount of disk spaced
0235  * used by a directory.
0236  *
0237  * These calls are made on a best-effort basis and not all types of
0238  * #GFile will support them.  At the minimum, however, one call will
0239  * always be made immediately.
0240  *
0241  * In the case that there is no support, @reporting will be set to
0242  * %FALSE (and the other values undefined) and no further calls will be
0243  * made.  Otherwise, the @reporting will be %TRUE and the other values
0244  * all-zeros during the first (immediate) call.  In this way, you can
0245  * know which type of progress UI to show without a delay.
0246  *
0247  * For g_file_measure_disk_usage() the callback is made directly.  For
0248  * g_file_measure_disk_usage_async() the callback is made via the
0249  * default main context of the calling thread (ie: the same way that the
0250  * final async result would be reported).
0251  *
0252  * @current_size is in the same units as requested by the operation (see
0253  * %G_FILE_MEASURE_APPARENT_SIZE).
0254  *
0255  * The frequency of the updates is implementation defined, but is
0256  * ideally about once every 200ms.
0257  *
0258  * The last progress callback may or may not be equal to the final
0259  * result.  Always check the async result to get the final value.
0260  *
0261  * Since: 2.38
0262  **/
0263 typedef void (* GFileMeasureProgressCallback) (gboolean reporting,
0264                                                guint64  current_size,
0265                                                guint64  num_dirs,
0266                                                guint64  num_files,
0267                                                gpointer data);
0268 
0269 /**
0270  * GIOSchedulerJobFunc:
0271  * @job: a #GIOSchedulerJob.
0272  * @cancellable: optional #GCancellable object, %NULL to ignore.
0273  * @data: data passed to the callback function
0274  *
0275  * I/O Job function.
0276  *
0277  * Long-running jobs should periodically check the @cancellable
0278  * to see if they have been cancelled.
0279  *
0280  * Returns: %TRUE if this function should be called again to
0281  *    complete the job, %FALSE if the job is complete (or cancelled)
0282  * Deprecated: 2.36: Use [struct@GLib.ThreadPool] or
0283  *   [method@Gio.Task.run_in_thread]
0284  **/
0285 typedef gboolean (*GIOSchedulerJobFunc) (GIOSchedulerJob *job,
0286                      GCancellable    *cancellable,
0287                      gpointer         data);
0288 
0289 /**
0290  * GSimpleAsyncThreadFunc:
0291  * @res: a #GSimpleAsyncResult.
0292  * @object: a #GObject.
0293  * @cancellable: optional #GCancellable object, %NULL to ignore.
0294  *
0295  * Simple thread function that runs an asynchronous operation and
0296  * checks for cancellation.
0297  **/
0298 typedef void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res,
0299                                         GObject *object,
0300                                         GCancellable *cancellable);
0301 
0302 /**
0303  * GSocketSourceFunc:
0304  * @socket: the #GSocket
0305  * @condition: the current condition at the source fired.
0306  * @data: data passed in by the user.
0307  *
0308  * This is the function type of the callback used for the #GSource
0309  * returned by g_socket_create_source().
0310  *
0311  * Returns: it should return %FALSE if the source should be removed.
0312  *
0313  * Since: 2.22
0314  */
0315 typedef gboolean (*GSocketSourceFunc) (GSocket *socket,
0316                        GIOCondition condition,
0317                        gpointer data);
0318 
0319 /**
0320  * GDatagramBasedSourceFunc:
0321  * @datagram_based: the #GDatagramBased
0322  * @condition: the current condition at the source fired
0323  * @data: data passed in by the user
0324  *
0325  * This is the function type of the callback used for the #GSource
0326  * returned by g_datagram_based_create_source().
0327  *
0328  * Returns: %G_SOURCE_REMOVE if the source should be removed,
0329  *   %G_SOURCE_CONTINUE otherwise
0330  *
0331  * Since: 2.48
0332  */
0333 typedef gboolean (*GDatagramBasedSourceFunc) (GDatagramBased *datagram_based,
0334                                               GIOCondition    condition,
0335                                               gpointer        data);
0336 
0337 /**
0338  * GInputVector:
0339  * @buffer: Pointer to a buffer where data will be written.
0340  * @size: the available size in @buffer.
0341  *
0342  * Structure used for scatter/gather data input.
0343  * You generally pass in an array of #GInputVectors
0344  * and the operation will store the read data starting in the
0345  * first buffer, switching to the next as needed.
0346  *
0347  * Since: 2.22
0348  */
0349 typedef struct _GInputVector GInputVector;
0350 
0351 struct _GInputVector {
0352   gpointer buffer;
0353   gsize size;
0354 };
0355 
0356 /**
0357  * GInputMessage:
0358  * @address: (optional) (out) (transfer full): return location
0359  *   for a #GSocketAddress, or %NULL
0360  * @vectors: (array length=num_vectors) (out): pointer to an
0361  *   array of input vectors
0362  * @num_vectors: the number of input vectors pointed to by @vectors
0363  * @bytes_received: (out): will be set to the number of bytes that have been
0364  *   received
0365  * @flags: (out): collection of #GSocketMsgFlags for the received message,
0366  *   outputted by the call
0367  * @control_messages: (array length=num_control_messages) (optional)
0368  *   (out) (transfer full): return location for a
0369  *   caller-allocated array of #GSocketControlMessages, or %NULL
0370  * @num_control_messages: (out) (optional): return location for the number of
0371  *   elements in @control_messages
0372  *
0373  * Structure used for scatter/gather data input when receiving multiple
0374  * messages or packets in one go. You generally pass in an array of empty
0375  * #GInputVectors and the operation will use all the buffers as if they
0376  * were one buffer, and will set @bytes_received to the total number of bytes
0377  * received across all #GInputVectors.
0378  *
0379  * This structure closely mirrors `struct mmsghdr` and `struct msghdr` from
0380  * the POSIX sockets API (see `man 2 recvmmsg`).
0381  *
0382  * If @address is non-%NULL then it is set to the source address the message
0383  * was received from, and the caller must free it afterwards.
0384  *
0385  * If @control_messages is non-%NULL then it is set to an array of control
0386  * messages received with the message (if any), and the caller must free it
0387  * afterwards. @num_control_messages is set to the number of elements in
0388  * this array, which may be zero.
0389  *
0390  * Flags relevant to this message will be returned in @flags. For example,
0391  * `MSG_EOR` or `MSG_TRUNC`.
0392  *
0393  * Since: 2.48
0394  */
0395 typedef struct _GInputMessage GInputMessage;
0396 
0397 struct _GInputMessage {
0398   GSocketAddress         **address;
0399 
0400   GInputVector            *vectors;
0401   guint                    num_vectors;
0402 
0403   gsize                    bytes_received;
0404   gint                     flags;
0405 
0406   GSocketControlMessage ***control_messages;
0407   guint                   *num_control_messages;
0408 };
0409 
0410 /**
0411  * GOutputVector:
0412  * @buffer: Pointer to a buffer of data to read.
0413  * @size: the size of @buffer.
0414  *
0415  * Structure used for scatter/gather data output.
0416  * You generally pass in an array of #GOutputVectors
0417  * and the operation will use all the buffers as if they were
0418  * one buffer.
0419  *
0420  * Since: 2.22
0421  */
0422 typedef struct _GOutputVector GOutputVector;
0423 
0424 struct _GOutputVector {
0425   gconstpointer buffer;
0426   gsize size;
0427 };
0428 
0429 /**
0430  * GOutputMessage:
0431  * @address: (nullable): a #GSocketAddress, or %NULL
0432  * @vectors: pointer to an array of output vectors
0433  * @num_vectors: the number of output vectors pointed to by @vectors.
0434  * @bytes_sent: initialize to 0. Will be set to the number of bytes
0435  *     that have been sent
0436  * @control_messages: (array length=num_control_messages) (nullable): a pointer
0437  *   to an array of #GSocketControlMessages, or %NULL.
0438  * @num_control_messages: number of elements in @control_messages.
0439  *
0440  * Structure used for scatter/gather data output when sending multiple
0441  * messages or packets in one go. You generally pass in an array of
0442  * #GOutputVectors and the operation will use all the buffers as if they
0443  * were one buffer.
0444  *
0445  * If @address is %NULL then the message is sent to the default receiver
0446  * (as previously set by g_socket_connect()).
0447  *
0448  * Since: 2.44
0449  */
0450 typedef struct _GOutputMessage GOutputMessage;
0451 
0452 struct _GOutputMessage {
0453   GSocketAddress         *address;
0454 
0455   GOutputVector          *vectors;
0456   guint                   num_vectors;
0457 
0458   guint                   bytes_sent;
0459 
0460   GSocketControlMessage **control_messages;
0461   guint                   num_control_messages;
0462 };
0463 
0464 typedef struct _GCredentials                  GCredentials;
0465 typedef struct _GUnixCredentialsMessage       GUnixCredentialsMessage;
0466 typedef struct _GUnixFDList                   GUnixFDList;
0467 typedef struct _GDBusMessage                  GDBusMessage;
0468 typedef struct _GDBusConnection               GDBusConnection;
0469 typedef struct _GDBusProxy                    GDBusProxy;
0470 typedef struct _GDBusMethodInvocation         GDBusMethodInvocation;
0471 typedef struct _GDBusServer                   GDBusServer;
0472 typedef struct _GDBusAuthObserver             GDBusAuthObserver;
0473 typedef struct _GDBusErrorEntry               GDBusErrorEntry;
0474 typedef struct _GDBusInterfaceVTable          GDBusInterfaceVTable;
0475 typedef struct _GDBusSubtreeVTable            GDBusSubtreeVTable;
0476 typedef struct _GDBusAnnotationInfo           GDBusAnnotationInfo;
0477 typedef struct _GDBusArgInfo                  GDBusArgInfo;
0478 typedef struct _GDBusMethodInfo               GDBusMethodInfo;
0479 typedef struct _GDBusSignalInfo               GDBusSignalInfo;
0480 typedef struct _GDBusPropertyInfo             GDBusPropertyInfo;
0481 typedef struct _GDBusInterfaceInfo            GDBusInterfaceInfo;
0482 typedef struct _GDBusNodeInfo                 GDBusNodeInfo;
0483 
0484 /**
0485  * GCancellableSourceFunc:
0486  * @cancellable: the #GCancellable
0487  * @data: data passed in by the user.
0488  *
0489  * This is the function type of the callback used for the #GSource
0490  * returned by g_cancellable_source_new().
0491  *
0492  * Returns: it should return %FALSE if the source should be removed.
0493  *
0494  * Since: 2.28
0495  */
0496 typedef gboolean (*GCancellableSourceFunc) (GCancellable *cancellable,
0497                         gpointer      data);
0498 
0499 /**
0500  * GPollableSourceFunc:
0501  * @pollable_stream: the #GPollableInputStream or #GPollableOutputStream
0502  * @data: data passed in by the user.
0503  *
0504  * This is the function type of the callback used for the #GSource
0505  * returned by g_pollable_input_stream_create_source() and
0506  * g_pollable_output_stream_create_source().
0507  *
0508  * Returns: it should return %FALSE if the source should be removed.
0509  *
0510  * Since: 2.28
0511  */
0512 typedef gboolean (*GPollableSourceFunc) (GObject  *pollable_stream,
0513                      gpointer  data);
0514 
0515 typedef struct _GDBusInterface              GDBusInterface; /* Dummy typedef */
0516 typedef struct _GDBusInterfaceSkeleton      GDBusInterfaceSkeleton;
0517 typedef struct _GDBusObject                 GDBusObject;  /* Dummy typedef */
0518 typedef struct _GDBusObjectSkeleton         GDBusObjectSkeleton;
0519 typedef struct _GDBusObjectProxy            GDBusObjectProxy;
0520 typedef struct _GDBusObjectManager          GDBusObjectManager;  /* Dummy typedef */
0521 typedef struct _GDBusObjectManagerClient    GDBusObjectManagerClient;
0522 typedef struct _GDBusObjectManagerServer    GDBusObjectManagerServer;
0523 
0524 /**
0525  * GDBusProxyTypeFunc:
0526  * @manager: A #GDBusObjectManagerClient.
0527  * @object_path: The object path of the remote object.
0528  * @interface_name: (nullable): The interface name of the remote object or %NULL if a #GDBusObjectProxy #GType is requested.
0529  * @data: data passed in by the user.
0530  *
0531  * Function signature for a function used to determine the #GType to
0532  * use for an interface proxy (if @interface_name is not %NULL) or
0533  * object proxy (if @interface_name is %NULL).
0534  *
0535  * This function is called in the
0536  * [thread-default main loop][g-main-context-push-thread-default]
0537  * that @manager was constructed in.
0538  *
0539  * Returns: A #GType to use for the remote object. The returned type
0540  *   must be a #GDBusProxy or #GDBusObjectProxy -derived
0541  *   type.
0542  *
0543  * Since: 2.30
0544  */
0545 typedef GType (*GDBusProxyTypeFunc) (GDBusObjectManagerClient   *manager,
0546                                      const gchar                *object_path,
0547                                      const gchar                *interface_name,
0548                                      gpointer                    data);
0549 
0550 typedef struct _GTestDBus GTestDBus;
0551 
0552 typedef struct _GSubprocess                   GSubprocess;
0553 typedef struct _GSubprocessLauncher           GSubprocessLauncher;
0554 
0555 G_END_DECLS
0556 
0557 #endif /* __GIO_TYPES_H__ */