1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 module gtkc.giotypes;
25 
26 
27 public import gtkc.glibtypes;
28 public import gtkc.gobjecttypes;
29 
30 
31 enum GResolverRecordType
32 {
33 	SRV = 1,
34 	MX,
35 	TXT,
36 	SOA,
37 	NS
38 }
39 alias GResolverRecordType ResolverRecordType;
40 
41 /**
42  * Flags used when querying a GFileInfo.
43  * G_FILE_QUERY_INFO_NONE
44  * No flags set.
45  * G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
46  * Don't follow symlinks.
47  */
48 public enum GFileQueryInfoFlags
49 {
50 	NONE = 0,
51 	NOFOLLOW_SYMLINKS = (1 << 0) /+*< nick=nofollow-symlinks >+/
52 }
53 alias GFileQueryInfoFlags FileQueryInfoFlags;
54 
55 /**
56  * Flags used when an operation may create a file.
57  * G_FILE_CREATE_NONE
58  * No flags set.
59  * G_FILE_CREATE_PRIVATE
60  * Create a file that can only be
61  *  accessed by the current user.
62  * G_FILE_CREATE_REPLACE_DESTINATION
63  * Replace the destination
64  *  as if it didn't exist before. Don't try to keep any old
65  *  permissions, replace instead of following links. This
66  *  is generally useful if you're doing a "copy over"
67  *  rather than a "save new version of" replace operation.
68  *  You can think of it as "unlink destination" before
69  *  writing to it, although the implementation may not
70  *  be exactly like that. Since 2.20
71  */
72 public enum GFileCreateFlags
73 {
74 	NONE = 0,
75 	PRIVATE = (1 << 0),
76 	REPLACE_DESTINATION = (1 << 1)
77 }
78 alias GFileCreateFlags FileCreateFlags;
79 
80 /**
81  * Flags used when copying or moving files.
82  * G_FILE_COPY_NONE
83  * No flags set.
84  * G_FILE_COPY_OVERWRITE
85  * Overwrite any existing files
86  * G_FILE_COPY_BACKUP
87  * Make a backup of any existing files.
88  * G_FILE_COPY_NOFOLLOW_SYMLINKS
89  * Don't follow symlinks.
90  * G_FILE_COPY_ALL_METADATA
91  * Copy all file metadata instead of just default set used for copy (see GFileInfo).
92  * G_FILE_COPY_NO_FALLBACK_FOR_MOVE
93  * Don't use copy and delete fallback if native move not supported.
94  * G_FILE_COPY_TARGET_DEFAULT_PERMS
95  * Leaves target file with default perms, instead of setting the source file perms.
96  */
97 public enum GFileCopyFlags
98 {
99 	NONE = 0, /+*< nick=none >+/
100 	OVERWRITE = (1 << 0),
101 	BACKUP = (1 << 1),
102 	NOFOLLOW_SYMLINKS = (1 << 2),
103 	ALL_METADATA = (1 << 3),
104 	NO_FALLBACK_FOR_MOVE = (1 << 4),
105 	TARGET_DEFAULT_PERMS = (1 << 5)
106 }
107 alias GFileCopyFlags FileCopyFlags;
108 
109 /**
110  * Flags used to set what a GFileMonitor will watch for.
111  * G_FILE_MONITOR_NONE
112  * No flags set.
113  * G_FILE_MONITOR_WATCH_MOUNTS
114  * Watch for mount events.
115  * G_FILE_MONITOR_SEND_MOVED
116  * Pair DELETED and CREATED events caused
117  *  by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
118  *  event instead (NB: not supported on all backends; the default
119  *  behaviour -without specifying this flag- is to send single DELETED
120  *  and CREATED events).
121  * G_FILE_MONITOR_WATCH_HARD_LINKS
122  * Watch for changes to the file made
123  *  via another hard link. Since 2.36.
124  */
125 public enum GFileMonitorFlags
126 {
127 	NONE = 0,
128 	WATCH_MOUNTS = (1 << 0),
129 	SEND_MOVED = (1 << 1),
130 	WATCH_HARD_LINKS = (1 << 2)
131 }
132 alias GFileMonitorFlags FileMonitorFlags;
133 
134 /**
135  * Flags that can be used with g_file_measure_disk_usage().
136  * G_FILE_MEASURE_NONE
137  * No flags set.
138  * G_FILE_MEASURE_REPORT_ANY_ERROR
139  * Report any error encountered
140  *  while traversing the directory tree. Normally errors are only
141  *  reported for the toplevel file.
142  * G_FILE_MEASURE_APPARENT_SIZE
143  * Tally usage based on apparent file
144  *  sizes. Normally, the block-size is used, if available, as this is a
145  *  more accurate representation of disk space used.
146  *  Compare with 'du --apparent-size'.
147  * G_FILE_MEASURE_NO_XDEV
148  * Do not cross mount point boundaries.
149  *  Compare with 'du -x'.
150  * Since 2.38
151  */
152 public enum GFileMeasureFlags
153 {
154 	NONE = 0,
155 	REPORT_ANY_ERROR = (1 << 1),
156 	APPARENT_SIZE = (1 << 2),
157 	NO_XDEV = (1 << 3)
158 }
159 alias GFileMeasureFlags FileMeasureFlags;
160 
161 /**
162  * Indicates a hint from the file system whether files should be
163  * previewed in a file manager. Returned as the value of the key
164  * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
165  * G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS
166  * Only preview files if user has explicitly requested it.
167  * G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL
168  * Preview files if user has requested preview of "local" files.
169  * G_FILESYSTEM_PREVIEW_TYPE_NEVER
170  * Never preview files.
171  */
172 public enum GFilesystemPreviewType
173 {
174 	TYPE_IF_ALWAYS = 0,
175 	TYPE_IF_LOCAL,
176 	TYPE_NEVER
177 }
178 alias GFilesystemPreviewType FilesystemPreviewType;
179 
180 /**
181  * The data types for file attributes.
182  * G_FILE_ATTRIBUTE_TYPE_INVALID
183  * indicates an invalid or uninitalized type.
184  * G_FILE_ATTRIBUTE_TYPE_STRING
185  * a null terminated UTF8 string.
186  * G_FILE_ATTRIBUTE_TYPE_BYTE_STRING
187  * a zero terminated string of non-zero bytes.
188  * G_FILE_ATTRIBUTE_TYPE_BOOLEAN
189  * a boolean value.
190  * G_FILE_ATTRIBUTE_TYPE_UINT32
191  * an unsigned 4-byte/32-bit integer.
192  * G_FILE_ATTRIBUTE_TYPE_INT32
193  * a signed 4-byte/32-bit integer.
194  * G_FILE_ATTRIBUTE_TYPE_UINT64
195  * an unsigned 8-byte/64-bit integer.
196  * G_FILE_ATTRIBUTE_TYPE_INT64
197  * a signed 8-byte/64-bit integer.
198  * G_FILE_ATTRIBUTE_TYPE_OBJECT
199  * a GObject.
200  * G_FILE_ATTRIBUTE_TYPE_STRINGV
201  * a NULL terminated char **. Since 2.22
202  */
203 public enum GFileAttributeType
204 {
205 	TYPE_INVALID = 0,
206 	TYPE_STRING,
207 	TYPE_BYTE_STRING, /+* zero terminated string of non-zero bytes +/
208 	TYPE_BOOLEAN,
209 	TYPE_UINT32,
210 	TYPE_INT32,
211 	TYPE_UINT64,
212 	TYPE_INT64,
213 	TYPE_OBJECT,
214 	TYPE_STRINGV
215 }
216 alias GFileAttributeType FileAttributeType;
217 
218 /**
219  * Flags specifying the behaviour of an attribute.
220  * G_FILE_ATTRIBUTE_INFO_NONE
221  * no flags set.
222  * G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE
223  * copy the attribute values when the file is copied.
224  * G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED
225  * copy the attribute values when the file is moved.
226  */
227 public enum GFileAttributeInfoFlags
228 {
229 	NONE = 0,
230 	COPY_WITH_FILE = (1 << 0),
231 	COPY_WHEN_MOVED = (1 << 1)
232 }
233 alias GFileAttributeInfoFlags FileAttributeInfoFlags;
234 
235 /**
236  * Used by g_file_set_attributes_from_info() when setting file attributes.
237  * G_FILE_ATTRIBUTE_STATUS_UNSET
238  * Attribute value is unset (empty).
239  * G_FILE_ATTRIBUTE_STATUS_SET
240  * Attribute value is set.
241  * G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING
242  * Indicates an error in setting the value.
243  */
244 public enum GFileAttributeStatus
245 {
246 	UNSET = 0,
247 	SET,
248 	ERROR_SETTING
249 }
250 alias GFileAttributeStatus FileAttributeStatus;
251 
252 /**
253  * Indicates the file's on-disk type.
254  * G_FILE_TYPE_UNKNOWN
255  * File's type is unknown.
256  * G_FILE_TYPE_REGULAR
257  * File handle represents a regular file.
258  * G_FILE_TYPE_DIRECTORY
259  * File handle represents a directory.
260  * G_FILE_TYPE_SYMBOLIC_LINK
261  * File handle represents a symbolic link
262  *  (Unix systems).
263  * G_FILE_TYPE_SPECIAL
264  * File is a "special" file, such as a socket, fifo,
265  *  block device, or character device.
266  * G_FILE_TYPE_SHORTCUT
267  * File is a shortcut (Windows systems).
268  * G_FILE_TYPE_MOUNTABLE
269  * File is a mountable location.
270  */
271 public enum GFileType
272 {
273 	TYPE_UNKNOWN = 0,
274 	TYPE_REGULAR,
275 	TYPE_DIRECTORY,
276 	TYPE_SYMBOLIC_LINK,
277 	TYPE_SPECIAL, /+* socket, fifo, blockdev, chardev +/
278 	TYPE_SHORTCUT,
279 	TYPE_MOUNTABLE
280 }
281 alias GFileType FileType;
282 
283 /**
284  * Error codes returned by GIO functions.
285  * G_IO_ERROR_FAILED
286  * Generic error condition for when any operation fails.
287  * G_IO_ERROR_NOT_FOUND
288  * File not found.
289  * G_IO_ERROR_EXISTS
290  * File already exists.
291  * G_IO_ERROR_IS_DIRECTORY
292  * File is a directory.
293  * G_IO_ERROR_NOT_DIRECTORY
294  * File is not a directory.
295  * G_IO_ERROR_NOT_EMPTY
296  * File is a directory that isn't empty.
297  * G_IO_ERROR_NOT_REGULAR_FILE
298  * File is not a regular file.
299  * G_IO_ERROR_NOT_SYMBOLIC_LINK
300  * File is not a symbolic link.
301  * G_IO_ERROR_NOT_MOUNTABLE_FILE
302  * File cannot be mounted.
303  * G_IO_ERROR_FILENAME_TOO_LONG
304  * Filename is too many characters.
305  * G_IO_ERROR_INVALID_FILENAME
306  * Filename is invalid or contains invalid characters.
307  * G_IO_ERROR_TOO_MANY_LINKS
308  * File contains too many symbolic links.
309  * G_IO_ERROR_NO_SPACE
310  * No space left on drive.
311  * G_IO_ERROR_INVALID_ARGUMENT
312  * Invalid argument.
313  * G_IO_ERROR_PERMISSION_DENIED
314  * Permission denied.
315  * G_IO_ERROR_NOT_SUPPORTED
316  * Operation not supported for the current backend.
317  * G_IO_ERROR_NOT_MOUNTED
318  * File isn't mounted.
319  * G_IO_ERROR_ALREADY_MOUNTED
320  * File is already mounted.
321  * G_IO_ERROR_CLOSED
322  * File was closed.
323  * G_IO_ERROR_CANCELLED
324  * Operation was cancelled. See GCancellable.
325  * G_IO_ERROR_PENDING
326  * Operations are still pending.
327  * G_IO_ERROR_READ_ONLY
328  * File is read only.
329  * G_IO_ERROR_CANT_CREATE_BACKUP
330  * Backup couldn't be created.
331  * G_IO_ERROR_WRONG_ETAG
332  * File's Entity Tag was incorrect.
333  * G_IO_ERROR_TIMED_OUT
334  * Operation timed out.
335  * G_IO_ERROR_WOULD_RECURSE
336  * Operation would be recursive.
337  * G_IO_ERROR_BUSY
338  * File is busy.
339  * G_IO_ERROR_WOULD_BLOCK
340  * Operation would block.
341  * G_IO_ERROR_HOST_NOT_FOUND
342  * Host couldn't be found (remote operations).
343  * G_IO_ERROR_WOULD_MERGE
344  * Operation would merge files.
345  * G_IO_ERROR_FAILED_HANDLED
346  * Operation failed and a helper program has
347  *  already interacted with the user. Do not display any error dialog.
348  * G_IO_ERROR_TOO_MANY_OPEN_FILES
349  * The current process has too many files
350  *  open and can't open any more. Duplicate descriptors do count toward
351  *  this limit. Since 2.20
352  * G_IO_ERROR_NOT_INITIALIZED
353  * The object has not been initialized. Since 2.22
354  * G_IO_ERROR_ADDRESS_IN_USE
355  * The requested address is already in use. Since 2.22
356  * G_IO_ERROR_PARTIAL_INPUT
357  * Need more input to finish operation. Since 2.24
358  * G_IO_ERROR_INVALID_DATA
359  * The input data was invalid. Since 2.24
360  * G_IO_ERROR_DBUS_ERROR
361  * A remote object generated an error that
362  *  doesn't correspond to a locally registered GError error
363  *  domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
364  *  error name and g_dbus_error_strip_remote_error() to fix up the
365  *  message so it matches what was received on the wire. Since 2.26.
366  * G_IO_ERROR_HOST_UNREACHABLE
367  * Host unreachable. Since 2.26
368  * G_IO_ERROR_NETWORK_UNREACHABLE
369  * Network unreachable. Since 2.26
370  * G_IO_ERROR_CONNECTION_REFUSED
371  * Connection refused. Since 2.26
372  * G_IO_ERROR_PROXY_FAILED
373  * Connection to proxy server failed. Since 2.26
374  * G_IO_ERROR_PROXY_AUTH_FAILED
375  * Proxy authentication failed. Since 2.26
376  * G_IO_ERROR_PROXY_NEED_AUTH
377  * Proxy server needs authentication. Since 2.26
378  * G_IO_ERROR_PROXY_NOT_ALLOWED
379  * Proxy connection is not allowed by ruleset.
380  *  Since 2.26
381  * G_IO_ERROR_BROKEN_PIPE
382  * Broken pipe. Since 2.36
383  */
384 public enum GIOErrorEnum
385 {
386 	FAILED,
387 	NOT_FOUND,
388 	EXISTS,
389 	IS_DIRECTORY,
390 	NOT_DIRECTORY,
391 	NOT_EMPTY,
392 	NOT_REGULAR_FILE,
393 	NOT_SYMBOLIC_LINK,
394 	NOT_MOUNTABLE_FILE,
395 	FILENAME_TOO_LONG,
396 	INVALID_FILENAME,
397 	TOO_MANY_LINKS,
398 	NO_SPACE,
399 	INVALID_ARGUMENT,
400 	PERMISSION_DENIED,
401 	NOT_SUPPORTED,
402 	NOT_MOUNTED,
403 	ALREADY_MOUNTED,
404 	CLOSED,
405 	CANCELLED,
406 	PENDING,
407 	READ_ONLY,
408 	CANT_CREATE_BACKUP,
409 	WRONG_ETAG,
410 	TIMED_OUT,
411 	WOULD_RECURSE,
412 	BUSY,
413 	WOULD_BLOCK,
414 	HOST_NOT_FOUND,
415 	WOULD_MERGE,
416 	FAILED_HANDLED,
417 	TOO_MANY_OPEN_FILES,
418 	NOT_INITIALIZED,
419 	ADDRESS_IN_USE,
420 	PARTIAL_INPUT,
421 	INVALID_DATA,
422 	DBUS_ERROR,
423 	HOST_UNREACHABLE,
424 	NETWORK_UNREACHABLE,
425 	CONNECTION_REFUSED,
426 	PROXY_FAILED,
427 	PROXY_AUTH_FAILED,
428 	PROXY_NEED_AUTH,
429 	PROXY_NOT_ALLOWED,
430 	BROKEN_PIPE
431 }
432 alias GIOErrorEnum IOErrorEnum;
433 
434 /**
435  * GAskPasswordFlags are used to request specific information from the
436  * user, or to notify the user of their choices in an authentication
437  * situation.
438  * G_ASK_PASSWORD_NEED_PASSWORD
439  * operation requires a password.
440  * G_ASK_PASSWORD_NEED_USERNAME
441  * operation requires a username.
442  * G_ASK_PASSWORD_NEED_DOMAIN
443  * operation requires a domain.
444  * G_ASK_PASSWORD_SAVING_SUPPORTED
445  * operation supports saving settings.
446  * G_ASK_PASSWORD_ANONYMOUS_SUPPORTED
447  * operation supports anonymous users.
448  */
449 public enum GAskPasswordFlags
450 {
451 	NEED_PASSWORD = (1 << 0),
452 	NEED_USERNAME = (1 << 1),
453 	NEED_DOMAIN = (1 << 2),
454 	SAVING_SUPPORTED = (1 << 3),
455 	ANONYMOUS_SUPPORTED = (1 << 4)
456 }
457 alias GAskPasswordFlags AskPasswordFlags;
458 
459 /**
460  * GPasswordSave is used to indicate the lifespan of a saved password.
461  * Gvfs stores passwords in the Gnome keyring when this flag allows it
462  * to, and later retrieves it again from there.
463  * G_PASSWORD_SAVE_NEVER
464  * never save a password.
465  * G_PASSWORD_SAVE_FOR_SESSION
466  * save a password for the session.
467  * G_PASSWORD_SAVE_PERMANENTLY
468  * save a password permanently.
469  */
470 public enum GPasswordSave
471 {
472 	NEVER,
473 	FOR_SESSION,
474 	PERMANENTLY
475 }
476 alias GPasswordSave PasswordSave;
477 
478 /**
479  * GMountOperationResult is returned as a result when a request for
480  * information is send by the mounting operation.
481  * G_MOUNT_OPERATION_HANDLED
482  * The request was fulfilled and the
483  *  user specified data is now available
484  * G_MOUNT_OPERATION_ABORTED
485  * The user requested the mount operation
486  *  to be aborted
487  * G_MOUNT_OPERATION_UNHANDLED
488  * The request was unhandled (i.e. not
489  *  implemented)
490  */
491 public enum GMountOperationResult
492 {
493 	HANDLED,
494 	ABORTED,
495 	UNHANDLED
496 }
497 alias GMountOperationResult MountOperationResult;
498 
499 /**
500  * Specifies what type of event a monitor event is.
501  * G_FILE_MONITOR_EVENT_CHANGED
502  * a file changed.
503  * G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT
504  * a hint that this was probably the last change in a set of changes.
505  * G_FILE_MONITOR_EVENT_DELETED
506  * a file was deleted.
507  * G_FILE_MONITOR_EVENT_CREATED
508  * a file was created.
509  * G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED
510  * a file attribute was changed.
511  * G_FILE_MONITOR_EVENT_PRE_UNMOUNT
512  * the file location will soon be unmounted.
513  * G_FILE_MONITOR_EVENT_UNMOUNTED
514  * the file location was unmounted.
515  * G_FILE_MONITOR_EVENT_MOVED
516  * the file was moved.
517  */
518 public enum GFileMonitorEvent
519 {
520 	CHANGED,
521 	CHANGES_DONE_HINT,
522 	DELETED,
523 	CREATED,
524 	ATTRIBUTE_CHANGED,
525 	PRE_UNMOUNT,
526 	UNMOUNTED,
527 	MOVED
528 }
529 alias GFileMonitorEvent FileMonitorEvent;
530 
531 /**
532  * Results returned from g_converter_convert().
533  * G_CONVERTER_ERROR
534  * There was an error during conversion.
535  * G_CONVERTER_CONVERTED
536  * Some data was consumed or produced
537  * G_CONVERTER_FINISHED
538  * The conversion is finished
539  * G_CONVERTER_FLUSHED
540  * Flushing is finished
541  * Since 2.24
542  */
543 public enum GConverterResult
544 {
545 	ERROR = 0, /+*< nick=error >+/
546 	CONVERTED = 1, /+*< nick=converted >+/
547 	FINISHED = 2, /+*< nick=finished >+/
548 	FLUSHED = 3 /+*< nick=flushed >+/
549 }
550 alias GConverterResult ConverterResult;
551 
552 /**
553  * Flags used when calling a g_converter_convert().
554  * G_CONVERTER_NO_FLAGS
555  * No flags.
556  * G_CONVERTER_INPUT_AT_END
557  * At end of input data
558  * G_CONVERTER_FLUSH
559  * Flush data
560  * Since 2.24
561  */
562 public enum GConverterFlags
563 {
564 	NO_FLAGS = 0, /+*< nick=none >+/
565 	INPUT_AT_END = (1 << 0), /+*< nick=input-at-end >+/
566 	FLUSH = (1 << 1) /+*< nick=flush >+/
567 }
568 alias GConverterFlags ConverterFlags;
569 
570 /**
571  * Used to select the type of data format to use for GZlibDecompressor
572  * and GZlibCompressor.
573  * G_ZLIB_COMPRESSOR_FORMAT_ZLIB
574  * deflate compression with zlib header
575  * G_ZLIB_COMPRESSOR_FORMAT_GZIP
576  * gzip file format
577  * G_ZLIB_COMPRESSOR_FORMAT_RAW
578  * deflate compression with no header
579  * Since 2.24
580  */
581 public enum GZlibCompressorFormat
582 {
583 	ZLIB,
584 	GZIP,
585 	RAW
586 }
587 alias GZlibCompressorFormat ZlibCompressorFormat;
588 
589 /**
590  * GOutputStreamSpliceFlags determine how streams should be spliced.
591  * G_OUTPUT_STREAM_SPLICE_NONE
592  * Do not close either stream.
593  * G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE
594  * Close the source stream after
595  *  the splice.
596  * G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET
597  * Close the target stream after
598  *  the splice.
599  */
600 public enum GOutputStreamSpliceFlags
601 {
602 	NONE = 0,
603 	CLOSE_SOURCE = (1 << 0),
604 	CLOSE_TARGET = (1 << 1)
605 }
606 alias GOutputStreamSpliceFlags OutputStreamSpliceFlags;
607 
608 /**
609  * GIOStreamSpliceFlags determine how streams should be spliced.
610  * G_IO_STREAM_SPLICE_NONE
611  * Do not close either stream.
612  * G_IO_STREAM_SPLICE_CLOSE_STREAM1
613  * Close the first stream after
614  *  the splice.
615  * G_IO_STREAM_SPLICE_CLOSE_STREAM2
616  * Close the second stream after
617  *  the splice.
618  * G_IO_STREAM_SPLICE_WAIT_FOR_BOTH
619  * Wait for both splice operations to finish
620  *  before calling the callback.
621  * Since 2.28
622  */
623 public enum GIOStreamSpliceFlags
624 {
625 	NONE = 0,
626 	CLOSE_STREAM1 = (1 << 0),
627 	CLOSE_STREAM2 = (1 << 1),
628 	WAIT_FOR_BOTH = (1 << 2)
629 }
630 alias GIOStreamSpliceFlags IOStreamSpliceFlags;
631 
632 /**
633  * GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
634  * across various machine architectures.
635  * G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN
636  * Selects Big Endian byte order.
637  * G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN
638  * Selects Little Endian byte order.
639  * G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN
640  * Selects endianness based on host machine's architecture.
641  */
642 public enum GDataStreamByteOrder
643 {
644 	BIG_ENDIAN,
645 	LITTLE_ENDIAN,
646 	HOST_ENDIAN
647 }
648 alias GDataStreamByteOrder DataStreamByteOrder;
649 
650 /**
651  * GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
652  * G_DATA_STREAM_NEWLINE_TYPE_LF
653  * Selects "LF" line endings, common on most modern UNIX platforms.
654  * G_DATA_STREAM_NEWLINE_TYPE_CR
655  * Selects "CR" line endings.
656  * G_DATA_STREAM_NEWLINE_TYPE_CR_LF
657  * Selects "CR, LF" line ending, common on Microsoft Windows.
658  * G_DATA_STREAM_NEWLINE_TYPE_ANY
659  * Automatically try to handle any line ending type.
660  */
661 public enum GDataStreamNewlineType
662 {
663 	TYPE_LF,
664 	TYPE_CR,
665 	TYPE_CR_LF,
666 	TYPE_ANY
667 }
668 alias GDataStreamNewlineType DataStreamNewlineType;
669 
670 /**
671  * Flags used when creating a GAppInfo.
672  * G_APP_INFO_CREATE_NONE
673  * No flags.
674  * G_APP_INFO_CREATE_NEEDS_TERMINAL
675  * Application opens in a terminal window.
676  * G_APP_INFO_CREATE_SUPPORTS_URIS
677  * Application supports URI arguments.
678  * G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION
679  * Application supports startup notification. Since 2.26
680  */
681 public enum GAppInfoCreateFlags
682 {
683 	NONE = 0, /+*< nick=none >+/
684 	NEEDS_TERMINAL = (1 << 0), /+*< nick=needs-terminal >+/
685 	SUPPORTS_URIS = (1 << 1), /+*< nick=supports-uris >+/
686 	SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /+*< nick=supports-startup-notification >+/
687 }
688 alias GAppInfoCreateFlags AppInfoCreateFlags;
689 
690 /**
691  * Flags used when mounting a mount.
692  * G_MOUNT_MOUNT_NONE
693  * No flags set.
694  */
695 public enum GMountMountFlags
696 {
697 	NONE = 0
698 }
699 alias GMountMountFlags MountMountFlags;
700 
701 /**
702  * Flags used when an unmounting a mount.
703  * G_MOUNT_UNMOUNT_NONE
704  * No flags set.
705  * G_MOUNT_UNMOUNT_FORCE
706  * Unmount even if there are outstanding
707  *  file operations on the mount.
708  */
709 public enum GMountUnmountFlags
710 {
711 	NONE = 0,
712 	FORCE = (1 << 0)
713 }
714 alias GMountUnmountFlags MountUnmountFlags;
715 
716 /**
717  * Flags used when starting a drive.
718  * G_DRIVE_START_NONE
719  * No flags set.
720  * Since 2.22
721  */
722 public enum GDriveStartFlags
723 {
724 	NONE = 0
725 }
726 alias GDriveStartFlags DriveStartFlags;
727 
728 /**
729  * Enumeration describing how a drive can be started/stopped.
730  * G_DRIVE_START_STOP_TYPE_UNKNOWN
731  * Unknown or drive doesn't support
732  *  start/stop.
733  * G_DRIVE_START_STOP_TYPE_SHUTDOWN
734  * The stop method will physically
735  *  shut down the drive and e.g. power down the port the drive is
736  *  attached to.
737  * G_DRIVE_START_STOP_TYPE_NETWORK
738  * The start/stop methods are used
739  *  for connecting/disconnect to the drive over the network.
740  * G_DRIVE_START_STOP_TYPE_MULTIDISK
741  * The start/stop methods will
742  *  assemble/disassemble a virtual drive from several physical
743  *  drives.
744  * G_DRIVE_START_STOP_TYPE_PASSWORD
745  * The start/stop methods will
746  *  unlock/lock the disk (for example using the ATA “SECURITY
747  *  UNLOCK DEVICE” command)
748  * Since 2.22
749  */
750 public enum GDriveStartStopType
751 {
752 	TYPE_UNKNOWN,
753 	TYPE_SHUTDOWN,
754 	TYPE_NETWORK,
755 	TYPE_MULTIDISK,
756 	TYPE_PASSWORD
757 }
758 alias GDriveStartStopType DriveStartStopType;
759 
760 /**
761  * GEmblemOrigin is used to add information about the origin of the emblem
762  * to GEmblem.
763  * G_EMBLEM_ORIGIN_UNKNOWN
764  * Emblem of unknown origin
765  * G_EMBLEM_ORIGIN_DEVICE
766  * Emblem adds device-specific information
767  * G_EMBLEM_ORIGIN_LIVEMETADATA
768  * Emblem depicts live metadata, such as "readonly"
769  * G_EMBLEM_ORIGIN_TAG
770  * Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)
771  * Since 2.18
772  */
773 public enum GEmblemOrigin
774 {
775 	UNKNOWN,
776 	DEVICE,
777 	LIVEMETADATA,
778 	TAG
779 }
780 alias GEmblemOrigin EmblemOrigin;
781 
782 /**
783  * Flags used when creating a GSocket. Some protocols may not implement
784  * all the socket types.
785  * G_SOCKET_TYPE_INVALID
786  * Type unknown or wrong
787  * G_SOCKET_TYPE_STREAM
788  * Reliable connection-based byte streams (e.g. TCP).
789  * G_SOCKET_TYPE_DATAGRAM
790  * Connectionless, unreliable datagram passing.
791  *  (e.g. UDP)
792  * G_SOCKET_TYPE_SEQPACKET
793  * Reliable connection-based passing of datagrams
794  *  of fixed maximum length (e.g. SCTP).
795  * Since 2.22
796  */
797 public enum GSocketType
798 {
799 	TYPE_INVALID,
800 	TYPE_STREAM,
801 	TYPE_DATAGRAM,
802 	TYPE_SEQPACKET
803 }
804 alias GSocketType SocketType;
805 
806 /**
807  * A protocol identifier is specified when creating a GSocket, which is a
808  * family/type specific identifier, where 0 means the default protocol for
809  * the particular family/type.
810  * This enum contains a set of commonly available and used protocols. You
811  * can also pass any other identifiers handled by the platform in order to
812  * use protocols not listed here.
813  * G_SOCKET_PROTOCOL_UNKNOWN
814  * The protocol type is unknown
815  * G_SOCKET_PROTOCOL_DEFAULT
816  * The default protocol for the family/type
817  * G_SOCKET_PROTOCOL_TCP
818  * TCP over IP
819  * G_SOCKET_PROTOCOL_UDP
820  * UDP over IP
821  * G_SOCKET_PROTOCOL_SCTP
822  * SCTP over IP
823  * Since 2.22
824  */
825 public enum GSocketProtocol
826 {
827 	UNKNOWN = -1,
828 	DEFAULT = 0,
829 	TCP = 6,
830 	UDP = 17,
831 	SCTP = 132
832 }
833 alias GSocketProtocol SocketProtocol;
834 
835 /**
836  * Flags used in g_socket_receive_message() and g_socket_send_message().
837  * The flags listed in the enum are some commonly available flags, but the
838  * values used for them are the same as on the platform, and any other flags
839  * are passed in/out as is. So to use a platform specific flag, just include
840  * the right system header and pass in the flag.
841  * G_SOCKET_MSG_NONE
842  * No flags.
843  * G_SOCKET_MSG_OOB
844  * Request to send/receive out of band data.
845  * G_SOCKET_MSG_PEEK
846  * Read data from the socket without removing it from
847  *  the queue.
848  * G_SOCKET_MSG_DONTROUTE
849  * Don't use a gateway to send out the packet,
850  *  only send to hosts on directly connected networks.
851  * Since 2.22
852  */
853 public enum GSocketMsgFlags
854 {
855 	NONE,
856 	OOB = 1,
857 	PEEK = 2,
858 	DONTROUTE = 4
859 }
860 alias GSocketMsgFlags SocketMsgFlags;
861 
862 /**
863  * The protocol family of a GSocketAddress. (These values are
864  * identical to the system defines AF_INET, AF_INET6 and AF_UNIX,
865  * if available.)
866  * G_SOCKET_FAMILY_INVALID
867  * no address family
868  * G_SOCKET_FAMILY_UNIX
869  * the UNIX domain family
870  * G_SOCKET_FAMILY_IPV4
871  * the IPv4 family
872  * G_SOCKET_FAMILY_IPV6
873  * the IPv6 family
874  * Since 2.22
875  */
876 public enum GSocketFamily
877 {
878 	INVALID,
879 	UNIX = 1,
880 	IPV4 = 2,
881 	IPV6 = 23
882 }
883 alias GSocketFamily SocketFamily;
884 
885 /**
886  * The type of name used by a GUnixSocketAddress.
887  * G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
888  * socket bound to a filesystem path. G_UNIX_SOCKET_ADDRESS_ANONYMOUS
889  * indicates a socket not bound to any name (eg, a client-side socket,
890  * or a socket created with socketpair()).
891  * For abstract sockets, there are two incompatible ways of naming
892  * them; the man pages suggest using the entire struct
893  * sockaddr_un as the name, padding the unused parts of the
894  * sun_path field with zeroes; this corresponds to
895  * G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs
896  * instead just use a portion of sun_path, and pass an appropriate
897  * smaller length to bind() or connect(). This is
898  * G_UNIX_SOCKET_ADDRESS_ABSTRACT.
899  * G_UNIX_SOCKET_ADDRESS_INVALID
900  * invalid
901  * G_UNIX_SOCKET_ADDRESS_ANONYMOUS
902  * anonymous
903  * G_UNIX_SOCKET_ADDRESS_PATH
904  * a filesystem path
905  * G_UNIX_SOCKET_ADDRESS_ABSTRACT
906  * an abstract name
907  * G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
908  * an abstract name, 0-padded
909  *  to the full length of a unix socket name
910  * Since 2.26
911  */
912 public enum GUnixSocketAddressType
913 {
914 	INVALID,
915 	ANONYMOUS,
916 	PATH,
917 	ABSTRACT,
918 	ABSTRACT_PADDED
919 }
920 alias GUnixSocketAddressType UnixSocketAddressType;
921 
922 /**
923  * Enumeration describing different kinds of native credential types.
924  * G_CREDENTIALS_TYPE_INVALID
925  * Indicates an invalid native credential type.
926  * G_CREDENTIALS_TYPE_LINUX_UCRED
927  * The native credentials type is a struct ucred.
928  * G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED
929  * The native credentials type is a struct cmsgcred.
930  * G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED
931  * The native credentials type is a struct sockpeercred. Added in 2.30.
932  * Since 2.26
933  */
934 public enum GCredentialsType
935 {
936 	TYPE_INVALID,
937 	TYPE_LINUX_UCRED,
938 	TYPE_FREEBSD_CMSGCRED,
939 	TYPE_OPENBSD_SOCKPEERCRED
940 }
941 alias GCredentialsType CredentialsType;
942 
943 /**
944  * Describes an event occurring on a GSocketClient. See the
945  * "event" signal for more details.
946  * Additional values may be added to this type in the future.
947  * G_SOCKET_CLIENT_RESOLVING
948  * The client is doing a DNS lookup.
949  * G_SOCKET_CLIENT_RESOLVED
950  * The client has completed a DNS lookup.
951  * G_SOCKET_CLIENT_CONNECTING
952  * The client is connecting to a remote
953  *  host (either a proxy or the destination server).
954  * G_SOCKET_CLIENT_CONNECTED
955  * The client has connected to a remote
956  *  host.
957  * G_SOCKET_CLIENT_PROXY_NEGOTIATING
958  * The client is negotiating
959  *  with a proxy to connect to the destination server.
960  * G_SOCKET_CLIENT_PROXY_NEGOTIATED
961  * The client has negotiated
962  *  with the proxy server.
963  * G_SOCKET_CLIENT_TLS_HANDSHAKING
964  * The client is performing a
965  *  TLS handshake.
966  * G_SOCKET_CLIENT_TLS_HANDSHAKED
967  * The client has performed a
968  *  TLS handshake.
969  * G_SOCKET_CLIENT_COMPLETE
970  * The client is done with a particular
971  *  GSocketConnectable.
972  * Since 2.32
973  */
974 public enum GSocketClientEvent
975 {
976 	RESOLVING,
977 	RESOLVED,
978 	CONNECTING,
979 	CONNECTED,
980 	PROXY_NEGOTIATING,
981 	PROXY_NEGOTIATED,
982 	TLS_HANDSHAKING,
983 	TLS_HANDSHAKED,
984 	COMPLETE
985 }
986 alias GSocketClientEvent SocketClientEvent;
987 
988 /**
989  * An error code used with G_TLS_ERROR in a GError returned from a
990  * TLS-related routine.
991  * G_TLS_ERROR_UNAVAILABLE
992  * No TLS provider is available
993  * G_TLS_ERROR_MISC
994  * Miscellaneous TLS error
995  * G_TLS_ERROR_BAD_CERTIFICATE
996  * A certificate could not be parsed
997  * G_TLS_ERROR_NOT_TLS
998  * The TLS handshake failed because the
999  *  peer does not seem to be a TLS server.
1000  * G_TLS_ERROR_HANDSHAKE
1001  * The TLS handshake failed because the
1002  *  peer's certificate was not acceptable.
1003  * G_TLS_ERROR_CERTIFICATE_REQUIRED
1004  * The TLS handshake failed because
1005  *  the server requested a client-side certificate, but none was
1006  *  provided. See g_tls_connection_set_certificate().
1007  * G_TLS_ERROR_EOF
1008  * The TLS connection was closed without proper
1009  *  notice, which may indicate an attack. See
1010  *  g_tls_connection_set_require_close_notify().
1011  * Since 2.28
1012  */
1013 public enum GTlsError
1014 {
1015 	UNAVAILABLE,
1016 	MISC,
1017 	BAD_CERTIFICATE,
1018 	NOT_TLS,
1019 	HANDSHAKE,
1020 	CERTIFICATE_REQUIRED,
1021 	EOF
1022 }
1023 alias GTlsError TlsError;
1024 
1025 /**
1026  * The client authentication mode for a GTlsServerConnection.
1027  * G_TLS_AUTHENTICATION_NONE
1028  * client authentication not required
1029  * G_TLS_AUTHENTICATION_REQUESTED
1030  * client authentication is requested
1031  * G_TLS_AUTHENTICATION_REQUIRED
1032  * client authentication is required
1033  * Since 2.28
1034  */
1035 public enum GTlsAuthenticationMode
1036 {
1037 	NONE,
1038 	REQUESTED,
1039 	REQUIRED
1040 }
1041 alias GTlsAuthenticationMode TlsAuthenticationMode;
1042 
1043 /**
1044  * A set of flags describing TLS certification validation. This can be
1045  * used to set which validation steps to perform (eg, with
1046  * g_tls_client_connection_set_validation_flags()), or to describe why
1047  * a particular certificate was rejected (eg, in
1048  * "accept-certificate").
1049  * G_TLS_CERTIFICATE_UNKNOWN_CA
1050  * The signing certificate authority is
1051  *  not known.
1052  * G_TLS_CERTIFICATE_BAD_IDENTITY
1053  * The certificate does not match the
1054  *  expected identity of the site that it was retrieved from.
1055  * G_TLS_CERTIFICATE_NOT_ACTIVATED
1056  * The certificate's activation time
1057  *  is still in the future
1058  * G_TLS_CERTIFICATE_EXPIRED
1059  * The certificate has expired
1060  * G_TLS_CERTIFICATE_REVOKED
1061  * The certificate has been revoked
1062  *  according to the GTlsConnection's certificate revocation list.
1063  * G_TLS_CERTIFICATE_INSECURE
1064  * The certificate's algorithm is
1065  *  considered insecure.
1066  * G_TLS_CERTIFICATE_GENERIC_ERROR
1067  * Some other error occurred validating
1068  *  the certificate
1069  * G_TLS_CERTIFICATE_VALIDATE_ALL
1070  * the combination of all of the above
1071  *  flags
1072  * Since 2.28
1073  */
1074 public enum GTlsCertificateFlags
1075 {
1076 	UNKNOWN_CA = (1 << 0),
1077 	BAD_IDENTITY = (1 << 1),
1078 	NOT_ACTIVATED = (1 << 2),
1079 	EXPIRED = (1 << 3),
1080 	REVOKED = (1 << 4),
1081 	INSECURE = (1 << 5),
1082 	GENERIC_ERROR = (1 << 6),
1083 	VALIDATE_ALL = 0x007f
1084 }
1085 alias GTlsCertificateFlags TlsCertificateFlags;
1086 
1087 /**
1088  * When to allow rehandshaking. See
1089  * g_tls_connection_set_rehandshake_mode().
1090  * G_TLS_REHANDSHAKE_NEVER
1091  * Never allow rehandshaking
1092  * G_TLS_REHANDSHAKE_SAFELY
1093  * Allow safe rehandshaking only
1094  * G_TLS_REHANDSHAKE_UNSAFELY
1095  * Allow unsafe rehandshaking
1096  * Since 2.28
1097  */
1098 public enum GTlsRehandshakeMode
1099 {
1100 	NEVER,
1101 	SAFELY,
1102 	UNSAFELY
1103 }
1104 alias GTlsRehandshakeMode TlsRehandshakeMode;
1105 
1106 /**
1107  * Flags for g_tls_database_verify_chain().
1108  * G_TLS_DATABASE_VERIFY_NONE
1109  * No verification flags
1110  * Since 2.30
1111  */
1112 public enum GTlsDatabaseVerifyFlags
1113 {
1114 	NONE = 0
1115 }
1116 alias GTlsDatabaseVerifyFlags TlsDatabaseVerifyFlags;
1117 
1118 /**
1119  * Flags for g_tls_database_lookup_certificate_handle(),
1120  * g_tls_database_lookup_certificate_issuer(),
1121  * and g_tls_database_lookup_certificates_issued_by().
1122  * G_TLS_DATABASE_LOOKUP_NONE
1123  * No lookup flags
1124  * G_TLS_DATABASE_LOOKUP_KEYPAIR
1125  * Restrict lookup to certificates that have
1126  *  a private key.
1127  * Since 2.30
1128  */
1129 public enum GTlsDatabaseLookupFlags
1130 {
1131 	NONE = 0,
1132 	KEYPAIR = 1
1133 }
1134 alias GTlsDatabaseLookupFlags TlsDatabaseLookupFlags;
1135 
1136 /**
1137  * GTlsInteractionResult is returned by various functions in GTlsInteraction
1138  * when finishing an interaction request.
1139  * G_TLS_INTERACTION_UNHANDLED
1140  * The interaction was unhandled (i.e. not
1141  *  implemented).
1142  * G_TLS_INTERACTION_HANDLED
1143  * The interaction completed, and resulting data
1144  *  is available.
1145  * G_TLS_INTERACTION_FAILED
1146  * The interaction has failed, or was cancelled.
1147  *  and the operation should be aborted.
1148  * Since 2.30
1149  */
1150 public enum GTlsInteractionResult
1151 {
1152 	UNHANDLED,
1153 	HANDLED,
1154 	FAILED
1155 }
1156 alias GTlsInteractionResult TlsInteractionResult;
1157 
1158 /**
1159  * Various flags for the password.
1160  * G_TLS_PASSWORD_NONE
1161  * No flags
1162  * G_TLS_PASSWORD_RETRY
1163  * The password was wrong, and the user should retry.
1164  * G_TLS_PASSWORD_MANY_TRIES
1165  * Hint to the user that the password has been
1166  *  wrong many times, and the user may not have many chances left.
1167  * G_TLS_PASSWORD_FINAL_TRY
1168  * Hint to the user that this is the last try to get
1169  *  this password right.
1170  * Since 2.30
1171  */
1172 public enum GTlsPasswordFlags
1173 {
1174 	NONE = 0,
1175 	RETRY = 1 << 1,
1176 	MANY_TRIES = 1 << 2,
1177 	FINAL_TRY = 1 << 3
1178 }
1179 alias GTlsPasswordFlags TlsPasswordFlags;
1180 
1181 /**
1182  * An error code used with G_RESOLVER_ERROR in a GError returned
1183  * from a GResolver routine.
1184  * G_RESOLVER_ERROR_NOT_FOUND
1185  * the requested name/address/service was not
1186  *  found
1187  * G_RESOLVER_ERROR_TEMPORARY_FAILURE
1188  * the requested information could not
1189  *  be looked up due to a network error or similar problem
1190  * G_RESOLVER_ERROR_INTERNAL
1191  * unknown error
1192  * Since 2.22
1193  * Signal Details
1194  * The "reload" signal
1195  * void user_function (GResolver *resolver,
1196  *  gpointer user_data) : Run Last
1197  * Emitted when the resolver notices that the system resolver
1198  * configuration has changed.
1199  * resolver :
1200  * a GResolver
1201  * user_data :
1202  * user data set when the signal handler was connected.
1203  */
1204 public enum GResolverError
1205 {
1206 	NOT_FOUND,
1207 	TEMPORARY_FAILURE,
1208 	INTERNAL
1209 }
1210 alias GResolverError ResolverError;
1211 
1212 /**
1213  * Flags describing the access control of a D-Bus property.
1214  * G_DBUS_PROPERTY_INFO_FLAGS_NONE
1215  * No flags set.
1216  * G_DBUS_PROPERTY_INFO_FLAGS_READABLE
1217  * Property is readable.
1218  * G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE
1219  * Property is writable.
1220  * Since 2.26
1221  */
1222 public enum GDBusPropertyInfoFlags
1223 {
1224 	NONE = 0,
1225 	READABLE = (1<<0),
1226 	WRITABLE = (1<<1)
1227 }
1228 alias GDBusPropertyInfoFlags DBusPropertyInfoFlags;
1229 
1230 /**
1231  * Error codes for the G_DBUS_ERROR error domain.
1232  * G_DBUS_ERROR_FAILED
1233  * A generic error; "something went wrong" - see the error message for
1234  * more.
1235  * G_DBUS_ERROR_NO_MEMORY
1236  * There was not enough memory to complete an operation.
1237  * G_DBUS_ERROR_SERVICE_UNKNOWN
1238  * The bus doesn't know how to launch a service to supply the bus name
1239  * you wanted.
1240  * G_DBUS_ERROR_NAME_HAS_NO_OWNER
1241  * The bus name you referenced doesn't exist (i.e. no application owns
1242  * it).
1243  * G_DBUS_ERROR_NO_REPLY
1244  * No reply to a message expecting one, usually means a timeout occurred.
1245  * G_DBUS_ERROR_IO_ERROR
1246  * Something went wrong reading or writing to a socket, for example.
1247  * G_DBUS_ERROR_BAD_ADDRESS
1248  * A D-Bus bus address was malformed.
1249  * G_DBUS_ERROR_NOT_SUPPORTED
1250  * Requested operation isn't supported (like ENOSYS on UNIX).
1251  * G_DBUS_ERROR_LIMITS_EXCEEDED
1252  * Some limited resource is exhausted.
1253  * G_DBUS_ERROR_ACCESS_DENIED
1254  * Security restrictions don't allow doing what you're trying to do.
1255  * G_DBUS_ERROR_AUTH_FAILED
1256  * Authentication didn't work.
1257  * G_DBUS_ERROR_NO_SERVER
1258  * Unable to connect to server (probably caused by ECONNREFUSED on a
1259  * socket).
1260  * G_DBUS_ERROR_TIMEOUT
1261  * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that
1262  * G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:
1263  * this is confusingly-named given that G_DBUS_ERROR_TIMED_OUT also
1264  * exists. We can't fix it for compatibility reasons so just be
1265  * careful.
1266  * G_DBUS_ERROR_NO_NETWORK
1267  * No network access (probably ENETUNREACH on a socket).
1268  * G_DBUS_ERROR_ADDRESS_IN_USE
1269  * Can't bind a socket since its address is in use (i.e. EADDRINUSE).
1270  * G_DBUS_ERROR_DISCONNECTED
1271  * The connection is disconnected and you're trying to use it.
1272  * G_DBUS_ERROR_INVALID_ARGS
1273  * Invalid arguments passed to a method call.
1274  * G_DBUS_ERROR_FILE_NOT_FOUND
1275  * Missing file.
1276  * G_DBUS_ERROR_FILE_EXISTS
1277  * Existing file and the operation you're using does not silently overwrite.
1278  * G_DBUS_ERROR_UNKNOWN_METHOD
1279  * Method name you invoked isn't known by the object you invoked it on.
1280  * G_DBUS_ERROR_TIMED_OUT
1281  * Certain timeout errors, e.g. while starting a service. Warning: this is
1282  * confusingly-named given that G_DBUS_ERROR_TIMEOUT also exists. We
1283  * can't fix it for compatibility reasons so just be careful.
1284  * G_DBUS_ERROR_MATCH_RULE_NOT_FOUND
1285  * Tried to remove or modify a match rule that didn't exist.
1286  * G_DBUS_ERROR_MATCH_RULE_INVALID
1287  * The match rule isn't syntactically valid.
1288  * G_DBUS_ERROR_SPAWN_EXEC_FAILED
1289  * While starting a new process, the exec() call failed.
1290  * G_DBUS_ERROR_SPAWN_FORK_FAILED
1291  * While starting a new process, the fork() call failed.
1292  * G_DBUS_ERROR_SPAWN_CHILD_EXITED
1293  * While starting a new process, the child exited with a status code.
1294  * G_DBUS_ERROR_SPAWN_CHILD_SIGNALED
1295  * While starting a new process, the child exited on a signal.
1296  * G_DBUS_ERROR_SPAWN_FAILED
1297  * While starting a new process, something went wrong.
1298  * G_DBUS_ERROR_SPAWN_SETUP_FAILED
1299  * We failed to setup the environment correctly.
1300  * G_DBUS_ERROR_SPAWN_CONFIG_INVALID
1301  * We failed to setup the config parser correctly.
1302  * G_DBUS_ERROR_SPAWN_SERVICE_INVALID
1303  * Bus name was not valid.
1304  * G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND
1305  * Service file not found in system-services directory.
1306  * G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID
1307  * Permissions are incorrect on the setuid helper.
1308  * G_DBUS_ERROR_SPAWN_FILE_INVALID
1309  * Service file invalid (Name, User or Exec missing).
1310  * G_DBUS_ERROR_SPAWN_NO_MEMORY
1311  * Tried to get a UNIX process ID and it wasn't available.
1312  * G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
1313  * Tried to get a UNIX process ID and it wasn't available.
1314  * G_DBUS_ERROR_INVALID_SIGNATURE
1315  * A type signature is not valid.
1316  * G_DBUS_ERROR_INVALID_FILE_CONTENT
1317  * A file contains invalid syntax or is otherwise broken.
1318  * G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN
1319  * Asked for SELinux security context and it wasn't available.
1320  * G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN
1321  * Asked for ADT audit data and it wasn't available.
1322  * G_DBUS_ERROR_OBJECT_PATH_IN_USE
1323  * There's already an object with the requested object path.
1324  * Since 2.26
1325  */
1326 public enum GDBusError
1327 {
1328 	FAILED, /+* org.freedesktop.DBus.Error.Failed +/
1329 	NO_MEMORY, /+* org.freedesktop.DBus.Error.NoMemory +/
1330 	SERVICE_UNKNOWN, /+* org.freedesktop.DBus.Error.ServiceUnknown +/
1331 	NAME_HAS_NO_OWNER, /+* org.freedesktop.DBus.Error.NameHasNoOwner +/
1332 	NO_REPLY, /+* org.freedesktop.DBus.Error.NoReply +/
1333 	IO_ERROR, /+* org.freedesktop.DBus.Error.IOError +/
1334 	BAD_ADDRESS, /+* org.freedesktop.DBus.Error.BadAddress +/
1335 	NOT_SUPPORTED, /+* org.freedesktop.DBus.Error.NotSupported +/
1336 	LIMITS_EXCEEDED, /+* org.freedesktop.DBus.Error.LimitsExceeded +/
1337 	ACCESS_DENIED, /+* org.freedesktop.DBus.Error.AccessDenied +/
1338 	AUTH_FAILED, /+* org.freedesktop.DBus.Error.AuthFailed +/
1339 	NO_SERVER, /+* org.freedesktop.DBus.Error.NoServer +/
1340 	TIMEOUT, /+* org.freedesktop.DBus.Error.Timeout +/
1341 	NO_NETWORK, /+* org.freedesktop.DBus.Error.NoNetwork +/
1342 	ADDRESS_IN_USE, /+* org.freedesktop.DBus.Error.AddressInUse +/
1343 	DISCONNECTED, /+* org.freedesktop.DBus.Error.Disconnected +/
1344 	INVALID_ARGS, /+* org.freedesktop.DBus.Error.InvalidArgs +/
1345 	FILE_NOT_FOUND, /+* org.freedesktop.DBus.Error.FileNotFound +/
1346 	FILE_EXISTS, /+* org.freedesktop.DBus.Error.FileExists +/
1347 	UNKNOWN_METHOD, /+* org.freedesktop.DBus.Error.UnknownMethod +/
1348 	TIMED_OUT, /+* org.freedesktop.DBus.Error.TimedOut +/
1349 	MATCH_RULE_NOT_FOUND, /+* org.freedesktop.DBus.Error.MatchRuleNotFound +/
1350 	MATCH_RULE_INVALID, /+* org.freedesktop.DBus.Error.MatchRuleInvalid +/
1351 	SPAWN_EXEC_FAILED, /+* org.freedesktop.DBus.Error.Spawn.ExecFailed +/
1352 	SPAWN_FORK_FAILED, /+* org.freedesktop.DBus.Error.Spawn.ForkFailed +/
1353 	SPAWN_CHILD_EXITED, /+* org.freedesktop.DBus.Error.Spawn.ChildExited +/
1354 	SPAWN_CHILD_SIGNALED, /+* org.freedesktop.DBus.Error.Spawn.ChildSignaled +/
1355 	SPAWN_FAILED, /+* org.freedesktop.DBus.Error.Spawn.Failed +/
1356 	SPAWN_SETUP_FAILED, /+* org.freedesktop.DBus.Error.Spawn.FailedToSetup +/
1357 	SPAWN_CONFIG_INVALID, /+* org.freedesktop.DBus.Error.Spawn.ConfigInvalid +/
1358 	SPAWN_SERVICE_INVALID, /+* org.freedesktop.DBus.Error.Spawn.ServiceNotValid +/
1359 	SPAWN_SERVICE_NOT_FOUND, /+* org.freedesktop.DBus.Error.Spawn.ServiceNotFound +/
1360 	SPAWN_PERMISSIONS_INVALID, /+* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid +/
1361 	SPAWN_FILE_INVALID, /+* org.freedesktop.DBus.Error.Spawn.FileInvalid +/
1362 	SPAWN_NO_MEMORY, /+* org.freedesktop.DBus.Error.Spawn.NoMemory +/
1363 	UNIX_PROCESS_ID_UNKNOWN, /+* org.freedesktop.DBus.Error.UnixProcessIdUnknown +/
1364 	INVALID_SIGNATURE, /+* org.freedesktop.DBus.Error.InvalidSignature +/
1365 	INVALID_FILE_CONTENT, /+* org.freedesktop.DBus.Error.InvalidFileContent +/
1366 	SELINUX_SECURITY_CONTEXT_UNKNOWN, /+* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown +/
1367 	ADT_AUDIT_DATA_UNKNOWN, /+* org.freedesktop.DBus.Error.AdtAuditDataUnknown +/
1368 	OBJECT_PATH_IN_USE /+* org.freedesktop.DBus.Error.ObjectPathInUse +/
1369 }
1370 alias GDBusError DBusError;
1371 
1372 /**
1373  * Message types used in GDBusMessage.
1374  * G_DBUS_MESSAGE_TYPE_INVALID
1375  * Message is of invalid type.
1376  * G_DBUS_MESSAGE_TYPE_METHOD_CALL
1377  * Method call.
1378  * G_DBUS_MESSAGE_TYPE_METHOD_RETURN
1379  * Method reply.
1380  * G_DBUS_MESSAGE_TYPE_ERROR
1381  * Error reply.
1382  * G_DBUS_MESSAGE_TYPE_SIGNAL
1383  * Signal emission.
1384  * Since 2.26
1385  */
1386 public enum GDBusMessageType
1387 {
1388 	TYPE_INVALID,
1389 	TYPE_METHOD_CALL,
1390 	TYPE_METHOD_RETURN,
1391 	TYPE_ERROR,
1392 	TYPE_SIGNAL
1393 }
1394 alias GDBusMessageType DBusMessageType;
1395 
1396 /**
1397  * Message flags used in GDBusMessage.
1398  * G_DBUS_MESSAGE_FLAGS_NONE
1399  * No flags set.
1400  * G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED
1401  * A reply is not expected.
1402  * G_DBUS_MESSAGE_FLAGS_NO_AUTO_START
1403  * The bus must not launch an
1404  * owner for the destination name in response to this message.
1405  * Since 2.26
1406  */
1407 public enum GDBusMessageFlags
1408 {
1409 	NONE = 0,
1410 	NO_REPLY_EXPECTED = (1<<0),
1411 	NO_AUTO_START = (1<<1)
1412 }
1413 alias GDBusMessageFlags DBusMessageFlags;
1414 
1415 /**
1416  * Header fields used in GDBusMessage.
1417  * G_DBUS_MESSAGE_HEADER_FIELD_INVALID
1418  * Not a valid header field.
1419  * G_DBUS_MESSAGE_HEADER_FIELD_PATH
1420  * The object path.
1421  * G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE
1422  * The interface name.
1423  * G_DBUS_MESSAGE_HEADER_FIELD_MEMBER
1424  * The method or signal name.
1425  * G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME
1426  * The name of the error that occurred.
1427  * G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL
1428  * The serial number the message is a reply to.
1429  * G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION
1430  * The name the message is intended for.
1431  * G_DBUS_MESSAGE_HEADER_FIELD_SENDER
1432  * Unique name of the sender of the message (filled in by the bus).
1433  * G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE
1434  * The signature of the message body.
1435  * G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS
1436  * The number of UNIX file descriptors that accompany the message.
1437  * Since 2.26
1438  */
1439 public enum GDBusMessageHeaderField
1440 {
1441 	INVALID,
1442 	PATH,
1443 	INTERFACE,
1444 	MEMBER,
1445 	ERROR_NAME,
1446 	REPLY_SERIAL,
1447 	DESTINATION,
1448 	SENDER,
1449 	SIGNATURE,
1450 	NUM_UNIX_FDS
1451 }
1452 alias GDBusMessageHeaderField DBusMessageHeaderField;
1453 
1454 /**
1455  * Enumeration used to describe the byte order of a D-Bus message.
1456  * G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN
1457  * The byte order is big endian.
1458  * G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN
1459  * The byte order is little endian.
1460  * Since 2.26
1461  */
1462 public enum GDBusMessageByteOrder
1463 {
1464 	BIG_ENDIAN = 'B',
1465 	LITTLE_ENDIAN = 'l'
1466 }
1467 alias GDBusMessageByteOrder DBusMessageByteOrder;
1468 
1469 /**
1470  * An enumeration for well-known message buses.
1471  * G_BUS_TYPE_STARTER
1472  * An alias for the message bus that activated the process, if any.
1473  * G_BUS_TYPE_NONE
1474  * Not a message bus.
1475  * G_BUS_TYPE_SYSTEM
1476  * The system-wide message bus.
1477  * G_BUS_TYPE_SESSION
1478  * The login session message bus.
1479  * Since 2.26
1480  */
1481 public enum GBusType
1482 {
1483 	TYPE_STARTER = -1,
1484 	TYPE_NONE = 0,
1485 	TYPE_SYSTEM = 1,
1486 	TYPE_SESSION = 2
1487 }
1488 alias GBusType BusType;
1489 
1490 /**
1491  * Flags used when creating a new GDBusConnection.
1492  * G_DBUS_CONNECTION_FLAGS_NONE
1493  * No flags set.
1494  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT
1495  * Perform authentication against server.
1496  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER
1497  * Perform authentication against client.
1498  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS
1499  * When
1500  * authenticating as a server, allow the anonymous authentication
1501  * method.
1502  * G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION
1503  * Pass this flag if connecting to a peer that is a
1504  * message bus. This means that the Hello() method will be invoked as part of the connection setup.
1505  * G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING
1506  * If set, processing of D-Bus messages is
1507  * delayed until g_dbus_connection_start_message_processing() is called.
1508  * Since 2.26
1509  */
1510 public enum GDBusConnectionFlags
1511 {
1512 	NONE = 0,
1513 	AUTHENTICATION_CLIENT = (1<<0),
1514 	AUTHENTICATION_SERVER = (1<<1),
1515 	AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2),
1516 	MESSAGE_BUS_CONNECTION = (1<<3),
1517 	DELAY_MESSAGE_PROCESSING = (1<<4)
1518 }
1519 alias GDBusConnectionFlags DBusConnectionFlags;
1520 
1521 /**
1522  * Capabilities negotiated with the remote peer.
1523  * G_DBUS_CAPABILITY_FLAGS_NONE
1524  * No flags set.
1525  * G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING
1526  * The connection
1527  * supports exchanging UNIX file descriptors with the remote peer.
1528  * Since 2.26
1529  */
1530 public enum GDBusCapabilityFlags
1531 {
1532 	NONE = 0,
1533 	UNIX_FD_PASSING = (1<<0)
1534 }
1535 alias GDBusCapabilityFlags DBusCapabilityFlags;
1536 
1537 /**
1538  * Flags used in g_dbus_connection_call() and similar APIs.
1539  * G_DBUS_CALL_FLAGS_NONE
1540  * No flags set.
1541  * G_DBUS_CALL_FLAGS_NO_AUTO_START
1542  * The bus must not launch
1543  * an owner for the destination name in response to this method
1544  * invocation.
1545  * Since 2.26
1546  */
1547 public enum GDBusCallFlags
1548 {
1549 	NONE = 0,
1550 	NO_AUTO_START = (1<<0)
1551 }
1552 alias GDBusCallFlags DBusCallFlags;
1553 
1554 /**
1555  * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
1556  * G_DBUS_SIGNAL_FLAGS_NONE
1557  * No flags set.
1558  * G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
1559  * Don't actually send the AddMatch
1560  * D-Bus call for this signal subscription. This gives you more control
1561  * over which match rules you add (but you must add them manually).
1562  * G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE
1563  * Match first arguments that
1564  * contain a bus or interface name with the given namespace.
1565  * G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH
1566  * Match first arguments that
1567  * contain an object path that is either equivalent to the given path,
1568  * or one of the paths is a subpath of the other.
1569  * Since 2.26
1570  */
1571 public enum GDBusSignalFlags
1572 {
1573 	NONE = 0,
1574 	NO_MATCH_RULE = (1<<0),
1575 	MATCH_ARG0_NAMESPACE = (1<<1),
1576 	MATCH_ARG0_PATH = (1<<2)
1577 }
1578 alias GDBusSignalFlags DBusSignalFlags;
1579 
1580 /**
1581  * Flags used when sending GDBusMessages on a GDBusConnection.
1582  * G_DBUS_SEND_MESSAGE_FLAGS_NONE
1583  * No flags set.
1584  * G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL
1585  * Do not automatically
1586  * assign a serial number from the GDBusConnection object when
1587  * sending a message.
1588  * Since 2.26
1589  */
1590 public enum GDBusSendMessageFlags
1591 {
1592 	NONE = 0,
1593 	PRESERVE_SERIAL = (1<<0)
1594 }
1595 alias GDBusSendMessageFlags DBusSendMessageFlags;
1596 
1597 /**
1598  * Flags passed to g_dbus_connection_register_subtree().
1599  * G_DBUS_SUBTREE_FLAGS_NONE
1600  * No flags set.
1601  * G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES
1602  * Method calls to objects not in the enumerated range
1603  *  will still be dispatched. This is useful if you want
1604  *  to dynamically spawn objects in the subtree.
1605  * Since 2.26
1606  */
1607 public enum GDBusSubtreeFlags
1608 {
1609 	NONE = 0,
1610 	DISPATCH_TO_UNENUMERATED_NODES = (1<<0)
1611 }
1612 alias GDBusSubtreeFlags DBusSubtreeFlags;
1613 
1614 /**
1615  * Flags used when creating a GDBusServer.
1616  * G_DBUS_SERVER_FLAGS_NONE
1617  * No flags set.
1618  * G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
1619  * All "new-connection"
1620  * signals will run in separated dedicated threads (see signal for
1621  * details).
1622  * G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS
1623  * Allow the anonymous
1624  * authentication method.
1625  * Since 2.26
1626  */
1627 public enum GDBusServerFlags
1628 {
1629 	NONE = 0,
1630 	RUN_IN_THREAD = (1<<0),
1631 	AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1)
1632 }
1633 alias GDBusServerFlags DBusServerFlags;
1634 
1635 /**
1636  * Flags used in g_bus_own_name().
1637  * G_BUS_NAME_OWNER_FLAGS_NONE
1638  * No flags set.
1639  * G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT
1640  * Allow another message bus connection to claim the name.
1641  * G_BUS_NAME_OWNER_FLAGS_REPLACE
1642  * If another message bus connection owns the name and have
1643  * specified G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
1644  * Since 2.26
1645  */
1646 public enum GBusNameOwnerFlags
1647 {
1648 	NONE = 0, /+*< nick=none >+/
1649 	ALLOW_REPLACEMENT = (1 << 0), /+*< nick=allow-replacement >+/
1650 	REPLACE = (1 << 1) /+*< nick=replace >+/
1651 }
1652 alias GBusNameOwnerFlags BusNameOwnerFlags;
1653 
1654 /**
1655  * Flags used in g_bus_watch_name().
1656  * G_BUS_NAME_WATCHER_FLAGS_NONE
1657  * No flags set.
1658  * G_BUS_NAME_WATCHER_FLAGS_AUTO_START
1659  * If no-one owns the name when
1660  * beginning to watch the name, ask the bus to launch an owner for the
1661  * name.
1662  * Since 2.26
1663  */
1664 public enum GBusNameWatcherFlags
1665 {
1666 	NONE = 0,
1667 	AUTO_START = (1<<0)
1668 }
1669 alias GBusNameWatcherFlags BusNameWatcherFlags;
1670 
1671 /**
1672  * Flags describing the behavior of a GDBusInterfaceSkeleton instance.
1673  * G_DBUS_INTERFACE_SKELETON_FLAGS_NONE
1674  * No flags set.
1675  * G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD
1676  * Each method invocation is handled in
1677  *  a thread dedicated to the invocation. This means that the method implementation can use blocking IO
1678  *  without blocking any other part of the process. It also means that the method implementation must
1679  *  use locking to access data structures used by other threads.
1680  * Since 2.30
1681  */
1682 public enum GDBusInterfaceSkeletonFlags
1683 {
1684 	NONE = 0,
1685 	HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0)
1686 }
1687 alias GDBusInterfaceSkeletonFlags DBusInterfaceSkeletonFlags;
1688 
1689 /**
1690  * Flags used when constructing an instance of a GDBusProxy derived class.
1691  * G_DBUS_PROXY_FLAGS_NONE
1692  * No flags set.
1693  * G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES
1694  * Don't load properties.
1695  * G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS
1696  * Don't connect to signals on the remote object.
1697  * G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START
1698  * If not set and the proxy if for a well-known name,
1699  * then request the bus to launch an owner for the name if no-one owns the name. This flag can
1700  * only be used in proxies for well-known names.
1701  * G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES
1702  * If set, the property value for any invalidated property will be (asynchronously) retrieved upon receiving the PropertiesChanged D-Bus signal and the property will not cause emission of the "g-properties-changed" signal. When the value is received the "g-properties-changed" signal is emitted for the property along with the retrieved value. Since 2.32.
1703  * Since 2.26
1704  */
1705 public enum GDBusProxyFlags
1706 {
1707 	NONE = 0,
1708 	DO_NOT_LOAD_PROPERTIES = (1<<0),
1709 	DO_NOT_CONNECT_SIGNALS = (1<<1),
1710 	DO_NOT_AUTO_START = (1<<2),
1711 	GET_INVALIDATED_PROPERTIES = (1<<3)
1712 }
1713 alias GDBusProxyFlags DBusProxyFlags;
1714 
1715 /**
1716  * Flags used when constructing a GDBusObjectManagerClient.
1717  * G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE
1718  * No flags set.
1719  * G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START
1720  * If not set and the
1721  *  manager is for a well-known name, then request the bus to launch
1722  *  an owner for the name if no-one owns the name. This flag can only
1723  *  be used in managers for well-known names.
1724  * Since 2.30
1725  */
1726 public enum GDBusObjectManagerClientFlags
1727 {
1728 	NONE = 0,
1729 	DO_NOT_AUTO_START = (1<<0)
1730 }
1731 alias GDBusObjectManagerClientFlags DBusObjectManagerClientFlags;
1732 
1733 /**
1734  * Flags used when creating a binding. These flags determine in which
1735  * direction the binding works. The default is to synchronize in both
1736  * directions.
1737  * G_SETTINGS_BIND_DEFAULT
1738  * Equivalent to G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET
1739  * G_SETTINGS_BIND_GET
1740  * Update the GObject property when the setting changes.
1741  *  It is an error to use this flag if the property is not writable.
1742  * G_SETTINGS_BIND_SET
1743  * Update the setting when the GObject property changes.
1744  *  It is an error to use this flag if the property is not readable.
1745  * G_SETTINGS_BIND_NO_SENSITIVITY
1746  * Do not try to bind a "sensitivity" property to the writability of the setting
1747  * G_SETTINGS_BIND_GET_NO_CHANGES
1748  * When set in addition to G_SETTINGS_BIND_GET, set the GObject property
1749  *  value initially from the setting, but do not listen for changes of the setting
1750  * G_SETTINGS_BIND_INVERT_BOOLEAN
1751  * When passed to g_settings_bind(), uses a pair of mapping functions that invert
1752  *  the boolean value when mapping between the setting and the property. The setting and property must both
1753  *  be booleans. You cannot pass this flag to g_settings_bind_with_mapping().
1754  */
1755 public enum GSettingsBindFlags
1756 {
1757 	DEFAULT,
1758 	GET = (1<<0),
1759 	SET = (1<<1),
1760 	NO_SENSITIVITY = (1<<2),
1761 	GET_NO_CHANGES = (1<<3),
1762 	INVERT_BOOLEAN = (1<<4)
1763 }
1764 alias GSettingsBindFlags SettingsBindFlags;
1765 
1766 /**
1767  * GResourceFlags give information about a particular file inside a resource
1768  * bundle.
1769  * G_RESOURCE_FLAGS_NONE
1770  * No flags set.
1771  * G_RESOURCE_FLAGS_COMPRESSED
1772  * The file is compressed.
1773  * Since 2.32
1774  */
1775 public enum GResourceFlags
1776 {
1777 	NONE = 0,
1778 	COMPRESSED = (1<<0)
1779 }
1780 alias GResourceFlags ResourceFlags;
1781 
1782 /**
1783  * GResourceLookupFlags determine how resource path lookups are handled.
1784  * G_RESOURCE_LOOKUP_FLAGS_NONE
1785  * No flags set.
1786  * Since 2.32
1787  */
1788 public enum GResourceLookupFlags
1789 {
1790 	NONE = 0
1791 }
1792 alias GResourceLookupFlags ResourceLookupFlags;
1793 
1794 /**
1795  * An error code used with G_RESOURCE_ERROR in a GError returned
1796  * from a GResource routine.
1797  * G_RESOURCE_ERROR_NOT_FOUND
1798  * no file was found at the requested path
1799  * G_RESOURCE_ERROR_INTERNAL
1800  * unknown error
1801  * Since 2.32
1802  */
1803 public enum GResourceError
1804 {
1805 	NOT_FOUND,
1806 	INTERNAL
1807 }
1808 alias GResourceError ResourceError;
1809 
1810 /**
1811  * Flags used to define the behaviour of a GApplication.
1812  * G_APPLICATION_FLAGS_NONE
1813  * Default
1814  * G_APPLICATION_IS_SERVICE
1815  * Run as a service. In this mode, registration
1816  *  fails if the service is already running, and the application
1817  *  will initially wait up to 10 seconds for an initial activation
1818  *  message to arrive.
1819  * G_APPLICATION_IS_LAUNCHER
1820  * Don't try to become the primary instance.
1821  * G_APPLICATION_HANDLES_OPEN
1822  * This application handles opening files (in
1823  *  the primary instance). Note that this flag only affects the default
1824  *  implementation of local_command_line(), and has no effect if
1825  *  G_APPLICATION_HANDLES_COMMAND_LINE is given.
1826  *  See g_application_run() for details.
1827  * G_APPLICATION_HANDLES_COMMAND_LINE
1828  * This application handles command line
1829  *  arguments (in the primary instance). Note that this flag only affect
1830  *  the default implementation of local_command_line().
1831  *  See g_application_run() for details.
1832  * G_APPLICATION_SEND_ENVIRONMENT
1833  * Send the environment of the
1834  *  launching process to the primary instance. Set this flag if your
1835  *  application is expected to behave differently depending on certain
1836  *  environment variables. For instance, an editor might be expected
1837  *  to use the GIT_COMMITTER_NAME environment variable
1838  *  when editing a git commit message. The environment is available
1839  *  to the "command-line" signal handler, via
1840  *  g_application_command_line_getenv().
1841  * G_APPLICATION_NON_UNIQUE
1842  * Make no attempts to do any of the typical
1843  *  single-instance application negotiation, even if the application
1844  *  ID is given. The application neither attempts to become the
1845  *  owner of the application ID nor does it check if an existing
1846  *  owner already exists. Everything occurs in the local process.
1847  *  Since: 2.30.
1848  * Since 2.28
1849  */
1850 public enum GApplicationFlags
1851 {
1852 	NONE,
1853 	G_APPLICATION_IS_SERVICE = (1 << 0),
1854 	G_APPLICATION_IS_LAUNCHER = (1 << 1),
1855 	G_APPLICATION_HANDLES_OPEN = (1 << 2),
1856 	G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
1857 	G_APPLICATION_SEND_ENVIRONMENT = (1 << 4),
1858 	G_APPLICATION_NON_UNIQUE = (1 << 5)
1859 }
1860 alias GApplicationFlags ApplicationFlags;
1861 
1862 /**
1863  * Flags for use with g_io_module_scope_new().
1864  * G_IO_MODULE_SCOPE_NONE
1865  * No module scan flags
1866  * G_IO_MODULE_SCOPE_BLOCK_DUPLICATES
1867  * When using this scope to load or
1868  *  scan modules, automatically block a modules which has the same base
1869  *  basename as previously loaded module.
1870  * Since 2.30
1871  */
1872 public enum GIOModuleScopeFlags
1873 {
1874 	NONE,
1875 	BLOCK_DUPLICATES
1876 }
1877 alias GIOModuleScopeFlags IOModuleScopeFlags;
1878 
1879 /**
1880  * Flags to define future GTestDBus behaviour.
1881  * G_TEST_DBUS_NONE
1882  * No flags.
1883  * Since 2.34
1884  */
1885 public enum GTestDBusFlags
1886 {
1887 	NONE = 0
1888 }
1889 alias GTestDBusFlags TestDBusFlags;
1890 
1891 
1892 struct GStaticResource
1893 {
1894 	guint8* data;
1895 	gsize   data_len;
1896 	GResource* resource;
1897 	GStaticResource* next;
1898 	gpointer padding;
1899 }
1900 
1901 
1902 /**
1903  * Main Gtk struct.
1904  * A handle to an object implementing the GFileIface interface.
1905  * Generally stores a location within the file system. Handles do not
1906  * necessarily represent files or directories that currently exist.
1907  */
1908 public struct GFile{}
1909 
1910 
1911 /**
1912  * An interface for writing VFS file handles.
1913  * GTypeInterface g_iface;
1914  * The parent interface.
1915  * dup ()
1916  * Duplicates a GFile.
1917  * hash ()
1918  * Creates a hash of a GFile.
1919  * equal ()
1920  * Checks equality of two given GFiles.
1921  * is_native ()
1922  * Checks to see if a file is native to the system.
1923  * has_uri_scheme ()
1924  * Checks to see if a GFile has a given URI scheme.
1925  * get_uri_scheme ()
1926  * Gets the URI scheme for a GFile.
1927  * get_basename ()
1928  * Gets the basename for a given GFile.
1929  * get_path ()
1930  * Gets the current path within a GFile.
1931  * get_uri ()
1932  * Gets a URI for the path within a GFile.
1933  * get_parse_name ()
1934  * Gets the parsed name for the GFile.
1935  * get_parent ()
1936  * Gets the parent directory for the GFile.
1937  * prefix_matches ()
1938  * Checks whether a GFile contains a specified file.
1939  * get_relative_path ()
1940  * Gets the path for a GFile relative to a given path.
1941  * resolve_relative_path ()
1942  * Resolves a relative path for a GFile to an absolute path.
1943  * get_child_for_display_name ()
1944  * Gets the child GFile for a given display name.
1945  * enumerate_children ()
1946  * Gets a GFileEnumerator with the children of a GFile.
1947  * enumerate_children_async ()
1948  * Asynchronously gets a GFileEnumerator with the children of a GFile.
1949  * enumerate_children_finish ()
1950  * Finishes asynchronously enumerating the children.
1951  * query_info ()
1952  * Gets the GFileInfo for a GFile.
1953  * query_info_async ()
1954  * Asynchronously gets the GFileInfo for a GFile.
1955  * query_info_finish ()
1956  * Finishes an asynchronous query info operation.
1957  * query_filesystem_info ()
1958  * Gets a GFileInfo for the file system GFile is on.
1959  * query_filesystem_info_async ()
1960  * Asynchronously gets a GFileInfo for the file system GFile is on.
1961  * query_filesystem_info_finish ()
1962  * Finishes asynchronously getting the file system info.
1963  * find_enclosing_mount ()
1964  * Gets a GMount for the GFile.
1965  * find_enclosing_mount_async ()
1966  * Asynchronously gets the GMount for a GFile.
1967  * find_enclosing_mount_finish ()
1968  * Finishes asynchronously getting the volume.
1969  * set_display_name ()
1970  * Sets the display name for a GFile.
1971  * set_display_name_async ()
1972  * Asynchronously sets a GFile's display name.
1973  * set_display_name_finish ()
1974  * Finishes asynchronously setting a GFile's display name.
1975  * query_settable_attributes ()
1976  * Returns a list of GFileAttributes that can be set.
1977  * _query_settable_attributes_async ()
1978  * Asynchronously gets a list of GFileAttributes that can be set.
1979  * _query_settable_attributes_finish ()
1980  * Finishes asynchronously querying settable attributes.
1981  * query_writable_namespaces ()
1982  * Returns a list of GFileAttribute namespaces that are writable.
1983  * _query_writable_namespaces_async ()
1984  * Asynchronously gets a list of GFileAttribute namespaces that are writable.
1985  * _query_writable_namespaces_finish ()
1986  * Finishes asynchronously querying the writable namespaces.
1987  * set_attribute ()
1988  * Sets a GFileAttribute.
1989  * set_attributes_from_info ()
1990  * Sets a GFileAttribute with information from a GFileInfo.
1991  * set_attributes_async ()
1992  * Asynchronously sets a file's attributes.
1993  * set_attributes_finish ()
1994  * Finishes setting a file's attributes asynchronously.
1995  * read_fn ()
1996  * Reads a file asynchronously.
1997  * read_async ()
1998  * Asynchronously reads a file.
1999  * read_finish ()
2000  * Finishes asynchronously reading a file.
2001  * append_to ()
2002  * Writes to the end of a file.
2003  * append_to_async ()
2004  * Asynchronously writes to the end of a file.
2005  * append_to_finish ()
2006  * Finishes an asynchronous file append operation.
2007  * create ()
2008  * Creates a new file.
2009  * create_async ()
2010  * Asynchronously creates a file.
2011  * create_finish ()
2012  * Finishes asynchronously creating a file.
2013  * replace ()
2014  * Replaces the contents of a file.
2015  * replace_async ()
2016  * Asynchronously replaces the contents of a file.
2017  * replace_finish ()
2018  * Finishes asynchronously replacing a file.
2019  * delete_file ()
2020  * Deletes a file.
2021  * delete_file_async ()
2022  * Asynchronously deletes a file.
2023  * delete_file_finish ()
2024  * Finishes an asynchronous delete.
2025  * trash ()
2026  * Sends a GFile to the Trash location.
2027  * trash_async ()
2028  * Asynchronously sends a GFile to the Trash location.
2029  * trash_finish ()
2030  * Finishes an asynchronous file trashing operation.
2031  * make_directory ()
2032  * Makes a directory.
2033  * make_directory_async ()
2034  * Asynchronously makes a directory.
2035  * make_directory_finish ()
2036  * Finishes making a directory asynchronously.
2037  * make_symbolic_link ()
2038  * Makes a symbolic link.
2039  * _make_symbolic_link_async ()
2040  * Asynchronously makes a symbolic link
2041  * _make_symbolic_link_finish ()
2042  * Finishes making a symbolic link asynchronously.
2043  * copy ()
2044  * Copies a file.
2045  * copy_async ()
2046  * Asynchronously copies a file.
2047  * copy_finish ()
2048  * Finishes an asynchronous copy operation.
2049  * move ()
2050  * Moves a file.
2051  * _move_async ()
2052  * Asynchronously moves a file.
2053  * _move_finish ()
2054  * Finishes an asynchronous move operation.
2055  * mount_mountable ()
2056  * Mounts a mountable object.
2057  * mount_mountable_finish ()
2058  * Finishes a mounting operation.
2059  * unmount_mountable ()
2060  * Unmounts a mountable object.
2061  * unmount_mountable_finish ()
2062  * Finishes an unmount operation.
2063  * eject_mountable ()
2064  * Ejects a mountable.
2065  * eject_mountable_finish ()
2066  * Finishes an eject operation.
2067  * mount_enclosing_volume ()
2068  * Mounts a specified location.
2069  * mount_enclosing_volume_finish ()
2070  * Finishes mounting a specified location.
2071  * monitor_dir ()
2072  * Creates a GFileMonitor for the location.
2073  * monitor_file ()
2074  * Creates a GFileMonitor for the location.
2075  * open_readwrite ()
2076  * Open file read/write. Since 2.22.
2077  * open_readwrite_async ()
2078  * Asynchronously opens file read/write. Since 2.22.
2079  * open_readwrite_finish ()
2080  * Finishes an asynchronous open read/write. Since 2.22.
2081  * create_readwrite ()
2082  * Creates file read/write. Since 2.22.
2083  * create_readwrite_async ()
2084  * Asynchronously creates file read/write. Since 2.22.
2085  * create_readwrite_finish ()
2086  * Finishes an asynchronous creates read/write. Since 2.22.
2087  * replace_readwrite ()
2088  * Replaces file read/write. Since 2.22.
2089  * replace_readwrite_async ()
2090  * Asynchronously replaces file read/write. Since 2.22.
2091  * replace_readwrite_finish ()
2092  * Finishes an asynchronous replace read/write. Since 2.22.
2093  * start_mountable ()
2094  * Starts a mountable object. Since 2.22.
2095  * start_mountable_finish ()
2096  * Finishes an start operation. Since 2.22.
2097  * stop_mountable ()
2098  * Stops a mountable. Since 2.22.
2099  * stop_mountable_finish ()
2100  * Finishes an stop operation. Since 2.22.
2101  * gboolean supports_thread_contexts;
2102  * a boolean that indicates whether the GFile implementation supports thread-default contexts. Since 2.22.
2103  * unmount_mountable_with_operation ()
2104  * Unmounts a mountable object using a GMountOperation. Since 2.22.
2105  * unmount_mountable_with_operation_finish ()
2106  * Finishes an unmount operation using a GMountOperation. Since 2.22.
2107  * eject_mountable_with_operation ()
2108  * Ejects a mountable object using a GMountOperation. Since 2.22.
2109  * eject_mountable_with_operation_finish ()
2110  * Finishes an eject operation using a GMountOperation. Since 2.22.
2111  * poll_mountable ()
2112  * Polls a mountable object for media changes. Since 2.22.
2113  * poll_mountable_finish ()
2114  * Finishes an poll operation for media changes. Since 2.22.
2115  * measure_disk_usage ()
2116  * measure_disk_usage_async ()
2117  * measure_disk_usage_finish ()
2118  */
2119 public struct GFileIface
2120 {
2121 	GTypeInterface gIface;
2122 	/+* Virtual Table +/
2123 	extern(C) GFile * function(GFile* file)  dup;
2124 	extern(C) uint function(GFile* file)  hash;
2125 	extern(C) int function(GFile* file1, GFile* file2)  equal;
2126 	extern(C) int function(GFile* file)  isNative;
2127 	extern(C) int function(GFile* file, char* uriScheme)  hasUriScheme;
2128 	extern(C) char * function(GFile* file)  getUriScheme;
2129 	extern(C) char * function(GFile* file)  getBasename;
2130 	extern(C) char * function(GFile* file)  getPath;
2131 	extern(C) char * function(GFile* file)  getUri;
2132 	extern(C) char * function(GFile* file)  getParseName;
2133 	extern(C) GFile * function(GFile* file)  getParent;
2134 	extern(C) int function(GFile* prefix, GFile* file)  prefixMatches;
2135 	extern(C) char * function(GFile* parent, GFile* descendant)  getRelativePath;
2136 	extern(C) GFile * function(GFile* file, char* relativePath)  resolveRelativePath;
2137 	extern(C) GFile * function(GFile* file, char* displayName, GError** error)  getChildForDisplayName;
2138 	extern(C) GFileEnumerator * function(GFile* file, char* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  enumerateChildren;
2139 	extern(C) void function(GFile* file, char* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  enumerateChildrenAsync;
2140 	extern(C) GFileEnumerator * function(GFile* file, GAsyncResult* res, GError** error)  enumerateChildrenFinish;
2141 	extern(C) GFileInfo * function(GFile* file, char* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  queryInfo;
2142 	extern(C) void function(GFile* file, char* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  queryInfoAsync;
2143 	extern(C) GFileInfo * function(GFile* file, GAsyncResult* res, GError** error)  queryInfoFinish;
2144 	extern(C) GFileInfo * function(GFile* file, char* attributes, GCancellable* cancellable, GError** error)  queryFilesystemInfo;
2145 	extern(C) void function(GFile* file, char* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  queryFilesystemInfoAsync;
2146 	extern(C) GFileInfo * function(GFile* file, GAsyncResult* res, GError** error)  queryFilesystemInfoFinish;
2147 	extern(C) GMount * function(GFile* file, GCancellable* cancellable, GError** error)  findEnclosingMount;
2148 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  findEnclosingMountAsync;
2149 	extern(C) GMount * function(GFile* file, GAsyncResult* res, GError** error)  findEnclosingMountFinish;
2150 	extern(C) GFile * function(GFile* file, char* displayName, GCancellable* cancellable, GError** error)  setDisplayName;
2151 	extern(C) void function(GFile* file, char* displayName, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  setDisplayNameAsync;
2152 	extern(C) GFile * function(GFile* file, GAsyncResult* res, GError** error)  setDisplayNameFinish;
2153 	extern(C) GFileAttributeInfoList * function(GFile* file, GCancellable* cancellable, GError** error)  querySettableAttributes;
2154 	extern(C) void function()  _QuerySettableAttributesAsync;
2155 	extern(C) void function()  _QuerySettableAttributesFinish;
2156 	extern(C) GFileAttributeInfoList * function(GFile* file, GCancellable* cancellable, GError** error)  queryWritableNamespaces;
2157 	extern(C) void function()  _QueryWritableNamespacesAsync;
2158 	extern(C) void function()  _QueryWritableNamespacesFinish;
2159 	extern(C) int function(GFile* file, char* attribute, GFileAttributeType type, void* valueP, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  setAttribute;
2160 	extern(C) int function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  setAttributesFromInfo;
2161 	extern(C) void function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  setAttributesAsync;
2162 	extern(C) int function(GFile* file, GAsyncResult* result, GFileInfo** info, GError** error)  setAttributesFinish;
2163 	extern(C) GFileInputStream * function(GFile* file, GCancellable* cancellable, GError** error)  readFn;
2164 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  readAsync;
2165 	extern(C) GFileInputStream * function(GFile* file, GAsyncResult* res, GError** error)  readFinish;
2166 	extern(C) GFileOutputStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  appendTo;
2167 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  appendToAsync;
2168 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  appendToFinish;
2169 	extern(C) GFileOutputStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  create;
2170 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  createAsync;
2171 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  createFinish;
2172 	extern(C) GFileOutputStream * function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  replace;
2173 	extern(C) void function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  replaceAsync;
2174 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  replaceFinish;
2175 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  deleteFile;
2176 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  deleteFileAsync;
2177 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  deleteFileFinish;
2178 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  trash;
2179 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  trashAsync;
2180 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  trashFinish;
2181 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  makeDirectory;
2182 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  makeDirectoryAsync;
2183 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  makeDirectoryFinish;
2184 	extern(C) int function(GFile* file, char* symlinkValue, GCancellable* cancellable, GError** error)  makeSymbolicLink;
2185 	extern(C) void function()  _MakeSymbolicLinkAsync;
2186 	extern(C) void function()  _MakeSymbolicLinkFinish;
2187 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** error)  copy;
2188 	extern(C) void function(GFile* source, GFile* destination, GFileCopyFlags flags, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData)  copyAsync;
2189 	extern(C) int function(GFile* file, GAsyncResult* res, GError** error)  copyFinish;
2190 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** error)  move;
2191 	extern(C) void function()  _MoveAsync;
2192 	extern(C) void function()  _MoveFinish;
2193 	extern(C) void function(GFile* file, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountMountable;
2194 	extern(C) GFile * function(GFile* file, GAsyncResult* result, GError** error)  mountMountableFinish;
2195 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountMountable;
2196 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  unmountMountableFinish;
2197 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectMountable;
2198 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  ejectMountableFinish;
2199 	extern(C) void function(GFile* location, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountEnclosingVolume;
2200 	extern(C) int function(GFile* location, GAsyncResult* result, GError** error)  mountEnclosingVolumeFinish;
2201 	extern(C) GFileMonitor * function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** error)  monitorDir;
2202 	extern(C) GFileMonitor * function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** error)  monitorFile;
2203 	extern(C) GFileIOStream * function(GFile* file, GCancellable* cancellable, GError** error)  openReadwrite;
2204 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  openReadwriteAsync;
2205 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  openReadwriteFinish;
2206 	extern(C) GFileIOStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  createReadwrite;
2207 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  createReadwriteAsync;
2208 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  createReadwriteFinish;
2209 	extern(C) GFileIOStream * function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  replaceReadwrite;
2210 	extern(C) void function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  replaceReadwriteAsync;
2211 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  replaceReadwriteFinish;
2212 	extern(C) void function(GFile* file, GDriveStartFlags flags, GMountOperation* startOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  startMountable;
2213 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  startMountableFinish;
2214 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  stopMountable;
2215 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  stopMountableFinish;
2216 	int supportsThreadContexts;
2217 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountMountableWithOperation;
2218 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  unmountMountableWithOperationFinish;
2219 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectMountableWithOperation;
2220 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  ejectMountableWithOperationFinish;
2221 	extern(C) void function(GFile* file, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  pollMountable;
2222 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  pollMountableFinish;
2223 	extern(C) int function(GFile* file, GFileMeasureFlags flags, GCancellable* cancellable, GFileMeasureProgressCallback progressCallback, void* progressData, ulong* diskUsage, ulong* numDirs, ulong* numFiles, GError** error)  measureDiskUsage;
2224 	extern(C) void function(GFile* file, GFileMeasureFlags flags, int ioPriority, GCancellable* cancellable, GFileMeasureProgressCallback progressCallback, void* progressData, GAsyncReadyCallback callback, void* userData)  measureDiskUsageAsync;
2225 	extern(C) int function(GFile* file, GAsyncResult* result, ulong* diskUsage, ulong* numDirs, ulong* numFiles, GError** error)  measureDiskUsageFinish;
2226 }
2227 
2228 
2229 /**
2230  * Information about a specific attribute.
2231  * char *name;
2232  * the name of the attribute.
2233  * GFileAttributeType type;
2234  * the GFileAttributeType type of the attribute.
2235  * GFileAttributeInfoFlags flags;
2236  * a set of GFileAttributeInfoFlags.
2237  */
2238 public struct GFileAttributeInfo
2239 {
2240 	char *name;
2241 	GFileAttributeType type;
2242 	GFileAttributeInfoFlags flags;
2243 }
2244 
2245 
2246 /**
2247  * Main Gtk struct.
2248  * Acts as a lightweight registry for possible valid file attributes.
2249  * The registry stores Key-Value pair formats as GFileAttributeInfos.
2250  * GFileAttributeInfo *infos;
2251  * an array of GFileAttributeInfos.
2252  * int n_infos;
2253  * the number of values in the array.
2254  */
2255 public struct GFileAttributeInfoList
2256 {
2257 	GFileAttributeInfo *infos;
2258 	int nInfos;
2259 }
2260 
2261 
2262 /**
2263  * Determines if a string matches a file attribute.
2264  */
2265 public struct GFileAttributeMatcher{}
2266 
2267 
2268 /**
2269  * Main Gtk struct.
2270  * Stores information about a file system object referenced by a GFile.
2271  */
2272 public struct GFileInfo{}
2273 
2274 
2275 /**
2276  * Main Gtk struct.
2277  * A per matched file iterator.
2278  */
2279 public struct GFileEnumerator{}
2280 
2281 
2282 /**
2283  * Main Gtk struct.
2284  * Class for providing authentication methods for mounting operations,
2285  * such as mounting a file locally, or authenticating with a server.
2286  */
2287 public struct GMountOperation{}
2288 
2289 
2290 /**
2291  * Main Gtk struct.
2292  * Watches for changes to a file.
2293  */
2294 public struct GFileMonitor{}
2295 
2296 
2297 /**
2298  * Main Gtk struct.
2299  * Completes filenames based on files that exist within the file system.
2300  */
2301 public struct GFilenameCompleter{}
2302 
2303 
2304 /**
2305  * Main Gtk struct.
2306  * Allows actions to be cancelled.
2307  */
2308 public struct GCancellable{}
2309 
2310 
2311 /**
2312  * Main Gtk struct.
2313  * Holds results information for an asynchronous operation,
2314  * usually passed directly to a asynchronous _finish() operation.
2315  */
2316 public struct GAsyncResult{}
2317 
2318 
2319 /**
2320  * Interface definition for GAsyncResult.
2321  * GTypeInterface g_iface;
2322  * The parent interface.
2323  * get_user_data ()
2324  * Gets the user data passed to the callback.
2325  * get_source_object ()
2326  * Gets the source object that issued the asynchronous operation.
2327  * is_tagged ()
2328  * Checks if a result is tagged with a particular source.
2329  */
2330 public struct GAsyncResultIface
2331 {
2332 	GTypeInterface gIface;
2333 	/+* Virtual Table +/
2334 	extern(C) void* function(GAsyncResult* res)  getUserData;
2335 	extern(C) GObject * function(GAsyncResult* res)  getSourceObject;
2336 	extern(C) int function(GAsyncResult* res, void* sourceTag)  isTagged;
2337 }
2338 
2339 
2340 /**
2341  * Main Gtk struct.
2342  * The opaque object representing a synchronous or asynchronous task
2343  * and its result.
2344  */
2345 public struct GTask{}
2346 
2347 
2348 /**
2349  * Main Gtk struct.
2350  * Opaque class for defining and scheduling IO jobs.
2351  */
2352 public struct GIOSchedulerJob{}
2353 
2354 
2355 /**
2356  * Main Gtk struct.
2357  * A simple implementation of GAsyncResult.
2358  */
2359 public struct GSimpleAsyncResult{}
2360 
2361 
2362 /**
2363  * Main Gtk struct.
2364  * Seek object for streaming operations.
2365  * Since 2.24
2366  */
2367 public struct GConverter{}
2368 
2369 
2370 /**
2371  * Provides an interface for converting data from one type
2372  * to another type. The conversion can be stateful
2373  * and may fail at any place.
2374  * GTypeInterface g_iface;
2375  * The parent interface.
2376  * convert ()
2377  * Converts data.
2378  * reset ()
2379  * Reverts the internal state of the converter to its initial state.
2380  * Since 2.24
2381  */
2382 public struct GConverterIface
2383 {
2384 	GTypeInterface gIface;
2385 	/+* Virtual Table +/
2386 	extern(C) GConverterResult function(GConverter* converter, void* inbuf, gsize inbufSize, void* outbuf, gsize outbufSize, GConverterFlags flags, gsize* bytesRead, gsize* bytesWritten, GError** error)  convert;
2387 	extern(C) void function(GConverter* converter)  reset;
2388 }
2389 
2390 
2391 /**
2392  * Main Gtk struct.
2393  * Conversions between character sets.
2394  */
2395 public struct GCharsetConverter{}
2396 
2397 
2398 /**
2399  * Main Gtk struct.
2400  * Zlib decompression
2401  */
2402 public struct GZlibCompressor{}
2403 
2404 
2405 /**
2406  * Main Gtk struct.
2407  * Zlib decompression
2408  */
2409 public struct GZlibDecompressor{}
2410 
2411 
2412 /**
2413  * Main Gtk struct.
2414  * Seek object for streaming operations.
2415  */
2416 public struct GSeekable{}
2417 
2418 
2419 /**
2420  * Provides an interface for implementing seekable functionality on I/O Streams.
2421  * GTypeInterface g_iface;
2422  * The parent interface.
2423  * tell ()
2424  * Tells the current location within a stream.
2425  * can_seek ()
2426  * Checks if seeking is supported by the stream.
2427  * seek ()
2428  * Seeks to a location within a stream.
2429  * can_truncate ()
2430  * Checks if truncation is supported by the stream.
2431  * truncate_fn ()
2432  * Truncates a stream.
2433  */
2434 public struct GSeekableIface
2435 {
2436 	GTypeInterface gIface;
2437 	/+* Virtual Table +/
2438 	extern(C) long function(GSeekable* seekable)  tell;
2439 	extern(C) int function(GSeekable* seekable)  canSeek;
2440 	extern(C) int function(GSeekable* seekable, long offset, GSeekType type, GCancellable* cancellable, GError** error)  seek;
2441 	extern(C) int function(GSeekable* seekable)  canTruncate;
2442 	extern(C) int function(GSeekable* seekable, long offset, GCancellable* cancellable, GError** error)  truncateFn;
2443 	/+* TODO: Async seek/truncate +/
2444 }
2445 
2446 
2447 /**
2448  * Main Gtk struct.
2449  * Base class for streaming input operations.
2450  */
2451 public struct GInputStream{}
2452 
2453 
2454 /**
2455  * Main Gtk struct.
2456  * Base class for writing output.
2457  * All classes derived from GOutputStream should implement synchronous
2458  * writing, splicing, flushing and closing streams, but may implement
2459  * asynchronous versions.
2460  */
2461 public struct GOutputStream{}
2462 
2463 
2464 /**
2465  * Main Gtk struct.
2466  * Base class for read-write streams.
2467  */
2468 public struct GIOStream{}
2469 
2470 
2471 /**
2472  * Main Gtk struct.
2473  * A subclass of GInputStream for opened files. This adds
2474  * a few file-specific operations and seeking.
2475  * GFileInputStream implements GSeekable.
2476  */
2477 public struct GFileInputStream{}
2478 
2479 
2480 /**
2481  * Main Gtk struct.
2482  * A subclass of GOutputStream for opened files. This adds
2483  * a few file-specific operations and seeking and truncating.
2484  * GFileOutputStream implements GSeekable.
2485  */
2486 public struct GFileOutputStream{}
2487 
2488 
2489 /**
2490  * Main Gtk struct.
2491  * A subclass of GIOStream for opened files. This adds
2492  * a few file-specific operations and seeking and truncating.
2493  * GFileIOStream implements GSeekable.
2494  */
2495 public struct GFileIOStream{}
2496 
2497 
2498 /**
2499  * Main Gtk struct.
2500  * An interface for file descriptor based io objects.
2501  */
2502 public struct GFileDescriptorBased{}
2503 
2504 
2505 /**
2506  * Main Gtk struct.
2507  * A base class for all input streams that work on an underlying stream.
2508  */
2509 public struct GFilterInputStream{}
2510 
2511 
2512 /**
2513  * Main Gtk struct.
2514  * A base class for all output streams that work on an underlying stream.
2515  */
2516 public struct GFilterOutputStream{}
2517 
2518 
2519 /**
2520  * Main Gtk struct.
2521  * Implements GInputStream for arbitrary memory chunks.
2522  */
2523 public struct GMemoryInputStream{}
2524 
2525 
2526 /**
2527  * Main Gtk struct.
2528  * Implements GOutputStream for arbitrary memory chunks.
2529  */
2530 public struct GMemoryOutputStream{}
2531 
2532 
2533 /**
2534  * Main Gtk struct.
2535  * Implements GFilterInputStream with a sized input buffer.
2536  */
2537 public struct GBufferedInputStream{}
2538 
2539 
2540 /**
2541  * Main Gtk struct.
2542  * An implementation of GFilterOutputStream with a sized buffer.
2543  */
2544 public struct GBufferedOutputStream{}
2545 
2546 
2547 /**
2548  * Main Gtk struct.
2549  * An implementation of GBufferedInputStream that allows for high-level
2550  * data manipulation of arbitrary data (including binary operations).
2551  */
2552 public struct GDataInputStream{}
2553 
2554 
2555 /**
2556  * Main Gtk struct.
2557  * An implementation of GBufferedOutputStream that allows for high-level
2558  * data manipulation of arbitrary data (including binary operations).
2559  */
2560 public struct GDataOutputStream{}
2561 
2562 
2563 /**
2564  * Main Gtk struct.
2565  * Implements GInputStream for reading from selectable unix file descriptors
2566  */
2567 public struct GUnixInputStream{}
2568 
2569 
2570 /**
2571  * Main Gtk struct.
2572  * Implements GOutputStream for outputting to selectable unix file descriptors
2573  */
2574 public struct GUnixOutputStream{}
2575 
2576 
2577 /**
2578  * Main Gtk struct.
2579  * An implementation of GFilterInputStream that allows data
2580  * conversion.
2581  */
2582 public struct GConverterInputStream{}
2583 
2584 
2585 /**
2586  * Main Gtk struct.
2587  * An implementation of GFilterOutputStream that allows data
2588  * conversion.
2589  */
2590 public struct GConverterOutputStream{}
2591 
2592 
2593 /**
2594  * Main Gtk struct.
2595  * An interface for a GInputStream that can be polled for readability.
2596  * Since 2.28
2597  */
2598 public struct GPollableInputStream{}
2599 
2600 
2601 /**
2602  * The interface for pollable input streams.
2603  * The default implementation of can_poll always returns TRUE.
2604  * The default implementation of read_nonblocking calls
2605  * g_pollable_input_stream_is_readable(), and then calls
2606  * g_input_stream_read() if it returns TRUE. This means you only need
2607  * to override it if it is possible that your is_readable
2608  * implementation may return TRUE when the stream is not actually
2609  * readable.
2610  * GTypeInterface g_iface;
2611  * The parent interface.
2612  * can_poll ()
2613  * Checks if the GPollableInputStream instance is actually pollable
2614  * is_readable ()
2615  * Checks if the stream is readable
2616  * create_source ()
2617  * Creates a GSource to poll the stream
2618  * read_nonblocking ()
2619  * Does a non-blocking read or returns
2620  * G_IO_ERROR_WOULD_BLOCK
2621  * Since 2.28
2622  */
2623 public struct GPollableInputStreamInterface
2624 {
2625 	GTypeInterface gIface;
2626 	/+* Virtual Table +/
2627 	extern(C) int function(GPollableInputStream* stream) canPoll;
2628 	extern(C) int function(GPollableInputStream* stream) isReadable;
2629 	extern(C) GSource * function(GPollableInputStream* stream, GCancellable* cancellable) createSource;
2630 	extern(C) gssize function(GPollableInputStream* stream, void* buffer, gsize count, GError** error) readNonblocking;
2631 }
2632 
2633 
2634 /**
2635  * Main Gtk struct.
2636  * An interface for a GOutputStream that can be polled for readability.
2637  * Since 2.28
2638  */
2639 public struct GPollableOutputStream{}
2640 
2641 
2642 /**
2643  * The interface for pollable output streams.
2644  * The default implementation of can_poll always returns TRUE.
2645  * The default implementation of write_nonblocking calls
2646  * g_pollable_output_stream_is_writable(), and then calls
2647  * g_output_stream_write() if it returns TRUE. This means you only
2648  * need to override it if it is possible that your is_writable
2649  * implementation may return TRUE when the stream is not actually
2650  * writable.
2651  * GTypeInterface g_iface;
2652  * The parent interface.
2653  * can_poll ()
2654  * Checks if the GPollableOutputStream instance is actually pollable
2655  * is_writable ()
2656  * Checks if the stream is writable
2657  * create_source ()
2658  * Creates a GSource to poll the stream
2659  * write_nonblocking ()
2660  * Does a non-blocking write or returns
2661  * G_IO_ERROR_WOULD_BLOCK
2662  * Since 2.28
2663  */
2664 public struct GPollableOutputStreamInterface
2665 {
2666 	GTypeInterface gIface;
2667 	/+* Virtual Table +/
2668 	extern(C) int function(GPollableOutputStream* stream) canPoll;
2669 	extern(C) int function(GPollableOutputStream* stream) isWritable;
2670 	extern(C) GSource * function(GPollableOutputStream* stream, GCancellable* cancellable) createSource;
2671 	extern(C) gssize function(GPollableOutputStream* stream, void* buffer, gsize count, GError** error) writeNonblocking;
2672 }
2673 
2674 
2675 /**
2676  * Main Gtk struct.
2677  * Information about an installed application and methods to launch
2678  * it (with file arguments).
2679  */
2680 public struct GAppInfo{}
2681 
2682 
2683 /**
2684  * Application Information interface, for operating system portability.
2685  * GTypeInterface g_iface;
2686  * The parent interface.
2687  * dup ()
2688  * Copies a GAppInfo.
2689  * equal ()
2690  * Checks two GAppInfos for equality.
2691  * get_id ()
2692  * Gets a string identifier for a GAppInfo.
2693  * get_name ()
2694  * Gets the name of the application for a GAppInfo.
2695  * get_description ()
2696  * Gets a short description for the application described by the GAppInfo.
2697  * get_executable ()
2698  * Gets the executable name for the GAppInfo.
2699  * get_icon ()
2700  * Gets the GIcon for the GAppInfo.
2701  * launch ()
2702  * Launches an application specified by the GAppInfo.
2703  * supports_uris ()
2704  * Indicates whether the application specified supports launching URIs.
2705  * supports_files ()
2706  * Indicates whether the application specified accepts filename arguments.
2707  * launch_uris ()
2708  * Launches an application with a list of URIs.
2709  * should_show ()
2710  * Returns whether an application should be shown (e.g. when getting a list of installed applications).
2711  * FreeDesktop.Org Startup Notification Specification.
2712  * set_as_default_for_type ()
2713  * Sets an application as default for a given content type.
2714  * set_as_default_for_extension ()
2715  * Sets an application as default for a given file extension.
2716  * add_supports_type ()
2717  * Adds to the GAppInfo information about supported file types.
2718  * can_remove_supports_type ()
2719  * Checks for support for removing supported file types from a GAppInfo.
2720  * remove_supports_type ()
2721  * Removes a supported application type from a GAppInfo.
2722  * can_delete ()
2723  * Checks if a GAppInfo can be deleted. Since 2.20
2724  * do_delete ()
2725  * Deletes a GAppInfo. Since 2.20
2726  * get_commandline ()
2727  * Gets the commandline for the GAppInfo. Since 2.20
2728  * get_display_name ()
2729  * Gets the display name for the GAppInfo. Since 2.24
2730  * set_as_last_used_for_type ()
2731  * Sets the application as the last used. See g_app_info_set_as_last_used_for_type().
2732  * get_supported_types ()
2733  */
2734 public struct GAppInfoIface
2735 {
2736 	GTypeInterface gIface;
2737 	/+* Virtual Table +/
2738 	extern(C) GAppInfo * function(GAppInfo* appinfo)  dup;
2739 	extern(C) int function(GAppInfo* appinfo1, GAppInfo* appinfo2)  equal;
2740 	extern(C) char * function(GAppInfo* appinfo)  getId;
2741 	extern(C) char * function(GAppInfo* appinfo)  getName;
2742 	extern(C) char * function(GAppInfo* appinfo)  getDescription;
2743 	extern(C) char * function(GAppInfo* appinfo)  getExecutable;
2744 	extern(C) GIcon * function(GAppInfo* appinfo)  getIcon;
2745 	extern(C) int function(GAppInfo* appinfo, GList* files, GAppLaunchContext* launchContext, GError** error)  launch;
2746 	extern(C) int function(GAppInfo* appinfo)  supportsUris;
2747 	extern(C) int function(GAppInfo* appinfo)  supportsFiles;
2748 	extern(C) int function(GAppInfo* appinfo, GList* uris, GAppLaunchContext* launchContext, GError** error)  launchUris;
2749 	extern(C) int function(GAppInfo* appinfo)  shouldShow;
2750 	/+* For changing associations +/
2751 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  setAsDefaultForType;
2752 	extern(C) int function(GAppInfo* appinfo, char* extension, GError** error)  setAsDefaultForExtension;
2753 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  addSupportsType;
2754 	extern(C) int function(GAppInfo* appinfo)  canRemoveSupportsType;
2755 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  removeSupportsType;
2756 	extern(C) int function(GAppInfo* appinfo)  canDelete;
2757 	extern(C) int function(GAppInfo* appinfo)  doDelete;
2758 	extern(C) char * function(GAppInfo* appinfo)  getCommandline;
2759 	extern(C) char * function(GAppInfo* appinfo)  getDisplayName;
2760 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  setAsLastUsedForType;
2761 	extern(C) char ** function(GAppInfo* appinfo)  getSupportedTypes;
2762 }
2763 
2764 
2765 /**
2766  * Integrating the launch with the launching application. This is used to
2767  * handle for instance startup notification and launching the new application
2768  * on the same screen as the launching window.
2769  */
2770 public struct GAppLaunchContext{}
2771 
2772 
2773 /**
2774  * Main Gtk struct.
2775  * Information about an installed application from a desktop file.
2776  */
2777 public struct GDesktopAppInfo{}
2778 
2779 
2780 /**
2781  * Main Gtk struct.
2782  * A Volume Monitor that watches for volume events.
2783  */
2784 public struct GVolumeMonitor{}
2785 
2786 
2787 /**
2788  * Main Gtk struct.
2789  * Opaque mountable volume object.
2790  */
2791 public struct GVolume{}
2792 
2793 
2794 /**
2795  * Interface for implementing operations for mountable volumes.
2796  * GTypeInterface g_iface;
2797  * The parent interface.
2798  * changed ()
2799  * Changed signal that is emitted when the volume's state has changed.
2800  * removed ()
2801  * The removed signal that is emitted when the GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized.
2802  * get_name ()
2803  * Gets a string containing the name of the GVolume.
2804  * get_icon ()
2805  * Gets a GIcon for the GVolume.
2806  * get_uuid ()
2807  * Gets the UUID for the GVolume. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns NULL if there is no UUID available.
2808  * get_drive ()
2809  * Gets a GDrive the volume is located on. Returns NULL if the GVolume is not associated with a GDrive.
2810  * get_mount ()
2811  * Gets a GMount representing the mounted volume. Returns NULL if the GVolume is not mounted.
2812  * can_mount ()
2813  * Returns TRUE if the GVolume can be mounted.
2814  * can_eject ()
2815  * Checks if a GVolume can be ejected.
2816  * mount_fn ()
2817  * Mounts a given GVolume.
2818  * GVolume implementations must emit the "aborted"
2819  * signal before completing a mount operation that is aborted while
2820  * awaiting input from the user through a GMountOperation instance.
2821  * mount_finish ()
2822  * Finishes a mount operation.
2823  * eject ()
2824  * Ejects a given GVolume.
2825  * eject_finish ()
2826  * Finishes an eject operation.
2827  * get_identifier ()
2828  * Returns the identifier of the given kind, or NULL if
2829  * the GVolume doesn't have one.
2830  * enumerate_identifiers ()
2831  * Returns an array strings listing the kinds
2832  * of identifiers which the GVolume has.
2833  * should_automount ()
2834  * Returns TRUE if the GVolume should be automatically mounted.
2835  * get_activation_root ()
2836  * Returns the activation root for the GVolume if it is known in advance or NULL if
2837  * it is not known.
2838  * eject_with_operation ()
2839  * Starts ejecting a GVolume using a GMountOperation. Since 2.22.
2840  * eject_with_operation_finish ()
2841  * Finishes an eject operation using a GMountOperation. Since 2.22.
2842  * get_sort_key ()
2843  * Gets a key used for sorting GVolume instance or NULL if no such key exists. Since 2.32.
2844  * get_symbolic_icon ()
2845  * Gets a symbolic GIcon for the GVolume. Since 2.34.
2846  */
2847 public struct GVolumeIface
2848 {
2849 	GTypeInterface gIface;
2850 	/+* signals +/
2851 	extern(C) void function(GVolume* volume)  changed;
2852 	extern(C) void function(GVolume* volume)  removed;
2853 	/+* Virtual Table +/
2854 	extern(C) char * function(GVolume* volume)  getName;
2855 	extern(C) GIcon * function(GVolume* volume)  getIcon;
2856 	extern(C) char * function(GVolume* volume)  getUuid;
2857 	extern(C) GDrive * function(GVolume* volume)  getDrive;
2858 	extern(C) GMount * function(GVolume* volume)  getMount;
2859 	extern(C) int function(GVolume* volume)  canMount;
2860 	extern(C) int function(GVolume* volume)  canEject;
2861 	extern(C) void function(GVolume* volume, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountFn;
2862 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  mountFinish;
2863 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
2864 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  ejectFinish;
2865 	extern(C) char * function(GVolume* volume, char* kind)  getIdentifier;
2866 	extern(C) char ** function(GVolume* volume)  enumerateIdentifiers;
2867 	extern(C) int function(GVolume* volume)  shouldAutomount;
2868 	extern(C) GFile * function(GVolume* volume)  getActivationRoot;
2869 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
2870 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
2871 	extern(C) char * function(GVolume* volume)  getSortKey;
2872 	extern(C) GIcon * function(GVolume* volume)  getSymbolicIcon;
2873 }
2874 
2875 
2876 /**
2877  * Main Gtk struct.
2878  * A handle to an object implementing the GMountIface interface.
2879  */
2880 public struct GMount{}
2881 
2882 
2883 /**
2884  * Interface for implementing operations for mounts.
2885  * GTypeInterface g_iface;
2886  * The parent interface.
2887  * changed ()
2888  * Changed signal that is emitted when the mount's state has changed.
2889  * unmounted ()
2890  * The unmounted signal that is emitted when the GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized.
2891  * get_root ()
2892  * Gets a GFile to the root directory of the GMount.
2893  * get_name ()
2894  * Gets a string containing the name of the GMount.
2895  * get_icon ()
2896  * Gets a GIcon for the GMount.
2897  * get_uuid ()
2898  * Gets the UUID for the GMount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns NULL if there is no UUID available.
2899  * get_volume ()
2900  * Gets a GVolume the mount is located on. Returns NULL if the GMount is not associated with a GVolume.
2901  * get_drive ()
2902  * Gets a GDrive the volume of the mount is located on. Returns NULL if the GMount is not associated with a GDrive or a GVolume. This is convenience method for getting the GVolume and using that to get the GDrive.
2903  * can_unmount ()
2904  * Checks if a GMount can be unmounted.
2905  * can_eject ()
2906  * Checks if a GMount can be ejected.
2907  * unmount ()
2908  * Starts unmounting a GMount.
2909  * unmount_finish ()
2910  * Finishes an unmounting operation.
2911  * eject ()
2912  * Starts ejecting a GMount.
2913  * eject_finish ()
2914  * Finishes an eject operation.
2915  * remount ()
2916  * Starts remounting a GMount.
2917  * remount_finish ()
2918  * Finishes a remounting operation.
2919  * guess_content_type ()
2920  * Starts guessing the type of the content of a GMount.
2921  * See g_mount_guess_content_type() for more information on content
2922  * type guessing. This operation was added in 2.18.
2923  * guess_content_type_finish ()
2924  * Finishes a content type guessing operation. Added in 2.18.
2925  * guess_content_type_sync ()
2926  * Synchronous variant of guess_content_type. Added in 2.18
2927  * pre_unmount ()
2928  * The ::pre-unmount signal that is emitted when the GMount will soon be emitted. If the recipient is somehow holding the mount open by keeping an open file on it it should close the file.
2929  * unmount_with_operation ()
2930  * Starts unmounting a GMount using a GMountOperation. Since 2.22.
2931  * unmount_with_operation_finish ()
2932  * Finishes an unmounting operation using a GMountOperation. Since 2.22.
2933  * eject_with_operation ()
2934  * Starts ejecting a GMount using a GMountOperation. Since 2.22.
2935  * eject_with_operation_finish ()
2936  * Finishes an eject operation using a GMountOperation. Since 2.22.
2937  * get_default_location ()
2938  * Gets a GFile indication a start location that can be use as the entry point for this mount. Since 2.24.
2939  * get_sort_key ()
2940  * Gets a key used for sorting GMount instance or NULL if no such key exists. Since 2.32.
2941  * get_symbolic_icon ()
2942  * Gets a symbolic GIcon for the GMount. Since 2.34.
2943  */
2944 public struct GMountIface
2945 {
2946 	GTypeInterface gIface;
2947 	/+* signals +/
2948 	extern(C) void function(GMount* mount)  changed;
2949 	extern(C) void function(GMount* mount)  unmounted;
2950 	/+* Virtual Table +/
2951 	extern(C) GFile * function(GMount* mount)  getRoot;
2952 	extern(C) char * function(GMount* mount)  getName;
2953 	extern(C) GIcon * function(GMount* mount)  getIcon;
2954 	extern(C) char * function(GMount* mount)  getUuid;
2955 	extern(C) GVolume * function(GMount* mount)  getVolume;
2956 	extern(C) GDrive * function(GMount* mount)  getDrive;
2957 	extern(C) int function(GMount* mount)  canUnmount;
2958 	extern(C) int function(GMount* mount)  canEject;
2959 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmount;
2960 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  unmountFinish;
2961 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
2962 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  ejectFinish;
2963 	extern(C) void function(GMount* mount, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  remount;
2964 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  remountFinish;
2965 	extern(C) void function(GMount* mount, int forceRescan, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  guessContentType;
2966 	extern(C) char ** function(GMount* mount, GAsyncResult* result, GError** error)  guessContentTypeFinish;
2967 	extern(C) char ** function(GMount* mount, int forceRescan, GCancellable* cancellable, GError** error)  guessContentTypeSync;
2968 	/+* Signal, not VFunc +/
2969 	extern(C) void function(GMount* mount)  preUnmount;
2970 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountWithOperation;
2971 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  unmountWithOperationFinish;
2972 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
2973 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
2974 	extern(C) GFile * function(GMount* mount)  getDefaultLocation;
2975 	extern(C) char * function(GMount* mount)  getSortKey;
2976 	extern(C) GIcon * function(GMount* mount)  getSymbolicIcon;
2977 }
2978 
2979 
2980 /**
2981  * Main Gtk struct.
2982  * Opaque drive object.
2983  */
2984 public struct GDrive{}
2985 
2986 
2987 /**
2988  * Interface for creating GDrive implementations.
2989  * GTypeInterface g_iface;
2990  * The parent interface.
2991  * changed ()
2992  * Signal emitted when the drive is changed.
2993  * disconnected ()
2994  * The removed signal that is emitted when the GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.
2995  * eject_button ()
2996  * Signal emitted when the physical eject button (if any) of a drive have been pressed.
2997  * get_name ()
2998  * Returns the name for the given GDrive.
2999  * get_icon ()
3000  * Returns a GIcon for the given GDrive.
3001  * has_volumes ()
3002  * Returns TRUE if the GDrive has mountable volumes.
3003  * get_volumes ()
3004  * Returns a list GList of GVolume for the GDrive.
3005  * is_media_removable ()
3006  * Returns TRUE if the GDrive supports removal and insertion of media.
3007  * has_media ()
3008  * Returns TRUE if the GDrive has media inserted.
3009  * is_media_check_automatic ()
3010  * Returns TRUE if the GDrive is capabable of automatically detecting media changes.
3011  * can_eject ()
3012  * Returns TRUE if the GDrive can eject media.
3013  * can_poll_for_media ()
3014  * Returns TRUE if the GDrive is capable of manually polling for media change.
3015  * eject ()
3016  * Ejects a GDrive.
3017  * eject_finish ()
3018  * Finishes an eject operation.
3019  * poll_for_media ()
3020  * Poll for media insertion/removal on a GDrive.
3021  * poll_for_media_finish ()
3022  * Finishes a media poll operation.
3023  * get_identifier ()
3024  * Returns the identifier of the given kind, or NULL if
3025  * the GDrive doesn't have one.
3026  * enumerate_identifiers ()
3027  * Returns an array strings listing the kinds
3028  * of identifiers which the GDrive has.
3029  * get_start_stop_type ()
3030  * Gets a GDriveStartStopType with details about starting/stopping the drive. Since 2.22.
3031  * can_start ()
3032  * Returns TRUE if a GDrive can be started. Since 2.22.
3033  * can_start_degraded ()
3034  * Returns TRUE if a GDrive can be started degraded. Since 2.22.
3035  * start ()
3036  * Starts a GDrive. Since 2.22.
3037  * start_finish ()
3038  * Finishes a start operation. Since 2.22.
3039  * can_stop ()
3040  * Returns TRUE if a GDrive can be stopped. Since 2.22.
3041  * stop ()
3042  * Stops a GDrive. Since 2.22.
3043  * stop_finish ()
3044  * Finishes a stop operation. Since 2.22.
3045  * stop_button ()
3046  * Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.
3047  * eject_with_operation ()
3048  * Starts ejecting a GDrive using a GMountOperation. Since 2.22.
3049  * eject_with_operation_finish ()
3050  * Finishes an eject operation using a GMountOperation. Since 2.22.
3051  * get_sort_key ()
3052  * Gets a key used for sorting GDrive instances or NULL if no such key exists. Since 2.32.
3053  * get_symbolic_icon ()
3054  * Returns a symbolic GIcon for the given GDrive. Since 2.34.
3055  */
3056 public struct GDriveIface
3057 {
3058 	GTypeInterface gIface;
3059 	/+* signals +/
3060 	extern(C) void function(GDrive* drive)  changed;
3061 	extern(C) void function(GDrive* drive)  disconnected;
3062 	extern(C) void function(GDrive* drive)  ejectButton;
3063 	/+* Virtual Table +/
3064 	extern(C) char * function(GDrive* drive)  getName;
3065 	extern(C) GIcon * function(GDrive* drive)  getIcon;
3066 	extern(C) int function(GDrive* drive)  hasVolumes;
3067 	extern(C) GList * function(GDrive* drive)  getVolumes;
3068 	extern(C) int function(GDrive* drive)  isMediaRemovable;
3069 	extern(C) int function(GDrive* drive)  hasMedia;
3070 	extern(C) int function(GDrive* drive)  isMediaCheckAutomatic;
3071 	extern(C) int function(GDrive* drive)  canEject;
3072 	extern(C) int function(GDrive* drive)  canPollForMedia;
3073 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
3074 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  ejectFinish;
3075 	extern(C) void function(GDrive* drive, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  pollForMedia;
3076 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  pollForMediaFinish;
3077 	extern(C) char * function(GDrive* drive, char* kind)  getIdentifier;
3078 	extern(C) char ** function(GDrive* drive)  enumerateIdentifiers;
3079 	extern(C) GDriveStartStopType function(GDrive* drive)  getStartStopType;
3080 	extern(C) int function(GDrive* drive)  canStart;
3081 	extern(C) int function(GDrive* drive)  canStartDegraded;
3082 	extern(C) void function(GDrive* drive, GDriveStartFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  start;
3083 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  startFinish;
3084 	extern(C) int function(GDrive* drive)  canStop;
3085 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  stop;
3086 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  stopFinish;
3087 	/+* signal, not VFunc +/
3088 	extern(C) void function(GDrive* drive)  stopButton;
3089 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
3090 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
3091 	extern(C) char * function(GDrive* drive)  getSortKey;
3092 	extern(C) GIcon * function(GDrive* drive)  getSymbolicIcon;
3093 }
3094 
3095 
3096 /**
3097  * Defines a Unix mount point (e.g. /dev).
3098  * This corresponds roughly to a fstab entry.
3099  */
3100 public struct GUnixMountPoint{}
3101 
3102 
3103 /**
3104  * Main Gtk struct.
3105  * Defines a Unix mount entry (e.g. /media/cdrom).
3106  * This corresponds roughly to a mtab entry.
3107  */
3108 public struct GUnixMountEntry{}
3109 
3110 
3111 /**
3112  * Watches GUnixMounts for changes.
3113  */
3114 public struct GUnixMountMonitor{}
3115 
3116 
3117 /**
3118  * Main Gtk struct.
3119  * An abstract type that specifies an icon.
3120  */
3121 public struct GIcon{}
3122 
3123 
3124 /**
3125  * GIconIface is used to implement GIcon types for various
3126  * different systems. See GThemedIcon and GLoadableIcon for
3127  * examples of how to implement this interface.
3128  * GTypeInterface g_iface;
3129  * The parent interface.
3130  * hash ()
3131  * A hash for a given GIcon.
3132  * equal ()
3133  * Checks if two GIcons are equal.
3134  * to_tokens ()
3135  * Serializes a GIcon into tokens. The tokens must not
3136  * contain any whitespace. Don't implement if the GIcon can't be
3137  * serialized (Since 2.20).
3138  * from_tokens ()
3139  * Constructs a GIcon from tokens. Set the GError if
3140  * the tokens are malformed. Don't implement if the GIcon can't be
3141  * serialized (Since 2.20).
3142  * serialize ()
3143  */
3144 public struct GIconIface
3145 {
3146 	GTypeInterface gIface;
3147 	/+* Virtual Table +/
3148 	extern(C) uint function(GIcon* icon)  hash;
3149 	extern(C) int function(GIcon* icon1, GIcon* icon2)  equal;
3150 	extern(C) int function(GIcon* icon, GPtrArray* tokens, int* outVersion)  toTokens;
3151 	extern(C) GIcon * function(char** tokens, int numTokens, int versio, GError** error)  fromTokens;
3152 	extern(C) GVariant * function(GIcon* icon)  serialize;
3153 }
3154 
3155 
3156 /**
3157  * Main Gtk struct.
3158  * Gets an icon for a GFile. Implements GLoadableIcon.
3159  */
3160 public struct GFileIcon{}
3161 
3162 
3163 /**
3164  * Main Gtk struct.
3165  * Gets an icon for a GBytes. Implements GLoadableIcon.
3166  */
3167 public struct GBytesIcon{}
3168 
3169 
3170 /**
3171  * Main Gtk struct.
3172  * Generic type for all kinds of icons that can be loaded
3173  * as a stream.
3174  */
3175 public struct GLoadableIcon{}
3176 
3177 
3178 /**
3179  * Interface for icons that can be loaded as a stream.
3180  * GTypeInterface g_iface;
3181  * The parent interface.
3182  * load ()
3183  * Loads an icon.
3184  * load_async ()
3185  * Loads an icon asynchronously.
3186  * load_finish ()
3187  * Finishes an asynchronous icon load.
3188  */
3189 public struct GLoadableIconIface
3190 {
3191 	GTypeInterface gIface;
3192 	/+* Virtual Table +/
3193 	extern(C) GInputStream * function(GLoadableIcon* icon, int size, char** type, GCancellable* cancellable, GError** error)  load;
3194 	extern(C) void function(GLoadableIcon* icon, int size, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  loadAsync;
3195 	extern(C) GInputStream * function(GLoadableIcon* icon, GAsyncResult* res, char** type, GError** error)  loadFinish;
3196 }
3197 
3198 
3199 /**
3200  * Main Gtk struct.
3201  * An implementation of GIcon for themed icons.
3202  */
3203 public struct GThemedIcon{}
3204 
3205 
3206 /**
3207  * Main Gtk struct.
3208  * An implementation of GIcon for icons with emblems.
3209  */
3210 public struct GEmblemedIcon{}
3211 
3212 
3213 /**
3214  * Main Gtk struct.
3215  * An object for Emblems
3216  */
3217 public struct GEmblem{}
3218 
3219 
3220 /**
3221  * Main Gtk struct.
3222  * Interface for initializable objects.
3223  * Since 2.22
3224  */
3225 public struct GInitable{}
3226 
3227 
3228 /**
3229  * Provides an interface for initializing object such that initialization
3230  * may fail.
3231  * GTypeInterface g_iface;
3232  * The parent interface.
3233  * init ()
3234  * Initializes the object.
3235  * Since 2.22
3236  */
3237 public struct GInitableIface
3238 {
3239 	GTypeInterface gIface;
3240 	/+* Virtual Table +/
3241 	extern(C) int function(GInitable* initable, GCancellable* cancellable, GError** error)  init;
3242 }
3243 
3244 
3245 /**
3246  * Main Gtk struct.
3247  * Interface for asynchronously initializable objects.
3248  * Since 2.22
3249  */
3250 public struct GAsyncInitable{}
3251 
3252 
3253 /**
3254  * Provides an interface for asynchronous initializing object such that
3255  * initialization may fail.
3256  * GTypeInterface g_iface;
3257  * The parent interface.
3258  * init_async ()
3259  * Starts initialization of the object.
3260  * init_finish ()
3261  * Finishes initialization of the object.
3262  * Since 2.22
3263  */
3264 public struct GAsyncInitableIface
3265 {
3266 	GTypeInterface gIface;
3267 	/+* Virtual Table +/
3268 	extern(C) void function(GAsyncInitable* initable, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  initAsync;
3269 	extern(C) int function(GAsyncInitable* initable, GAsyncResult* res, GError** error)  initFinish;
3270 }
3271 
3272 
3273 /**
3274  * Main Gtk struct.
3275  * A lowlevel network socket object.
3276  * Since 2.22
3277  */
3278 public struct GSocket{}
3279 
3280 
3281 /**
3282  * Structure used for scatter/gather data input.
3283  * You generally pass in an array of GInputVectors
3284  * and the operation will store the read data starting in the
3285  * first buffer, switching to the next as needed.
3286  * gpointer buffer;
3287  * Pointer to a buffer where data will be written.
3288  * gsize size;
3289  * the available size in buffer.
3290  * Since 2.22
3291  */
3292 public struct GInputVector
3293 {
3294 	void* buffer;
3295 	gsize size;
3296 }
3297 
3298 
3299 /**
3300  * Structure used for scatter/gather data output.
3301  * You generally pass in an array of GOutputVectors
3302  * and the operation will use all the buffers as if they were
3303  * one buffer.
3304  * gconstpointer buffer;
3305  * Pointer to a buffer of data to read.
3306  * gsize size;
3307  * the size of buffer.
3308  * Since 2.22
3309  */
3310 public struct GOutputVector
3311 {
3312 	void* buffer;
3313 	gsize size;
3314 }
3315 
3316 
3317 /**
3318  * Main Gtk struct.
3319  * An IPv4 or IPv6 internet address.
3320  */
3321 public struct GInetAddress{}
3322 
3323 
3324 /**
3325  * Main Gtk struct.
3326  * A combination of an IPv4 or IPv6 base address and a length,
3327  * representing a range of IP addresses.
3328  * Since 2.32
3329  */
3330 public struct GInetAddressMask
3331 {
3332 	GObject parentInstance;
3333 }
3334 
3335 
3336 /**
3337  * Main Gtk struct.
3338  * A socket endpoint address, corresponding to struct sockaddr
3339  * or one of its subtypes.
3340  */
3341 public struct GSocketAddress{}
3342 
3343 
3344 /**
3345  * Main Gtk struct.
3346  * An IPv4 or IPv6 socket address, corresponding to a struct
3347  * sockaddr_in or struct sockaddr_in6.
3348  */
3349 public struct GInetSocketAddress{}
3350 
3351 
3352 /**
3353  * Main Gtk struct.
3354  * A UNIX-domain (local) socket address, corresponding to a
3355  * struct sockaddr_un.
3356  */
3357 public struct GUnixSocketAddress{}
3358 
3359 
3360 /**
3361  * Main Gtk struct.
3362  * Base class for socket-type specific control messages that can be sent and
3363  * received over GSocket.
3364  */
3365 public struct GSocketControlMessage{}
3366 
3367 
3368 /**
3369  * Main Gtk struct.
3370  */
3371 public struct GUnixFDList{}
3372 
3373 
3374 /**
3375  * Main Gtk struct.
3376  */
3377 public struct GUnixFDMessage{}
3378 
3379 
3380 /**
3381  * Main Gtk struct.
3382  * The GCredentials structure contains only private data and
3383  * should only be accessed using the provided API.
3384  * Since 2.26
3385  */
3386 public struct GCredentials{}
3387 
3388 
3389 /**
3390  * Main Gtk struct.
3391  * The GUnixCredentialsMessage structure contains only private data
3392  * and should only be accessed using the provided API.
3393  * Since 2.26
3394  */
3395 public struct GUnixCredentialsMessage{}
3396 
3397 
3398 /**
3399  * Class structure for GUnixCredentialsMessage.
3400  * Since 2.26
3401  */
3402 public struct GUnixCredentialsMessageClass
3403 {
3404 	GSocketControlMessageClass parentClass;
3405 }
3406 
3407 
3408 /**
3409  * Main Gtk struct.
3410  * Interface that handles proxy connection and payload.
3411  * Since 2.26
3412  */
3413 public struct GProxy{}
3414 
3415 
3416 /**
3417  * Provides an interface for handling proxy connection and payload.
3418  * GTypeInterface g_iface;
3419  * The parent interface.
3420  * connect ()
3421  * Connect to proxy server and wrap (if required) the connection
3422  * to handle payload.
3423  * connect_async ()
3424  * Same as connect() but asynchronous.
3425  * connect_finish ()
3426  * Returns the result of connect_async()
3427  * supports_hostname ()
3428  * Returns whether the proxy supports hostname lookups.
3429  * Since 2.26
3430  */
3431 public struct GProxyInterface
3432 {
3433 	GTypeInterface gIface;
3434 	/+* Virtual Table +/
3435 	extern(C) GIOStream * function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GError** error)  connect;
3436 	extern(C) void function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  connectAsync;
3437 	extern(C) GIOStream * function(GProxy* proxy, GAsyncResult* result, GError** error)  connectFinish;
3438 	extern(C) int function(GProxy* proxy)  supportsHostname;
3439 }
3440 
3441 
3442 /**
3443  * Main Gtk struct.
3444  * A GInetSocketAddress representing a connection via a proxy server
3445  * Since 2.26
3446  */
3447 public struct GProxyAddress{}
3448 
3449 
3450 public struct GProxyAddressClass
3451 {
3452 	GInetSocketAddressClass parentClass;
3453 }
3454 
3455 
3456 /**
3457  * Main Gtk struct.
3458  * A helper class for network clients to make connections.
3459  * Since 2.22
3460  */
3461 public struct GSocketClient{}
3462 
3463 
3464 /**
3465  * Main Gtk struct.
3466  * A socket connection GIOStream object for connection-oriented sockets.
3467  * Since 2.22
3468  */
3469 public struct GSocketConnection{}
3470 
3471 
3472 /**
3473  * Main Gtk struct.
3474  */
3475 public struct GUnixConnection{}
3476 
3477 
3478 /**
3479  * Main Gtk struct.
3480  * A GSocketConnection for TCP/IP connections.
3481  * Since 2.22
3482  */
3483 public struct GTcpConnection{}
3484 
3485 
3486 /**
3487  * Main Gtk struct.
3488  * A helper class for network servers to listen for and accept connections.
3489  * Since 2.22
3490  */
3491 public struct GSocketListener{}
3492 
3493 
3494 /**
3495  * Main Gtk struct.
3496  * A helper class for handling accepting incomming connections in the
3497  * glib mainloop.
3498  * Since 2.22
3499  */
3500 public struct GSocketService{}
3501 
3502 
3503 /**
3504  * Main Gtk struct.
3505  * A helper class for handling accepting incoming connections in the
3506  * glib mainloop and handling them in a thread.
3507  * Since 2.22
3508  */
3509 public struct GThreadedSocketService{}
3510 
3511 
3512 /**
3513  * Main Gtk struct.
3514  * GNetworkMonitor monitors the status of network connections and
3515  * indicates when a possibly-user-visible change has occurred.
3516  * Since 2.32
3517  */
3518 public struct GNetworkMonitor{}
3519 
3520 
3521 public struct GNetworkMonitorInterface
3522 {
3523 	GTypeInterface gIface;
3524 	extern(C) void function(GNetworkMonitor* monitor, int available) networkChanged;
3525 	extern(C) int function(GNetworkMonitor* monitor, GSocketConnectable* connectable, GCancellable* cancellable, GError** error) canReach;
3526 	extern(C) void function(GNetworkMonitor* monitor, GSocketConnectable* connectable, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) canReachAsync;
3527 	extern(C) int function(GNetworkMonitor* monitor, GAsyncResult* result, GError** error) canReachFinish;
3528 }
3529 
3530 
3531 /**
3532  * Main Gtk struct.
3533  * Abstract base class for TLS certificate types.
3534  * Since 2.28
3535  */
3536 public struct GTlsCertificate{}
3537 
3538 
3539 /**
3540  * Main Gtk struct.
3541  * Abstract base class for the backend-specific GTlsClientConnection
3542  * and GTlsServerConnection types.
3543  * Since 2.28
3544  */
3545 public struct GTlsConnection{}
3546 
3547 
3548 /**
3549  * Main Gtk struct.
3550  * Abstract base class for the backend-specific client connection
3551  * type.
3552  * Since 2.28
3553  */
3554 public struct GTlsClientConnection{}
3555 
3556 
3557 public struct GTlsClientConnectionInterface
3558 {
3559 	GTypeInterface gIface;
3560 }
3561 
3562 
3563 /**
3564  * Main Gtk struct.
3565  * TLS server-side connection. This is the server-side implementation
3566  * of a GTlsConnection.
3567  * Since 2.28
3568  */
3569 public struct GTlsServerConnection{}
3570 
3571 
3572 public struct GTlsServerConnectionInterface
3573 {
3574 	GTypeInterface gIface;
3575 }
3576 
3577 
3578 /**
3579  * Main Gtk struct.
3580  * TLS (Transport Layer Security, aka SSL) backend. This is an
3581  * internal type used to coordinate the different classes implemented
3582  * by a TLS backend.
3583  * Since 2.28
3584  */
3585 public struct GTlsBackend{}
3586 
3587 
3588 /**
3589  * Provides an interface for describing TLS-related types.
3590  * GTypeInterface g_iface;
3591  * The parent interface.
3592  * supports_tls ()
3593  * returns whether the backend supports TLS.
3594  * get_certificate_type ()
3595  * returns the GTlsCertificate implementation type
3596  * get_client_connection_type ()
3597  * returns the GTlsClientConnection implementation type
3598  * get_server_connection_type ()
3599  * returns the GTlsServerConnection implementation type
3600  * get_file_database_type ()
3601  * returns the GTlsFileDatabase implementation type.
3602  * get_default_database ()
3603  * returns a default GTlsDatabase instance.
3604  * Since 2.28
3605  */
3606 public struct GTlsBackendInterface
3607 {
3608 	GTypeInterface gIface;
3609 	/+* methods +/
3610 	extern(C) int function(GTlsBackend* backend) supportsTls;
3611 	extern(C) GType function() getCertificateType;
3612 	extern(C) GType function() getClientConnectionType;
3613 	extern(C) GType function() getServerConnectionType;
3614 	extern(C) GType function() getFileDatabaseType;
3615 	extern(C) GTlsDatabase * function(GTlsBackend* backend) getDefaultDatabase;
3616 }
3617 
3618 
3619 /**
3620  * Main Gtk struct.
3621  * Abstract base class for the backend-specific database types.
3622  * Since 2.30
3623  */
3624 public struct GTlsDatabase{}
3625 
3626 
3627 /**
3628  * Main Gtk struct.
3629  * Implemented by a GTlsDatabase which allows you to load certificates
3630  * from a file.
3631  * Since 2.30
3632  */
3633 public struct GTlsFileDatabase{}
3634 
3635 
3636 /**
3637  * Provides an interface for GTlsFileDatabase implementations.
3638  * GTypeInterface g_iface;
3639  * The parent interface.
3640  */
3641 public struct GTlsFileDatabaseInterface
3642 {
3643 	GTypeInterface gIface;
3644 }
3645 
3646 
3647 /**
3648  * Main Gtk struct.
3649  * An object representing interaction that the TLS connection and database
3650  * might have with the user.
3651  * Since 2.30
3652  */
3653 public struct GTlsInteraction{}
3654 
3655 
3656 /**
3657  * Main Gtk struct.
3658  * An abstract interface representing a password used in TLS. Often used in
3659  * user interaction such as unlocking a key storage token.
3660  * Since 2.30
3661  */
3662 public struct GTlsPassword{}
3663 
3664 
3665 public struct GTlsPasswordClass
3666 {
3667 	GObjectClass parentClass;
3668 	/+* methods +/
3669 	extern(C) char * function(GTlsPassword* password, gsize* length) getValue;
3670 	extern(C) void function(GTlsPassword* password, char* value, gssize length, GDestroyNotify destroy) setValue;
3671 	extern(C) char* function(GTlsPassword* password) getDefaultWarning;
3672 }
3673 
3674 
3675 /**
3676  * Main Gtk struct.
3677  * The object that handles DNS resolution. Use g_resolver_get_default()
3678  * to get the default resolver.
3679  */
3680 public struct GResolver{}
3681 
3682 
3683 /**
3684  * Main Gtk struct.
3685  * A helper class to enumerate proxies base on URI.
3686  * Since 2.26
3687  */
3688 public struct GProxyResolver{}
3689 
3690 
3691 public struct GProxyResolverInterface
3692 {
3693 	GTypeInterface gIface;
3694 	/+* Virtual Table +/
3695 	extern(C) int function(GProxyResolver* resolver)  isSupported;
3696 	extern(C) char ** function(GProxyResolver* resolver, char* uri, GCancellable* cancellable, GError** error)  lookup;
3697 	extern(C) void function(GProxyResolver* resolver, char* uri, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  lookupAsync;
3698 	extern(C) char ** function(GProxyResolver* resolver, GAsyncResult* result, GError** error)  lookupFinish;
3699 }
3700 
3701 
3702 /**
3703  * Main Gtk struct.
3704  * A GProxyResolver implementation for using a fixed set of proxies.
3705  */
3706 public struct GSimpleProxyResolver{}
3707 
3708 
3709 /**
3710  * Main Gtk struct.
3711  * Interface for objects that contain or generate GSocketAddresses.
3712  */
3713 public struct GSocketConnectable{}
3714 
3715 
3716 /**
3717  * Provides an interface for returning a GSocketAddressEnumerator
3718  * and GProxyAddressEnumerator
3719  * GTypeInterface g_iface;
3720  * The parent interface.
3721  * enumerate ()
3722  * Creates a GSocketAddressEnumerator
3723  * proxy_enumerate ()
3724  * Creates a GProxyAddressEnumerator
3725  */
3726 public struct GSocketConnectableIface
3727 {
3728 	GTypeInterface gIface;
3729 	/+* Virtual Table +/
3730 	extern(C) GSocketAddressEnumerator * function(GSocketConnectable* connectable)  enumerate;
3731 	extern(C) GSocketAddressEnumerator * function(GSocketConnectable* connectable)  proxyEnumerate;
3732 }
3733 
3734 
3735 /**
3736  * Enumerator type for objects that contain or generate
3737  * GSocketAddresses.
3738  */
3739 public struct GSocketAddressEnumerator{}
3740 
3741 
3742 /**
3743  * A subclass of GSocketAddressEnumerator that takes another address
3744  * enumerator and wraps its results in GProxyAddresses as
3745  * directed by the default GProxyResolver.
3746  * Property Details
3747  * The "connectable" property
3748  */
3749 public struct GProxyAddressEnumerator{}
3750 
3751 
3752 /**
3753  * Main Gtk struct.
3754  * A GSocketConnectable for resolving a hostname and connecting to
3755  * that host.
3756  */
3757 public struct GNetworkAddress{}
3758 
3759 
3760 /**
3761  * Main Gtk struct.
3762  * A GSocketConnectable for resolving a SRV record and connecting to
3763  * that service.
3764  */
3765 public struct GNetworkService{}
3766 
3767 
3768 /**
3769  * Main Gtk struct.
3770  * A single target host/port that a network service is running on.
3771  */
3772 public struct GSrvTarget{}
3773 
3774 
3775 /**
3776  * Main Gtk struct.
3777  * Information about an annotation.
3778  * volatile gint ref_count;
3779  * The reference count or -1 if statically allocated.
3780  * gchar *key;
3781  * The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated".
3782  * gchar *value;
3783  * The value of the annotation.
3784  * GDBusAnnotationInfo **annotations;
3785  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3786  * Since 2.26
3787  */
3788 public struct GDBusAnnotationInfo
3789 {
3790 	int refCount;
3791 	char *key;
3792 	char *value;
3793 	GDBusAnnotationInfo **annotations;
3794 }
3795 
3796 
3797 /**
3798  * Information about an argument for a method or a signal.
3799  * volatile gint ref_count;
3800  * The reference count or -1 if statically allocated.
3801  * gchar *name;
3802  * Name of the argument, e.g. unix_user_id.
3803  * gchar *signature;
3804  * D-Bus signature of the argument (a single complete type).
3805  * GDBusAnnotationInfo **annotations;
3806  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3807  * Since 2.26
3808  */
3809 public struct GDBusArgInfo
3810 {
3811 	int refCount;
3812 	char *name;
3813 	char *signature;
3814 	GDBusAnnotationInfo **annotations;
3815 }
3816 
3817 
3818 /**
3819  * Information about a method on an D-Bus interface.
3820  * volatile gint ref_count;
3821  * The reference count or -1 if statically allocated.
3822  * gchar *name;
3823  * The name of the D-Bus method, e.g. RequestName.
3824  * GDBusArgInfo **in_args;
3825  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no in arguments. [array zero-terminated=1]
3826  * GDBusArgInfo **out_args;
3827  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no out arguments. [array zero-terminated=1]
3828  * GDBusAnnotationInfo **annotations;
3829  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3830  * Since 2.26
3831  */
3832 public struct GDBusMethodInfo
3833 {
3834 	int refCount;
3835 	char *name;
3836 	GDBusArgInfo **inArgs;
3837 	GDBusArgInfo **outArgs;
3838 	GDBusAnnotationInfo **annotations;
3839 }
3840 
3841 
3842 /**
3843  * Information about a signal on a D-Bus interface.
3844  * volatile gint ref_count;
3845  * The reference count or -1 if statically allocated.
3846  * gchar *name;
3847  * The name of the D-Bus signal, e.g. "NameOwnerChanged".
3848  * GDBusArgInfo **args;
3849  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no arguments. [array zero-terminated=1]
3850  * GDBusAnnotationInfo **annotations;
3851  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3852  * Since 2.26
3853  */
3854 public struct GDBusSignalInfo
3855 {
3856 	int refCount;
3857 	char *name;
3858 	GDBusArgInfo **args;
3859 	GDBusAnnotationInfo **annotations;
3860 }
3861 
3862 
3863 /**
3864  * Information about a D-Bus property on a D-Bus interface.
3865  * volatile gint ref_count;
3866  * The reference count or -1 if statically allocated.
3867  * gchar *name;
3868  * The name of the D-Bus property, e.g. "SupportedFilesystems".
3869  * gchar *signature;
3870  * The D-Bus signature of the property (a single complete type).
3871  * GDBusPropertyInfoFlags flags;
3872  * Access control flags for the property.
3873  * GDBusAnnotationInfo **annotations;
3874  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3875  * Since 2.26
3876  */
3877 public struct GDBusPropertyInfo
3878 {
3879 	int refCount;
3880 	char *name;
3881 	char *signature;
3882 	GDBusPropertyInfoFlags flags;
3883 	GDBusAnnotationInfo **annotations;
3884 }
3885 
3886 
3887 /**
3888  * Information about a D-Bus interface.
3889  * volatile gint ref_count;
3890  * The reference count or -1 if statically allocated.
3891  * gchar *name;
3892  * The name of the D-Bus interface, e.g. "org.freedesktop.DBus.Properties".
3893  * GDBusMethodInfo **methods;
3894  * A pointer to a NULL-terminated array of pointers to GDBusMethodInfo structures or NULL if there are no methods. [array zero-terminated=1]
3895  * GDBusSignalInfo **signals;
3896  * A pointer to a NULL-terminated array of pointers to GDBusSignalInfo structures or NULL if there are no signals. [array zero-terminated=1]
3897  * GDBusPropertyInfo **properties;
3898  * A pointer to a NULL-terminated array of pointers to GDBusPropertyInfo structures or NULL if there are no properties. [array zero-terminated=1]
3899  * GDBusAnnotationInfo **annotations;
3900  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3901  * Since 2.26
3902  */
3903 public struct GDBusInterfaceInfo
3904 {
3905 	int refCount;
3906 	char *name;
3907 	GDBusMethodInfo **methods;
3908 	GDBusSignalInfo **signals;
3909 	GDBusPropertyInfo **properties;
3910 	GDBusAnnotationInfo **annotations;
3911 }
3912 
3913 
3914 /**
3915  * Information about nodes in a remote object hierarchy.
3916  * volatile gint ref_count;
3917  * The reference count or -1 if statically allocated.
3918  * gchar *path;
3919  * The path of the node or NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.
3920  * GDBusInterfaceInfo **interfaces;
3921  * A pointer to a NULL-terminated array of pointers to GDBusInterfaceInfo structures or NULL if there are no interfaces. [array zero-terminated=1]
3922  * GDBusNodeInfo **nodes;
3923  * A pointer to a NULL-terminated array of pointers to GDBusNodeInfo structures or NULL if there are no nodes. [array zero-terminated=1]
3924  * GDBusAnnotationInfo **annotations;
3925  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations. [array zero-terminated=1]
3926  * Since 2.26
3927  */
3928 public struct GDBusNodeInfo
3929 {
3930 	int refCount;
3931 	char *path;
3932 	GDBusInterfaceInfo **interfaces;
3933 	GDBusNodeInfo **nodes;
3934 	GDBusAnnotationInfo **annotations;
3935 }
3936 
3937 
3938 /**
3939  * Struct used in g_dbus_error_register_error_domain().
3940  * gint error_code;
3941  * An error code.
3942  * const gchar *dbus_error_name;
3943  * The D-Bus error name to associate with error_code.
3944  * Since 2.26
3945  */
3946 public struct GDBusErrorEntry
3947 {
3948 	int errorCode;
3949 	char *dbusErrorName;
3950 }
3951 
3952 
3953 /**
3954  * Main Gtk struct.
3955  * The GDBusMessage structure contains only private data and should
3956  * only be accessed using the provided API.
3957  * Since 2.26
3958  */
3959 public struct GDBusMessage{}
3960 
3961 
3962 /**
3963  * Main Gtk struct.
3964  * The GDBusConnection structure contains only private data and
3965  * should only be accessed using the provided API.
3966  * Since 2.26
3967  */
3968 public struct GDBusConnection{}
3969 
3970 
3971 /**
3972  * Virtual table for handling properties and method calls for a D-Bus
3973  * interface.
3974  * Since 2.38, if you want to handle getting/setting D-Bus properties
3975  * asynchronously, give NULL as your get_property() or set_property()
3976  * function. The D-Bus call will be directed to your method_call
3977  * function, with the provided interface_name set to
3978  * "org.freedesktop.DBus.Properties".
3979  * The usual checks on the validity of the calls is performed. For
3980  * 'Get' calls, an error is automatically returned if
3981  * the property does not exist or the permissions do not allow access.
3982  * The same checks are performed for 'Set' calls, and
3983  * the provided value is also checked for being the correct type.
3984  * For both 'Get' and 'Set' calls,
3985  * the GDBusMethodInvocation passed to the method_call handler can be
3986  * queried with g_dbus_method_invocation_get_property_info() to get a
3987  * pointer to the GDBusPropertyInfo of the property.
3988  * If you have readable properties specified in your interface info, you
3989  * must ensure that you either provide a non-NULL get_property()
3990  * function or provide implementations of both the
3991  * 'Get' and 'GetAll' methods on
3992  * the 'org.freedesktop.DBus.Properties' interface in
3993  * your method_call function. Note that the required return type of
3994  * the 'Get' call is (v), not the
3995  * type of the property. 'GetAll' expects a return
3996  * value of type a{sv}.
3997  * If you have writable properties specified in your interface info, you
3998  * must ensure that you either provide a non-NULL set_property()
3999  * function or provide an implementation of the 'Set'
4000  * call. If implementing the call, you must return the value of type
4001  * G_VARIANT_TYPE_UNIT.
4002  * GDBusInterfaceMethodCallFunc method_call;
4003  * Function for handling incoming method calls.
4004  * GDBusInterfaceGetPropertyFunc get_property;
4005  * Function for getting a property.
4006  * GDBusInterfaceSetPropertyFunc set_property;
4007  * Function for setting a property.
4008  * Since 2.26
4009  */
4010 public struct GDBusInterfaceVTable
4011 {
4012 	GDBusInterfaceMethodCallFunc methodCall;
4013 	GDBusInterfaceGetPropertyFunc getProperty;
4014 	GDBusInterfaceSetPropertyFunc setProperty;
4015 }
4016 
4017 
4018 /**
4019  * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
4020  * GDBusSubtreeEnumerateFunc enumerate;
4021  * Function for enumerating child nodes.
4022  * GDBusSubtreeIntrospectFunc introspect;
4023  * Function for introspecting a child node.
4024  * GDBusSubtreeDispatchFunc dispatch;
4025  * Function for dispatching a remote call on a child node.
4026  * Since 2.26
4027  */
4028 public struct GDBusSubtreeVTable
4029 {
4030 	GDBusSubtreeEnumerateFunc enumerate;
4031 	GDBusSubtreeIntrospectFunc introspect;
4032 	GDBusSubtreeDispatchFunc dispatch;
4033 }
4034 
4035 
4036 /**
4037  * Main Gtk struct.
4038  * The GDBusMethodInvocation structure contains only private data and
4039  * should only be accessed using the provided API.
4040  * Since 2.26
4041  */
4042 public struct GDBusMethodInvocation{}
4043 
4044 
4045 /**
4046  * Main Gtk struct.
4047  * The GDBusServer structure contains only private data and
4048  * should only be accessed using the provided API.
4049  * Since 2.26
4050  */
4051 public struct GDBusServer{}
4052 
4053 
4054 /**
4055  * Main Gtk struct.
4056  * The GDBusAuthObserver structure contains only private data and
4057  * should only be accessed using the provided API.
4058  * Since 2.26
4059  */
4060 public struct GDBusAuthObserver{}
4061 
4062 
4063 /**
4064  * Main Gtk struct.
4065  * Base type for D-Bus interfaces.
4066  * Since 2.30
4067  */
4068 public struct GDBusInterface{}
4069 
4070 
4071 /**
4072  * Base type for D-Bus interfaces.
4073  * GTypeInterface parent_iface;
4074  * The parent interface.
4075  * get_info ()
4076  * Returns a GDBusInterfaceInfo. See g_dbus_interface_get_info().
4077  * get_object ()
4078  * Gets the enclosing GDBusObject. See g_dbus_interface_get_object().
4079  * set_object ()
4080  * Sets the enclosing GDBusObject. See g_dbus_interface_set_object().
4081  * dup_object ()
4082  * Gets a reference to the enclosing GDBusObject. See g_dbus_interface_dup_object(). Added in 2.32.
4083  * Since 2.30
4084  */
4085 public struct GDBusInterfaceIface
4086 {
4087 	GTypeInterface parentIface;
4088 	/+* Virtual Functions +/
4089 	extern(C) GDBusInterfaceInfo * function(GDBusInterface* iface) getInfo;
4090 	extern(C) GDBusObject * function(GDBusInterface* iface) getObject;
4091 	extern(C) void function(GDBusInterface* iface, GDBusObject* object) setObject;
4092 	extern(C) GDBusObject * function(GDBusInterface* iface) dupObject;
4093 }
4094 
4095 
4096 /**
4097  * Main Gtk struct.
4098  * The GDBusInterfaceSkeleton structure contains private data and should
4099  * only be accessed using the provided API.
4100  * Since 2.30
4101  */
4102 public struct GDBusInterfaceSkeleton{}
4103 
4104 
4105 /**
4106  * Class structure for GDBusInterfaceSkeleton.
4107  * GObjectClass parent_class;
4108  * The parent class.
4109  * get_info ()
4110  * Returns a GDBusInterfaceInfo. See g_dbus_interface_skeleton_get_info() for details.
4111  * get_vtable ()
4112  * Returns a GDBusInterfaceVTable. See g_dbus_interface_skeleton_get_vtable() for details.
4113  * get_properties ()
4114  * Returns a GVariant with all properties. See g_dbus_interface_skeleton_get_properties().
4115  * flush ()
4116  * Emits outstanding changes, if any. See g_dbus_interface_skeleton_flush().
4117  * g_authorize_method ()
4118  * Signal class handler for the "g-authorize-method" signal.
4119  * Since 2.30
4120  */
4121 public struct GDBusInterfaceSkeletonClass
4122 {
4123 	GObjectClass parentClass;
4124 	/+* Virtual Functions +/
4125 	extern(C) GDBusInterfaceInfo * function(GDBusInterfaceSkeleton* iface) getInfo;
4126 	extern(C) GDBusInterfaceVTable * function(GDBusInterfaceSkeleton* iface) getVtable;
4127 	extern(C) GVariant * function(GDBusInterfaceSkeleton* iface) getProperties;
4128 	extern(C) void function(GDBusInterfaceSkeleton* iface) flush;
4129 	/+* Signals +/
4130 	extern(C) int function(GDBusInterfaceSkeleton* iface, GDBusMethodInvocation* invocation) gAuthorizeMethod;
4131 }
4132 
4133 
4134 /**
4135  * Main Gtk struct.
4136  * The GDBusProxy structure contains only private data and
4137  * should only be accessed using the provided API.
4138  * Since 2.26
4139  */
4140 public struct GDBusProxy{}
4141 
4142 
4143 /**
4144  * Class structure for GDBusProxy.
4145  * g_properties_changed ()
4146  * Signal class handler for the "g-properties-changed" signal.
4147  * g_signal ()
4148  * Signal class handler for the "g-signal" signal.
4149  * Since 2.26
4150  */
4151 public struct GDBusProxyClass
4152 {
4153 	/+* Signals +/
4154 	extern(C) void function(GDBusProxy* proxy, GVariant* changedProperties, char** invalidatedProperties) gPropertiesChanged;
4155 	extern(C) void function(GDBusProxy* proxy, char* senderName, char* signalName, GVariant* parameters) gSignal;
4156 }
4157 
4158 
4159 /**
4160  * Main Gtk struct.
4161  */
4162 public struct GDBusObject{}
4163 
4164 
4165 /**
4166  * Base object type for D-Bus objects.
4167  * GTypeInterface parent_iface;
4168  * The parent interface.
4169  * get_object_path ()
4170  * Returns the object path. See g_dbus_object_get_object_path().
4171  * get_interfaces ()
4172  * Returns all interfaces. See g_dbus_object_get_interfaces().
4173  * get_interface ()
4174  * Returns an interface by name. See g_dbus_object_get_interface().
4175  * interface_added ()
4176  * Signal handler for the "interface-added" signal.
4177  * interface_removed ()
4178  * Signal handler for the "interface-removed" signal.
4179  * Since 2.30
4180  */
4181 public struct GDBusObjectIface
4182 {
4183 	GTypeInterface parentIface;
4184 	/+* Virtual Functions +/
4185 	extern(C) char * function(GDBusObject* object) getObjectPath;
4186 	extern(C) GList * function(GDBusObject* object) getInterfaces;
4187 	extern(C) GDBusInterface * function(GDBusObject* object, char* interfaceName) getInterface;
4188 	/+* Signals +/
4189 	extern(C) void function(GDBusObject* object, GDBusInterface* iface) interfaceAdded;
4190 	extern(C) void function(GDBusObject* object, GDBusInterface* iface) interfaceRemoved;
4191 }
4192 
4193 
4194 /**
4195  * Main Gtk struct.
4196  * The GDBusObjectSkeleton structure contains private data and should only be
4197  * accessed using the provided API.
4198  * Since 2.30
4199  */
4200 public struct GDBusObjectSkeleton{}
4201 
4202 
4203 /**
4204  * Class structure for GDBusObjectSkeleton.
4205  * GObjectClass parent_class;
4206  * The parent class.
4207  * authorize_method ()
4208  * Signal class handler for the "authorize-method" signal.
4209  * Since 2.30
4210  */
4211 public struct GDBusObjectSkeletonClass
4212 {
4213 	GObjectClass parentClass;
4214 	/+* Signals +/
4215 	extern(C) int function(GDBusObjectSkeleton* object, GDBusInterfaceSkeleton* iface, GDBusMethodInvocation* invocation) authorizeMethod;
4216 }
4217 
4218 
4219 /**
4220  * Main Gtk struct.
4221  * The GDBusObjectProxy structure contains private data and should
4222  * only be accessed using the provided API.
4223  * Since 2.30
4224  */
4225 public struct GDBusObjectProxy{}
4226 
4227 
4228 /**
4229  * Class structure for GDBusObjectProxy.
4230  * GObjectClass parent_class;
4231  * The parent class.
4232  * Since 2.30
4233  */
4234 public struct GDBusObjectProxyClass
4235 {
4236 	GObjectClass parentClass;
4237 }
4238 
4239 
4240 /**
4241  * Main Gtk struct.
4242  */
4243 public struct GDBusObjectManager{}
4244 
4245 
4246 /**
4247  * Base type for D-Bus object managers.
4248  * GTypeInterface parent_iface;
4249  * The parent interface.
4250  * get_object_path ()
4251  * Virtual function for g_dbus_object_manager_get_object_path().
4252  * get_objects ()
4253  * Virtual function for g_dbus_object_manager_get_objects().
4254  * get_object ()
4255  * Virtual function for g_dbus_object_manager_get_object().
4256  * get_interface ()
4257  * Virtual function for g_dbus_object_manager_get_interface().
4258  * object_added ()
4259  * Signal handler for the "object-added" signal.
4260  * object_removed ()
4261  * Signal handler for the "object-removed" signal.
4262  * interface_added ()
4263  * Signal handler for the "interface-added" signal.
4264  * interface_removed ()
4265  * Signal handler for the "interface-removed" signal.
4266  * Since 2.30
4267  */
4268 public struct GDBusObjectManagerIface
4269 {
4270 	GTypeInterface parentIface;
4271 	/+* Virtual Functions +/
4272 	extern(C) char * function(GDBusObjectManager* manager) getObjectPath;
4273 	extern(C) GList * function(GDBusObjectManager* manager) getObjects;
4274 	extern(C) GDBusObject * function(GDBusObjectManager* manager, char* objectPath) getObject;
4275 	extern(C) GDBusInterface * function(GDBusObjectManager* manager, char* objectPath, char* interfaceName) getInterface;
4276 	/+* Signals +/
4277 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object) objectAdded;
4278 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object) objectRemoved;
4279 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object, GDBusInterface* iface) interfaceAdded;
4280 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object, GDBusInterface* iface) interfaceRemoved;
4281 }
4282 
4283 
4284 /**
4285  * Main Gtk struct.
4286  * The GDBusObjectManagerServer structure contains private data and should
4287  * only be accessed using the provided API.
4288  * Since 2.30
4289  */
4290 public struct GDBusObjectManagerServer{}
4291 
4292 
4293 /**
4294  * Class structure for GDBusObjectManagerServer.
4295  * GObjectClass parent_class;
4296  * The parent class.
4297  * Since 2.30
4298  */
4299 public struct GDBusObjectManagerServerClass
4300 {
4301 	GObjectClass parentClass;
4302 }
4303 
4304 
4305 /**
4306  * Main Gtk struct.
4307  * The GDBusObjectManagerClient structure contains private data and should
4308  * only be accessed using the provided API.
4309  * Since 2.30
4310  */
4311 public struct GDBusObjectManagerClient{}
4312 
4313 
4314 /**
4315  * Class structure for GDBusObjectManagerClient.
4316  * GObjectClass parent_class;
4317  * The parent class.
4318  * interface_proxy_signal ()
4319  * Signal class handler for the "interface-proxy-signal" signal.
4320  * interface_proxy_properties_changed ()
4321  * Signal class handler for the "interface-proxy-properties-changed" signal.
4322  * Since 2.30
4323  */
4324 public struct GDBusObjectManagerClientClass
4325 {
4326 	GObjectClass parentClass;
4327 	/+* signals +/
4328 	extern(C) void function(GDBusObjectManagerClient* manager, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, char* senderName, char* signalName, GVariant* parameters) interfaceProxySignal;
4329 	extern(C) void function(GDBusObjectManagerClient* manager, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, GVariant* changedProperties, char** invalidatedProperties) interfaceProxyPropertiesChanged;
4330 }
4331 
4332 
4333 /**
4334  * Main Gtk struct.
4335  */
4336 public struct GSettings{}
4337 
4338 
4339 /**
4340  * Main Gtk struct.
4341  * An implementation of a settings storage repository.
4342  */
4343 public struct GSettingsBackend{}
4344 
4345 
4346 public struct GSettingsBackendClass
4347 {
4348 	GObjectClass parentClass;
4349 	extern(C) GVariant * function(GSettingsBackend* backend, char* key, GVariantType* expectedType, int defaultValue) read;
4350 	extern(C) int function(GSettingsBackend* backend, char* key) getWritable;
4351 	extern(C) int function(GSettingsBackend* backend, char* key, GVariant* value, void* originTag) write;
4352 	extern(C) int function(GSettingsBackend* backend, GTree* tree, void* originTag) writeTree;
4353 	extern(C) void function(GSettingsBackend* backend, char* key, void* originTag) reset;
4354 	extern(C) void function(GSettingsBackend* backend, char* name) subscribe;
4355 	extern(C) void function(GSettingsBackend* backend, char* name) unsubscribe;
4356 	extern(C) void function(GSettingsBackend* backend) sync;
4357 	extern(C) GPermission * function(GSettingsBackend* backend, char* path) getPermission;
4358 	void* padding[24];
4359 }
4360 
4361 
4362 /**
4363  * This is an opaque structure type. You may not access it directly.
4364  * Since 2.32
4365  */
4366 public struct GSettingsSchemaSource{}
4367 
4368 
4369 /**
4370  * Main Gtk struct.
4371  * This is an opaque structure type. You may not access it directly.
4372  * Since 2.32
4373  */
4374 public struct GSettingsSchema{}
4375 
4376 
4377 /**
4378  * Main Gtk struct.
4379  * A resource bundle.
4380  * Since 2.32
4381  */
4382 public struct GResource{}
4383 
4384 
4385 /**
4386  * Main Gtk struct.
4387  * GPermission is an opaque data structure and can only be accessed
4388  * using the following functions.
4389  */
4390 public struct GPermission{}
4391 
4392 
4393 /**
4394  * Main Gtk struct.
4395  * GSimplePermission is an opaque data structure. There are no methods
4396  * except for those defined by GPermission.
4397  */
4398 public struct GSimplePermission{}
4399 
4400 
4401 /**
4402  * Main Gtk struct.
4403  * Since 2.28
4404  */
4405 public struct GApplication{}
4406 
4407 
4408 /**
4409  * Virtual function table for GApplication.
4410  * startup ()
4411  * invoked on the primary instance immediately after registration
4412  * activate ()
4413  * invoked on the primary instance when an activation occurs
4414  * open ()
4415  * invoked on the primary instance when there are files to open
4416  * command_line ()
4417  * invoked on the primary instance when a command-line is
4418  * not handled locally
4419  * local_command_line ()
4420  * invoked (locally) when the process has been invoked
4421  * via commandline execution (as opposed to, say, D-Bus activation - which
4422  * is not currently supported by GApplication). The virtual function has
4423  * the chance to inspect (and possibly replace) the list of command line
4424  * arguments. See g_application_run() for more information.
4425  * before_emit ()
4426  * invoked on the primary instance before 'activate', 'open',
4427  * 'command-line' or any action invocation, gets the 'platform data' from
4428  * the calling instance
4429  * after_emit ()
4430  * invoked on the primary instance after 'activate', 'open',
4431  * 'command-line' or any action invocation, gets the 'platform data' from
4432  * the calling instance
4433  * add_platform_data ()
4434  * invoked (locally) to add 'platform data' to be sent to
4435  * the primary instance when activating, opening or invoking actions
4436  * quit_mainloop ()
4437  * Used to be invoked on the primary instance when the use
4438  * count of the application drops to zero (and after any inactivity
4439  * timeout, if requested). Not used anymore since 2.32
4440  * run_mainloop ()
4441  * Used to be invoked on the primary instance from
4442  * g_application_run() if the use-count is non-zero. Since 2.32,
4443  * GApplication is iterating the main context directly and is not
4444  * using run_mainloop anymore
4445  * shutdown ()
4446  * invoked only on the registered primary instance immediately
4447  * after the main loop terminates
4448  * dbus_register ()
4449  * invoked locally during registration, if the application is
4450  * using its D-Bus backend. You can use this to export extra objects on the
4451  * bus, that need to exist before the application tries to own the bus name.
4452  * The function is passed the GDBusConnection to to session bus, and the
4453  * object path that GApplication will use to export is D-Bus API.
4454  * If this function returns TRUE, registration will proceed; otherwise
4455  * registration will abort. Since: 2.34
4456  * dbus_unregister ()
4457  * invoked locally during unregistration, if the application
4458  * is using its D-Bus backend. Use this to undo anything done by the
4459  * dbus_register vfunc. Since: 2.34
4460  * Since 2.28
4461  */
4462 public struct GApplicationClass
4463 {
4464 	/+* signals +/
4465 	extern(C) void function(GApplication* application)  startup;
4466 	extern(C) void function(GApplication* application)  activate;
4467 	extern(C) void function(GApplication* application, GFile** files, int nFiles, char* hint)  open;
4468 	extern(C) int function(GApplication* application, GApplicationCommandLine* commandLine)  commandLine;
4469 	/+* vfuncs +/
4470 	/+**
4471 	 * GApplicationClass::localCommandLine:
4472 	 * @application: a #GApplication
4473 	 * @arguments: (inout) (array zero-terminated=1): array of command line arguments
4474 	 * @exitStatus: (out): exit status to fill after processing the command line.
4475 	 *
4476 	 * This virtual funct is always invoked inn the local instance. It
4477 	 * gets passed a pointer to a %NULL-terminated copy of @argv and is
4478 	 * expected to remove arguments that it handled (shifting up remaining
4479 	 * arguments).
4480 	 *
4481 	 * The last argument to localCommandLine() is a pointer to the @status
4482 	 * variable which can used to set the exit status that is returned from
4483 	 * run().
4484 	 *
4485 	 * See run() for more details on #GApplication startup.
4486 	 *
4487 	 * Returns: %TRUE if the commandline has been completely handled
4488 	+/
4489 	extern(C) int function(GApplication* application, char*** arguments, int* exitStatus)  localCommandLine;
4490 	extern(C) void function(GApplication* application, GVariant* platformData)  beforeEmit;
4491 	extern(C) void function(GApplication* application, GVariant* platformData)  afterEmit;
4492 	extern(C) void function(GApplication* application, GVariantBuilder* builder)  addPlatformData;
4493 	extern(C) void function(GApplication* application)  quitMainloop;
4494 	extern(C) void function(GApplication* application)  runMainloop;
4495 	extern(C) void function(GApplication* application)  shutdown;
4496 	extern(C) int function(GApplication* application, GDBusConnection* connection, char* objectPath, GError** error)  dbusRegister;
4497 	extern(C) void function(GApplication* application, GDBusConnection* connection, char* objectPath)  dbusUnregister;
4498 }
4499 
4500 
4501 /**
4502  * Main Gtk struct.
4503  */
4504 public struct GApplicationCommandLine{}
4505 
4506 
4507 /**
4508  * The GApplicationCommandLineClass structure
4509  * contains private data only
4510  * Since 2.28
4511  */
4512 public struct GApplicationCommandLineClass{}
4513 
4514 
4515 /**
4516  * Main Gtk struct.
4517  */
4518 public struct GActionGroup{}
4519 
4520 
4521 /**
4522  * The virtual function table for GActionGroup.
4523  * GTypeInterface g_iface;
4524  * has_action ()
4525  * the virtual function pointer for g_action_group_has_action()
4526  * list_actions ()
4527  * the virtual function pointer for g_action_group_list_actions()
4528  * get_action_enabled ()
4529  * the virtual function pointer for g_action_group_get_action_enabled()
4530  * get_action_parameter_type ()
4531  * the virtual function pointer for g_action_group_get_action_parameter_type()
4532  * get_action_state_type ()
4533  * the virtual function pointer for g_action_group_get_action_state_type()
4534  * get_action_state_hint ()
4535  * the virtual function pointer for g_action_group_get_action_state_hint()
4536  * get_action_state ()
4537  * the virtual function pointer for g_action_group_get_action_state()
4538  * change_action_state ()
4539  * the virtual function pointer for g_action_group_change_action_state()
4540  * activate_action ()
4541  * the virtual function pointer for g_action_group_activate_action()
4542  * action_added ()
4543  * the class closure for the "action-added" signal
4544  * action_removed ()
4545  * the class closure for the "action-removed" signal
4546  * action_enabled_changed ()
4547  * the class closure for the "action-enabled-changed" signal
4548  * action_state_changed ()
4549  * the class closure for the "action-enabled-changed" signal
4550  * query_action ()
4551  * the virtual function pointer for g_action_group_query_action()
4552  * Since 2.28
4553  */
4554 public struct GActionGroupInterface
4555 {
4556 	GTypeInterface gIface;
4557 	/+* virtual functions +/
4558 	extern(C) int function(GActionGroup* actionGroup, char* actionName)  hasAction;
4559 	extern(C) char ** function(GActionGroup* actionGroup)  listActions;
4560 	extern(C) int function(GActionGroup* actionGroup, char* actionName)  getActionEnabled;
4561 	extern(C) GVariantType * function(GActionGroup* actionGroup, char* actionName)  getActionParameterType;
4562 	extern(C) GVariantType * function(GActionGroup* actionGroup, char* actionName)  getActionStateType;
4563 	extern(C) GVariant * function(GActionGroup* actionGroup, char* actionName)  getActionStateHint;
4564 	extern(C) GVariant * function(GActionGroup* actionGroup, char* actionName)  getActionState;
4565 	extern(C) void function(GActionGroup* actionGroup, char* actionName, GVariant* value)  changeActionState;
4566 	extern(C) void function(GActionGroup* actionGroup, char* actionName, GVariant* parameter)  activateAction;
4567 	/+* signals +/
4568 	extern(C) void function(GActionGroup* actionGroup, char* actionName)  actionAdded;
4569 	extern(C) void function(GActionGroup* actionGroup, char* actionName)  actionRemoved;
4570 	extern(C) void function(GActionGroup* actionGroup, char* actionName, int enabled)  actionEnabledChanged;
4571 	extern(C) void function(GActionGroup* actionGroup, char* actionName, GVariant* state)  actionStateChanged;
4572 	/+* more virtual functions +/
4573 	extern(C) int function(GActionGroup* actionGroup, char* actionName, int* enabled, GVariantType** parameterType, GVariantType** stateType, GVariant** stateHint, GVariant** state)  queryAction;
4574 }
4575 
4576 
4577 /**
4578  * Main Gtk struct.
4579  */
4580 public struct GActionMap{}
4581 
4582 
4583 /**
4584  * The virtual function table for GActionMap.
4585  * GTypeInterface g_iface;
4586  * lookup_action ()
4587  * the virtual function pointer for g_action_map_lookup_action()
4588  * add_action ()
4589  * the virtual function pointer for g_action_map_add_action()
4590  * remove_action ()
4591  * the virtual function pointer for g_action_map_remove_action()
4592  * Since 2.32
4593  */
4594 public struct GActionMapInterface
4595 {
4596 	GTypeInterface gIface;
4597 	extern(C) GAction * function(GActionMap* actionMap, char* actionName)  lookupAction;
4598 	extern(C) void function(GActionMap* actionMap, GAction* action)  addAction;
4599 	extern(C) void function(GActionMap* actionMap, char* actionName)  removeAction;
4600 }
4601 
4602 
4603 /**
4604  * This struct defines a single action. It is for use with
4605  * g_action_map_add_action_entries().
4606  * The order of the items in the structure are intended to reflect
4607  * frequency of use. It is permissible to use an incomplete initialiser
4608  * in order to leave some of the later values as NULL. All values
4609  * after name are optional. Additional optional fields may be added in
4610  * the future.
4611  * See g_action_map_add_action_entries() for an example.
4612  * const gchar *name;
4613  * the name of the action
4614  * activate ()
4615  * the callback to connect to the "activate" signal of the
4616  * action
4617  * const gchar *parameter_type;
4618  * the type of the parameter that must be passed to the
4619  * activate function for this action, given as a single
4620  * GVariant type string (or NULL for no parameter)
4621  * const gchar *state;
4622  * the initial state for this action, given in GVariant text
4623  * format. The state is parsed with no extra type information,
4624  * so type tags must be added to the string if they are
4625  * necessary.
4626  * change_state ()
4627  * the callback to connect to the "change-state" signal
4628  * of the action
4629  */
4630 public struct GActionEntry
4631 {
4632 	char *name;
4633 	extern(C) void function(GSimpleAction* action, GVariant* parameter, void* userData)  activate;
4634 	char *parameterType;
4635 	char *state;
4636 	extern(C) void function(GSimpleAction* action, GVariant* value, void* userData)  changeState;
4637 }
4638 
4639 
4640 /**
4641  * Main Gtk struct.
4642  * The GSimpleActionGroup structure contains private data and should only be accessed using the provided API.
4643  * Since 2.28
4644  */
4645 public struct GSimpleActionGroup{}
4646 
4647 
4648 /**
4649  * Main Gtk struct.
4650  */
4651 public struct GAction{}
4652 
4653 
4654 /**
4655  * The virtual function table for GAction.
4656  * GTypeInterface g_iface;
4657  * get_name ()
4658  * the virtual function pointer for g_action_get_name()
4659  * get_parameter_type ()
4660  * the virtual function pointer for g_action_get_parameter_type()
4661  * get_state_type ()
4662  * the virtual function pointer for g_action_get_state_type()
4663  * get_state_hint ()
4664  * the virtual function pointer for g_action_get_state_hint()
4665  * get_enabled ()
4666  * the virtual function pointer for g_action_get_enabled()
4667  * get_state ()
4668  * the virtual function pointer for g_action_get_state()
4669  * change_state ()
4670  * the virtual function pointer for g_action_change_state()
4671  * activate ()
4672  * the virtual function pointer for g_action_activate(). Note that GAction does not have an
4673  * 'activate' signal but that implementations of it may have one.
4674  * Since 2.28
4675  */
4676 public struct GActionInterface
4677 {
4678 	GTypeInterface gIface;
4679 	/+* virtual functions +/
4680 	extern(C) char * function(GAction* action)  getName;
4681 	extern(C) GVariantType * function(GAction* action)  getParameterType;
4682 	extern(C) GVariantType * function(GAction* action)  getStateType;
4683 	extern(C) GVariant * function(GAction* action)  getStateHint;
4684 	extern(C) int function(GAction* action)  getEnabled;
4685 	extern(C) GVariant * function(GAction* action)  getState;
4686 	extern(C) void function(GAction* action, GVariant* value)  changeState;
4687 	extern(C) void function(GAction* action, GVariant* parameter)  activate;
4688 }
4689 
4690 
4691 /**
4692  * Main Gtk struct.
4693  */
4694 public struct GSimpleAction{}
4695 
4696 
4697 /**
4698  * Main Gtk struct.
4699  * This type is opaque.
4700  * Since 2.38
4701  */
4702 public struct GPropertyAction{}
4703 
4704 
4705 /**
4706  * Main Gtk struct.
4707  */
4708 public struct GRemoteActionGroup{}
4709 
4710 
4711 /**
4712  * The virtual function table for GRemoteActionGroup.
4713  * GTypeInterface g_iface;
4714  * activate_action_full ()
4715  * the virtual function pointer for g_remote_action_group_activate_action_full()
4716  * change_action_state_full ()
4717  * the virtual function pointer for g_remote_action_group_change_action_state_full()
4718  * Since 2.32
4719  */
4720 public struct GRemoteActionGroupInterface
4721 {
4722 	GTypeInterface gIface;
4723 	extern(C) void function(GRemoteActionGroup* remote, char* actionName, GVariant* parameter, GVariant* platformData)  activateActionFull;
4724 	extern(C) void function(GRemoteActionGroup* remote, char* actionName, GVariant* value, GVariant* platformData)  changeActionStateFull;
4725 }
4726 
4727 
4728 /**
4729  * Main Gtk struct.
4730  */
4731 public struct GDBusActionGroup{}
4732 
4733 
4734 /**
4735  * Main Gtk struct.
4736  * GMenuModel is an opaque structure type. You must access it using the
4737  * functions below.
4738  * Since 2.32
4739  */
4740 public struct GMenuModel{}
4741 
4742 
4743 /**
4744  * GMenuAttributeIter is an opaque structure type. You must access it
4745  * using the functions below.
4746  * Since 2.32
4747  */
4748 public struct GMenuAttributeIter{}
4749 
4750 
4751 /**
4752  * GMenuLinkIter is an opaque structure type. You must access it using
4753  * the functions below.
4754  * Since 2.32
4755  */
4756 public struct GMenuLinkIter{}
4757 
4758 
4759 /**
4760  * Main Gtk struct.
4761  * GMenu is an opaque structure type. You must access it using the
4762  * functions below.
4763  * Since 2.32
4764  */
4765 public struct GMenu{}
4766 
4767 
4768 /**
4769  * GMenuItem is an opaque structure type. You must access it using the
4770  * functions below.
4771  * Since 2.32
4772  */
4773 public struct GMenuItem{}
4774 
4775 
4776 /**
4777  * Main Gtk struct.
4778  */
4779 public struct GDBusMenuModel{}
4780 
4781 
4782 /**
4783  * Main Gtk struct.
4784  * Virtual File System object.
4785  */
4786 public struct GVfs{}
4787 
4788 
4789 /**
4790  * Main Gtk struct.
4791  * Opaque module base class for extending GIO.
4792  */
4793 public struct GIOModule{}
4794 
4795 
4796 /**
4797  * Represents a scope for loading IO modules. A scope can be used for blocking
4798  * duplicate modules, or blocking a module you don't want to load.
4799  * The scope can be used with g_io_modules_load_all_in_directory_with_scope()
4800  * or g_io_modules_scan_all_in_directory_with_scope().
4801  * Since 2.30
4802  */
4803 public struct GIOModuleScope{}
4804 
4805 
4806 /**
4807  * Main Gtk struct.
4808  */
4809 public struct GIOExtension{}
4810 
4811 
4812 public struct GIOExtensionPoint{}
4813 
4814 
4815 /**
4816  * Main Gtk struct.
4817  * The GTestDBus structure contains only private data and
4818  * should only be accessed using the provided API.
4819  * Since 2.34
4820  */
4821 public struct GTestDBus{}
4822 
4823 
4824 /*
4825  * When doing file operations that may take a while, such as moving
4826  * a file or copying a file, a progress callback is used to pass how
4827  * far along that operation is to the application.
4828  * current_num_bytes :
4829  * the current number of bytes in the operation.
4830  * total_num_bytes :
4831  * the total number of bytes in the operation.
4832  * user_data :
4833  * user data passed to the callback.
4834  */
4835 // void (*GFileProgressCallback) (goffset current_num_bytes,  goffset total_num_bytes,  gpointer user_data);
4836 public alias extern(C) void function(long currentNumBytes, long totalNumBytes, void* userData) GFileProgressCallback;
4837 
4838 /*
4839  * When loading the partial contents of a file with g_file_load_partial_contents_async(),
4840  * it may become necessary to determine if any more data from the file should be loaded.
4841  * A GFileReadMoreCallback function facilitates this by returning TRUE if more data
4842  * should be read, or FALSE otherwise.
4843  * file_contents :
4844  * the data as currently read.
4845  * file_size :
4846  * the size of the data currently read.
4847  * callback_data :
4848  * data passed to the callback.
4849  * Returns :
4850  * TRUE if more data should be read back. FALSE otherwise.
4851  */
4852 // gboolean (*GFileReadMoreCallback) (const char *file_contents,  goffset file_size,  gpointer callback_data);
4853 public alias extern(C) int function(char* fileContents, long fileSize, void* callbackData) GFileReadMoreCallback;
4854 
4855 /*
4856  * This callback type is used by g_file_measure_disk_usage() to make
4857  * periodic progress reports when measuring the amount of disk spaced
4858  * used by a directory.
4859  * These calls are made on a best-effort basis and not all types of
4860  * GFile will support them. At the minimum, however, one call will
4861  * always be made immediately.
4862  * In the case that there is no support, reporting will be set to
4863  * FALSE (and the other values undefined) and no further calls will be
4864  * made. Otherwise, the reporting will be TRUE and the other values
4865  * all-zeros during the first (immediate) call. In this way, you can
4866  * know which type of progress UI to show without a delay.
4867  * For g_file_measure_disk_usage() the callback is made directly. For
4868  * g_file_measure_disk_usage_async() the callback is made via the
4869  * default main context of the calling thread (ie: the same way that the
4870  * final async result would be reported).
4871  * current_size is in the same units as requested by the operation (see
4872  * G_FILE_DISK_USAGE_APPARENT_SIZE).
4873  * The frequency of the updates is implementation defined, but is
4874  * ideally about once every 200ms.
4875  * The last progress callback may or may not be equal to the final
4876  * result. Always check the async result to get the final value.
4877  * reporting :
4878  * TRUE if more reports will come
4879  * current_size :
4880  * the current cumulative size measurement
4881  * num_dirs :
4882  * the number of directories visited so far
4883  * num_files :
4884  * the number of non-directory files encountered
4885  * user_data :
4886  * the data passed to the original request for this callback
4887  * Since 2.38
4888  */
4889 // void (*GFileMeasureProgressCallback) (gboolean reporting,  guint64 current_size,  guint64 num_dirs,  guint64 num_files,  gpointer user_data);
4890 public alias extern(C) void function(int reporting, ulong currentSize, ulong numDirs, ulong numFiles, void* userData) GFileMeasureProgressCallback;
4891 
4892 /*
4893  * This is the function type of the callback used for the GSource
4894  * returned by g_cancellable_source_new().
4895  * cancellable :
4896  * the GCancellable
4897  * user_data :
4898  * data passed in by the user.
4899  * Returns :
4900  * it should return FALSE if the source should be removed.
4901  * Since 2.28
4902  */
4903 // gboolean (*GCancellableSourceFunc) (GCancellable *cancellable,  gpointer user_data);
4904 public alias extern(C) int function(GCancellable* cancellable, void* userData) GCancellableSourceFunc;
4905 
4906 /*
4907  * Type definition for a function that will be called back when an asynchronous
4908  * operation within GIO has been completed.
4909  * source_object :
4910  * the object the asynchronous operation was started with.
4911  * res :
4912  * a GAsyncResult.
4913  * user_data :
4914  * user data passed to the callback.
4915  */
4916 // void (*GAsyncReadyCallback) (GObject *source_object,  GAsyncResult *res,  gpointer user_data);
4917 public alias extern(C) void function(GObject* sourceObject, GAsyncResult* res, void* userData) GAsyncReadyCallback;
4918 
4919 /*
4920  * The prototype for a task function to be run in a thread via
4921  * g_task_run_in_thread() or g_task_run_in_thread_sync().
4922  * If the return-on-cancel flag is set on task, and cancellable gets
4923  * cancelled, then the GTask will be completed immediately (as though
4924  * g_task_return_error_if_cancelled() had been called), without
4925  * waiting for the task function to complete. However, the task
4926  * function will continue running in its thread in the background. The
4927  * function therefore needs to be careful about how it uses
4928  * externally-visible state in this case. See
4929  * g_task_set_return_on_cancel() for more details.
4930  * Other than in that case, task will be completed when the
4931  * GTaskThreadFunc returns, not when it calls
4932  * a g_task_return_ function.
4933  * task :
4934  * the GTask
4935  * source_object :
4936  * task's source object. [type GObject]
4937  * task_data :
4938  * task's task data
4939  * cancellable :
4940  * task's GCancellable, or NULL
4941  * Since 2.36
4942  */
4943 // void (*GTaskThreadFunc) (GTask *task,  gpointer source_object,  gpointer task_data,  GCancellable *cancellable);
4944 public alias extern(C) void function(GTask* task, void* sourceObject, void* taskData, GCancellable* cancellable) GTaskThreadFunc;
4945 
4946 /*
4947  * I/O Job function.
4948  * Long-running jobs should periodically check the cancellable
4949  * to see if they have been cancelled.
4950  * job :
4951  * a GIOSchedulerJob.
4952  * cancellable :
4953  * optional GCancellable object, NULL to ignore.
4954  * user_data :
4955  * the data to pass to callback function
4956  * Returns :
4957  * TRUE if this function should be called again to
4958  * complete the job, FALSE if the job is complete (or cancelled)
4959  */
4960 // gboolean (*GIOSchedulerJobFunc) (GIOSchedulerJob *job,  GCancellable *cancellable,  gpointer user_data);
4961 public alias extern(C) int function(GIOSchedulerJob* job, GCancellable* cancellable, void* userData) GIOSchedulerJobFunc;
4962 
4963 /*
4964  * Simple thread function that runs an asynchronous operation and
4965  * checks for cancellation.
4966  * res :
4967  * a GSimpleAsyncResult.
4968  * object :
4969  * a GObject.
4970  * cancellable :
4971  * optional GCancellable object, NULL to ignore.
4972  */
4973 // void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res,  GObject *object,  GCancellable *cancellable);
4974 public alias extern(C) void function(GSimpleAsyncResult* res, GObject* object, GCancellable* cancellable) GSimpleAsyncThreadFunc;
4975 
4976 /*
4977  * Changes the size of the memory block pointed to by data to
4978  * size bytes.
4979  * The function should have the same semantics as realloc().
4980  * data :
4981  * memory block to reallocate
4982  * size :
4983  * size to reallocate data to
4984  * Returns :
4985  * a pointer to the reallocated memory
4986  */
4987 // gpointer (*GReallocFunc) (gpointer data,  gsize size);
4988 public alias extern(C) void* function(void* data, gsize size) GReallocFunc;
4989 
4990 /*
4991  * This is the function type of the callback used for the GSource
4992  * returned by g_pollable_input_stream_create_source() and
4993  * g_pollable_output_stream_create_source().
4994  * pollable_stream :
4995  * the GPollableInputStream or GPollableOutputStream
4996  * user_data :
4997  * data passed in by the user.
4998  * Returns :
4999  * it should return FALSE if the source should be removed.
5000  * Since 2.28
5001  */
5002 // gboolean (*GPollableSourceFunc) (GObject *pollable_stream,  gpointer user_data);
5003 public alias extern(C) int function(GObject* pollableStream, void* userData) GPollableSourceFunc;
5004 
5005 /*
5006  * During invocation, g_desktop_app_info_launch_uris_as_manager() may
5007  * create one or more child processes. This callback is invoked once
5008  * for each, providing the process ID.
5009  * appinfo :
5010  * a GDesktopAppInfo
5011  * pid :
5012  * Process identifier
5013  * user_data :
5014  * User data
5015  */
5016 // void (*GDesktopAppLaunchCallback) (GDesktopAppInfo *appinfo,  GPid pid,  gpointer user_data);
5017 public alias extern(C) void function(GDesktopAppInfo* appinfo, GPid pid, void* userData) GDesktopAppLaunchCallback;
5018 
5019 /*
5020  * This is the function type of the callback used for the GSource
5021  * returned by g_socket_create_source().
5022  * socket :
5023  * the GSocket
5024  * condition :
5025  * the current condition at the source fired.
5026  * user_data :
5027  * data passed in by the user.
5028  * Returns :
5029  * it should return FALSE if the source should be removed.
5030  * Since 2.22
5031  */
5032 // gboolean (*GSocketSourceFunc) (GSocket *socket,  GIOCondition condition,  gpointer user_data);
5033 public alias extern(C) int function(GSocket* socket, GIOCondition condition, void* userData) GSocketSourceFunc;
5034 
5035 /*
5036  * Signature for callback function used in g_dbus_connection_signal_subscribe().
5037  * connection :
5038  * A GDBusConnection.
5039  * sender_name :
5040  * The unique bus name of the sender of the signal.
5041  * object_path :
5042  * The object path that the signal was emitted on.
5043  * interface_name :
5044  * The name of the interface.
5045  * signal_name :
5046  * The name of the signal.
5047  * parameters :
5048  * A GVariant tuple with parameters for the signal.
5049  * user_data :
5050  * User data passed when subscribing to the signal.
5051  * Since 2.26
5052  */
5053 // void (*GDBusSignalCallback) (GDBusConnection *connection,  const gchar *sender_name,  const gchar *object_path,  const gchar *interface_name,  const gchar *signal_name,  GVariant *parameters,  gpointer user_data);
5054 public alias extern(C) void function(GDBusConnection* connection, char* senderName, char* objectPath, char* interfaceName, char* signalName, GVariant* parameters, void* userData) GDBusSignalCallback;
5055 
5056 /*
5057  * Signature for function used in g_dbus_connection_add_filter().
5058  * A filter function is passed a GDBusMessage and expected to return
5059  * a GDBusMessage too. Passive filter functions that don't modify the
5060  * message can simply return the message object:
5061  * $(DDOC_COMMENT example)
5062  * Filter functions that wants to drop a message can simply return NULL:
5063  * $(DDOC_COMMENT example)
5064  * Finally, a filter function may modify a message by copying it:
5065  * $(DDOC_COMMENT example)
5066  * If the returned GDBusMessage is different from message and cannot
5067  * be sent on connection (it could use features, such as file
5068  * descriptors, not compatible with connection), then a warning is
5069  * logged to standard error. Applications can
5070  * check this ahead of time using g_dbus_message_to_blob() passing a
5071  * GDBusCapabilityFlags value obtained from connection.
5072  * connection :
5073  * A GDBusConnection. [transfer none]
5074  * message :
5075  * A locked GDBusMessage that the filter function takes ownership of. [transfer full]
5076  * incoming :
5077  * TRUE if it is a message received from the other peer, FALSE if it is
5078  * a message to be sent to the other peer.
5079  * user_data :
5080  * User data passed when adding the filter.
5081  * Returns :
5082  * A GDBusMessage that will be freed with
5083  * g_object_unref() or NULL to drop the message. Passive filter
5084  * functions can simply return the passed message object. [transfer full][allow-none]
5085  * Since 2.26
5086  */
5087 // GDBusMessage * (*GDBusMessageFilterFunction) (GDBusConnection *connection,  GDBusMessage *message,  gboolean incoming,  gpointer user_data);
5088 public alias extern(C) GDBusMessage * function(GDBusConnection* connection, GDBusMessage* message, int incoming, void* userData) GDBusMessageFilterFunction;
5089 
5090 /*
5091  * The type of the method_call function in GDBusInterfaceVTable.
5092  * connection :
5093  * A GDBusConnection.
5094  * sender :
5095  * The unique bus name of the remote caller.
5096  * object_path :
5097  * The object path that the method was invoked on.
5098  * interface_name :
5099  * The D-Bus interface name the method was invoked on.
5100  * method_name :
5101  * The name of the method that was invoked.
5102  * parameters :
5103  * A GVariant tuple with parameters.
5104  * invocation :
5105  * A GDBusMethodInvocation object that can be used to return a value or error.
5106  * user_data :
5107  * The user_data gpointer passed to g_dbus_connection_register_object().
5108  * Since 2.26
5109  */
5110 // void (*GDBusInterfaceMethodCallFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *interface_name,  const gchar *method_name,  GVariant *parameters,  GDBusMethodInvocation *invocation,  gpointer user_data);
5111 public alias extern(C) void function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* methodName, GVariant* parameters, GDBusMethodInvocation* invocation, void* userData) GDBusInterfaceMethodCallFunc;
5112 
5113 /*
5114  * The type of the get_property function in GDBusInterfaceVTable.
5115  * connection :
5116  * A GDBusConnection.
5117  * sender :
5118  * The unique bus name of the remote caller.
5119  * object_path :
5120  * The object path that the method was invoked on.
5121  * interface_name :
5122  * The D-Bus interface name for the property.
5123  * property_name :
5124  * The name of the property to get the value of.
5125  * error :
5126  * Return location for error.
5127  * user_data :
5128  * The user_data gpointer passed to g_dbus_connection_register_object().
5129  * Returns :
5130  * A GVariant with the value for property_name or NULL if
5131  * error is set. If the returned GVariant is floating, it is
5132  * consumed - otherwise its reference count is decreased by one.
5133  * Since 2.26
5134  */
5135 // GVariant * (*GDBusInterfaceGetPropertyFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *interface_name,  const gchar *property_name,  GError **error,  gpointer user_data);
5136 public alias extern(C) GVariant * function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* propertyName, GError** error, void* userData) GDBusInterfaceGetPropertyFunc;
5137 
5138 /*
5139  * The type of the set_property function in GDBusInterfaceVTable.
5140  * connection :
5141  * A GDBusConnection.
5142  * sender :
5143  * The unique bus name of the remote caller.
5144  * object_path :
5145  * The object path that the method was invoked on.
5146  * interface_name :
5147  * The D-Bus interface name for the property.
5148  * property_name :
5149  * The name of the property to get the value of.
5150  * value :
5151  * The value to set the property to.
5152  * error :
5153  * Return location for error.
5154  * user_data :
5155  * The user_data gpointer passed to g_dbus_connection_register_object().
5156  * Returns :
5157  * TRUE if the property was set to value, FALSE if error is set.
5158  * Since 2.26
5159  */
5160 // gboolean (*GDBusInterfaceSetPropertyFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *interface_name,  const gchar *property_name,  GVariant *value,  GError **error,  gpointer user_data);
5161 public alias extern(C) int function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* propertyName, GVariant* value, GError** error, void* userData) GDBusInterfaceSetPropertyFunc;
5162 
5163 /*
5164  * The type of the enumerate function in GDBusSubtreeVTable.
5165  * This function is called when generating introspection data and also
5166  * when preparing to dispatch incoming messages in the event that the
5167  * G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not
5168  * specified (ie: to verify that the object path is valid).
5169  * Hierarchies are not supported; the items that you return should not
5170  * contain the '/' character.
5171  * The return value will be freed with g_strfreev().
5172  * connection :
5173  * A GDBusConnection.
5174  * sender :
5175  * The unique bus name of the remote caller.
5176  * object_path :
5177  * The object path that was registered with g_dbus_connection_register_subtree().
5178  * user_data :
5179  * The user_data gpointer passed to g_dbus_connection_register_subtree().
5180  * Returns :
5181  * A newly allocated array of strings for node names that are children of object_path.
5182  * Since 2.26
5183  */
5184 // gchar ** (*GDBusSubtreeEnumerateFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  gpointer user_data);
5185 public alias extern(C) char ** function(GDBusConnection* connection, char* sender, char* objectPath, void* userData) GDBusSubtreeEnumerateFunc;
5186 
5187 /*
5188  * The type of the introspect function in GDBusSubtreeVTable.
5189  * Subtrees are flat. node, if non-NULL, is always exactly one
5190  * segment of the object path (ie: it never contains a slash).
5191  * This function should return NULL to indicate that there is no object
5192  * at this node.
5193  * If this function returns non-NULL, the return value is expected to
5194  * be a NULL-terminated array of pointers to GDBusInterfaceInfo
5195  * structures describing the interfaces implemented by node. This
5196  * array will have g_dbus_interface_info_unref() called on each item
5197  * before being freed with g_free().
5198  * The difference between returning NULL and an array containing zero
5199  * items is that the standard DBus interfaces will returned to the
5200  * remote introspector in the empty array case, but not in the NULL
5201  * case.
5202  * connection :
5203  * A GDBusConnection.
5204  * sender :
5205  * The unique bus name of the remote caller.
5206  * object_path :
5207  * The object path that was registered with g_dbus_connection_register_subtree().
5208  * node :
5209  * A node that is a child of object_path (relative to object_path) or NULL for the root of the subtree.
5210  * user_data :
5211  * The user_data gpointer passed to g_dbus_connection_register_subtree().
5212  * Returns :
5213  * A NULL-terminated array of pointers to GDBusInterfaceInfo, or NULL.
5214  * Since 2.26
5215  */
5216 // GDBusInterfaceInfo ** (*GDBusSubtreeIntrospectFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *node,  gpointer user_data);
5217 public alias extern(C) GDBusInterfaceInfo ** function(GDBusConnection* connection, char* sender, char* objectPath, char* node, void* userData) GDBusSubtreeIntrospectFunc;
5218 
5219 /*
5220  * The type of the dispatch function in GDBusSubtreeVTable.
5221  * Subtrees are flat. node, if non-NULL, is always exactly one
5222  * segment of the object path (ie: it never contains a slash).
5223  * connection :
5224  * A GDBusConnection.
5225  * sender :
5226  * The unique bus name of the remote caller.
5227  * object_path :
5228  * The object path that was registered with g_dbus_connection_register_subtree().
5229  * interface_name :
5230  * The D-Bus interface name that the method call or property access is for.
5231  * node :
5232  * A node that is a child of object_path (relative to object_path) or NULL for the root of the subtree.
5233  * out_user_data :
5234  * Return location for user data to pass to functions in the returned GDBusInterfaceVTable (never NULL).
5235  * user_data :
5236  * The user_data gpointer passed to g_dbus_connection_register_subtree().
5237  * Returns :
5238  * A GDBusInterfaceVTable or NULL if you don't want to handle the methods.
5239  * Since 2.26
5240  */
5241 // const GDBusInterfaceVTable * (*GDBusSubtreeDispatchFunc)  (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *interface_name,  const gchar *node,  gpointer *out_user_data,  gpointer user_data);
5242 public alias extern(C) GDBusInterfaceVTable * function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* node, gpointer* outUserData, void* userData) GDBusSubtreeDispatchFunc;
5243 
5244 /*
5245  * Invoked when a connection to a message bus has been obtained.
5246  * connection :
5247  * The GDBusConnection to a message bus.
5248  * name :
5249  * The name that is requested to be owned.
5250  * user_data :
5251  * User data passed to g_bus_own_name().
5252  * Since 2.26
5253  */
5254 // void (*GBusAcquiredCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
5255 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusAcquiredCallback;
5256 
5257 /*
5258  * Invoked when the name is acquired.
5259  * connection :
5260  * The GDBusConnection on which to acquired the name.
5261  * name :
5262  * The name being owned.
5263  * user_data :
5264  * User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
5265  * Since 2.26
5266  */
5267 // void (*GBusNameAcquiredCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
5268 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameAcquiredCallback;
5269 
5270 /*
5271  * Invoked when the name is lost or connection has been closed.
5272  * connection :
5273  * The GDBusConnection on which to acquire the name or NULL if
5274  * the connection was disconnected.
5275  * name :
5276  * The name being owned.
5277  * user_data :
5278  * User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
5279  * Since 2.26
5280  */
5281 // void (*GBusNameLostCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
5282 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameLostCallback;
5283 
5284 /*
5285  * Invoked when the name being watched is known to have to have a owner.
5286  * connection :
5287  * The GDBusConnection the name is being watched on.
5288  * name :
5289  * The name being watched.
5290  * name_owner :
5291  * Unique name of the owner of the name being watched.
5292  * user_data :
5293  * User data passed to g_bus_watch_name().
5294  * Since 2.26
5295  */
5296 // void (*GBusNameAppearedCallback) (GDBusConnection *connection,  const gchar *name,  const gchar *name_owner,  gpointer user_data);
5297 public alias extern(C) void function(GDBusConnection* connection, char* name, char* nameOwner, void* userData) GBusNameAppearedCallback;
5298 
5299 /*
5300  * Invoked when the name being watched is known not to have to have a owner.
5301  * This is also invoked when the GDBusConection on which the watch was
5302  * established has been closed. In that case, connection will be
5303  * NULL.
5304  * connection :
5305  * The GDBusConnection the name is being watched on, or
5306  * NULL.
5307  * name :
5308  * The name being watched.
5309  * user_data :
5310  * User data passed to g_bus_watch_name().
5311  * Since 2.26
5312  */
5313 // void (*GBusNameVanishedCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
5314 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameVanishedCallback;
5315 
5316 /*
5317  * Function signature for a function used to determine the GType to
5318  * use for an interface proxy (if interface_name is not NULL) or
5319  * object proxy (if interface_name is NULL).
5320  * This function is called in the
5321  * thread-default main loop
5322  * that manager was constructed in.
5323  * manager :
5324  * A GDBusObjectManagerClient.
5325  * object_path :
5326  * The object path of the remote object.
5327  * interface_name :
5328  * The interface name of the remote object or NULL if a GDBusObjectProxy GType is requested. [allow-none]
5329  * user_data :
5330  * User data.
5331  * Returns :
5332  * A GType to use for the remote object. The returned type
5333  * must be a GDBusProxy- or GDBusObjectProxy-derived
5334  * type.
5335  * Since 2.30
5336  */
5337 // GType (*GDBusProxyTypeFunc) (GDBusObjectManagerClient *manager,  const gchar *object_path,  const gchar *interface_name,  gpointer user_data);
5338 public alias extern(C) GType function(GDBusObjectManagerClient* manager, char* objectPath, char* interfaceName, void* userData) GDBusProxyTypeFunc;
5339 
5340 /*
5341  * The type of the function that is used to convert from a value stored
5342  * in a GSettings to a value that is useful to the application.
5343  * If the value is successfully mapped, the result should be stored at
5344  * result and TRUE returned. If mapping fails (for example, if value
5345  * is not in the right format) then FALSE should be returned.
5346  * If value is NULL then it means that the mapping function is being
5347  * given a "last chance" to successfully return a valid value. TRUE
5348  * must be returned in this case.
5349  * value :
5350  * the GVariant to map, or NULL
5351  * result :
5352  * the result of the mapping. [out]
5353  * user_data :
5354  * the user data that was passed to
5355  * g_settings_get_mapped(). [closure]
5356  * Returns :
5357  * TRUE if the conversion succeeded, FALSE in case of an error
5358  */
5359 // gboolean (*GSettingsGetMapping) (GVariant *value,  gpointer *result,  gpointer user_data);
5360 public alias extern(C) int function(GVariant* value, gpointer* result, void* userData) GSettingsGetMapping;
5361 
5362 /*
5363  * The type for the function that is used to convert an object property
5364  * value to a GVariant for storing it in GSettings.
5365  * value :
5366  * a GValue containing the property value to map
5367  * expected_type :
5368  * the GVariantType to create
5369  * user_data :
5370  * user data that was specified when the binding was created
5371  * Returns :
5372  * a new GVariant holding the data from value,
5373  * or NULL in case of an error
5374  */
5375 // GVariant * (*GSettingsBindSetMapping) (const GValue *value,  const GVariantType *expected_type,  gpointer user_data);
5376 public alias extern(C) GVariant * function(GValue* value, GVariantType* expectedType, void* userData) GSettingsBindSetMapping;
5377 
5378 /*
5379  * The type for the function that is used to convert from GSettings to
5380  * an object property. The value is already initialized to hold values
5381  * of the appropriate type.
5382  * value :
5383  * return location for the property value
5384  * variant :
5385  * the GVariant
5386  * user_data :
5387  * user data that was specified when the binding was created
5388  * Returns :
5389  * TRUE if the conversion succeeded, FALSE in case of an error
5390  */
5391 // gboolean (*GSettingsBindGetMapping) (GValue *value,  GVariant *variant,  gpointer user_data);
5392 public alias extern(C) int function(GValue* value, GVariant* variant, void* userData) GSettingsBindGetMapping;