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  * Flags used when querying a GFileInfo.
32  * G_FILE_QUERY_INFO_NONE
33  * No flags set.
34  * G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
35  * Don't follow symlinks.
36  */
37 public enum GFileQueryInfoFlags
38 {
39 	NONE = 0,
40 	NOFOLLOW_SYMLINKS = (1 << 0) /+*< nick=nofollow-symlinks >+/
41 }
42 alias GFileQueryInfoFlags FileQueryInfoFlags;
43 
44 /**
45  * Flags used when an operation may create a file.
46  * G_FILE_CREATE_NONE
47  * No flags set.
48  * G_FILE_CREATE_PRIVATE
49  * Create a file that can only be
50  *  accessed by the current user.
51  * G_FILE_CREATE_REPLACE_DESTINATION
52  * Replace the destination
53  *  as if it didn't exist before. Don't try to keep any old
54  *  permissions, replace instead of following links. This
55  *  is generally useful if you're doing a "copy over"
56  *  rather than a "save new version of" replace operation.
57  *  You can think of it as "unlink destination" before
58  *  writing to it, although the implementation may not
59  *  be exactly like that. Since 2.20
60  */
61 public enum GFileCreateFlags
62 {
63 	NONE = 0,
64 	PRIVATE = (1 << 0),
65 	REPLACE_DESTINATION = (1 << 1)
66 }
67 alias GFileCreateFlags FileCreateFlags;
68 
69 /**
70  * Flags used when copying or moving files.
71  * G_FILE_COPY_NONE
72  * No flags set.
73  * G_FILE_COPY_OVERWRITE
74  * Overwrite any existing files
75  * G_FILE_COPY_BACKUP
76  * Make a backup of any existing files.
77  * G_FILE_COPY_NOFOLLOW_SYMLINKS
78  * Don't follow symlinks.
79  * G_FILE_COPY_ALL_METADATA
80  * Copy all file metadata instead of just default set used for copy (see GFileInfo).
81  * G_FILE_COPY_NO_FALLBACK_FOR_MOVE
82  * Don't use copy and delete fallback if native move not supported.
83  * G_FILE_COPY_TARGET_DEFAULT_PERMS
84  * Leaves target file with default perms, instead of setting the source file perms.
85  */
86 public enum GFileCopyFlags
87 {
88 	NONE = 0, /+*< nick=none >+/
89 	OVERWRITE = (1 << 0),
90 	BACKUP = (1 << 1),
91 	NOFOLLOW_SYMLINKS = (1 << 2),
92 	ALL_METADATA = (1 << 3),
93 	NO_FALLBACK_FOR_MOVE = (1 << 4),
94 	TARGET_DEFAULT_PERMS = (1 << 5)
95 }
96 alias GFileCopyFlags FileCopyFlags;
97 
98 /**
99  * Flags used to set what a GFileMonitor will watch for.
100  * G_FILE_MONITOR_NONE
101  * No flags set.
102  * G_FILE_MONITOR_WATCH_MOUNTS
103  * Watch for mount events.
104  * G_FILE_MONITOR_SEND_MOVED
105  * Pair DELETED and CREATED events caused
106  *  by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
107  *  event instead (NB: not supported on all backends; the default
108  *  behaviour -without specifying this flag- is to send single DELETED
109  *  and CREATED events).
110  */
111 public enum GFileMonitorFlags
112 {
113 	NONE = 0,
114 	WATCH_MOUNTS = (1 << 0),
115 	SEND_MOVED = (1 << 1)
116 }
117 alias GFileMonitorFlags FileMonitorFlags;
118 
119 /**
120  * Indicates a hint from the file system whether files should be
121  * previewed in a file manager. Returned as the value of the key
122  * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
123  * G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS
124  * Only preview files if user has explicitly requested it.
125  * G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL
126  * Preview files if user has requested preview of "local" files.
127  * G_FILESYSTEM_PREVIEW_TYPE_NEVER
128  * Never preview files.
129  */
130 public enum GFilesystemPreviewType
131 {
132 	TYPE_IF_ALWAYS = 0,
133 	TYPE_IF_LOCAL,
134 	TYPE_NEVER
135 }
136 alias GFilesystemPreviewType FilesystemPreviewType;
137 
138 /**
139  * The data types for file attributes.
140  * G_FILE_ATTRIBUTE_TYPE_INVALID
141  * indicates an invalid or uninitalized type.
142  * G_FILE_ATTRIBUTE_TYPE_STRING
143  * a null terminated UTF8 string.
144  * G_FILE_ATTRIBUTE_TYPE_BYTE_STRING
145  * a zero terminated string of non-zero bytes.
146  * G_FILE_ATTRIBUTE_TYPE_BOOLEAN
147  * a boolean value.
148  * G_FILE_ATTRIBUTE_TYPE_UINT32
149  * an unsigned 4-byte/32-bit integer.
150  * G_FILE_ATTRIBUTE_TYPE_INT32
151  * a signed 4-byte/32-bit integer.
152  * G_FILE_ATTRIBUTE_TYPE_UINT64
153  * an unsigned 8-byte/64-bit integer.
154  * G_FILE_ATTRIBUTE_TYPE_INT64
155  * a signed 8-byte/64-bit integer.
156  * G_FILE_ATTRIBUTE_TYPE_OBJECT
157  * a GObject.
158  * G_FILE_ATTRIBUTE_TYPE_STRINGV
159  * a NULL terminated char **. Since 2.22
160  */
161 public enum GFileAttributeType
162 {
163 	TYPE_INVALID = 0,
164 	TYPE_STRING,
165 	TYPE_BYTE_STRING, /+* zero terminated string of non-zero bytes +/
166 	TYPE_BOOLEAN,
167 	TYPE_UINT32,
168 	TYPE_INT32,
169 	TYPE_UINT64,
170 	TYPE_INT64,
171 	TYPE_OBJECT,
172 	TYPE_STRINGV
173 }
174 alias GFileAttributeType FileAttributeType;
175 
176 /**
177  * Flags specifying the behaviour of an attribute.
178  * G_FILE_ATTRIBUTE_INFO_NONE
179  * no flags set.
180  * G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE
181  * copy the attribute values when the file is copied.
182  * G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED
183  * copy the attribute values when the file is moved.
184  */
185 public enum GFileAttributeInfoFlags
186 {
187 	NONE = 0,
188 	COPY_WITH_FILE = (1 << 0),
189 	COPY_WHEN_MOVED = (1 << 1)
190 }
191 alias GFileAttributeInfoFlags FileAttributeInfoFlags;
192 
193 /**
194  * Used by g_file_set_attributes_from_info() when setting file attributes.
195  * G_FILE_ATTRIBUTE_STATUS_UNSET
196  * Attribute value is unset (empty).
197  * G_FILE_ATTRIBUTE_STATUS_SET
198  * Attribute value is set.
199  * G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING
200  * Indicates an error in setting the value.
201  */
202 public enum GFileAttributeStatus
203 {
204 	UNSET = 0,
205 	SET,
206 	ERROR_SETTING
207 }
208 alias GFileAttributeStatus FileAttributeStatus;
209 
210 /**
211  * Indicates the file's on-disk type.
212  * G_FILE_TYPE_UNKNOWN
213  * File's type is unknown.
214  * G_FILE_TYPE_REGULAR
215  * File handle represents a regular file.
216  * G_FILE_TYPE_DIRECTORY
217  * File handle represents a directory.
218  * G_FILE_TYPE_SYMBOLIC_LINK
219  * File handle represents a symbolic link
220  *  (Unix systems).
221  * G_FILE_TYPE_SPECIAL
222  * File is a "special" file, such as a socket, fifo,
223  *  block device, or character device.
224  * G_FILE_TYPE_SHORTCUT
225  * File is a shortcut (Windows systems).
226  * G_FILE_TYPE_MOUNTABLE
227  * File is a mountable location.
228  */
229 public enum GFileType
230 {
231 	TYPE_UNKNOWN = 0,
232 	TYPE_REGULAR,
233 	TYPE_DIRECTORY,
234 	TYPE_SYMBOLIC_LINK,
235 	TYPE_SPECIAL, /+* socket, fifo, blockdev, chardev +/
236 	TYPE_SHORTCUT,
237 	TYPE_MOUNTABLE
238 }
239 alias GFileType FileType;
240 
241 /**
242  * Error codes returned by GIO functions.
243  * G_IO_ERROR_FAILED
244  * Generic error condition for when any operation fails.
245  * G_IO_ERROR_NOT_FOUND
246  * File not found error.
247  * G_IO_ERROR_EXISTS
248  * File already exists error.
249  * G_IO_ERROR_IS_DIRECTORY
250  * File is a directory error.
251  * G_IO_ERROR_NOT_DIRECTORY
252  * File is not a directory.
253  * G_IO_ERROR_NOT_EMPTY
254  * File is a directory that isn't empty.
255  * G_IO_ERROR_NOT_REGULAR_FILE
256  * File is not a regular file.
257  * G_IO_ERROR_NOT_SYMBOLIC_LINK
258  * File is not a symbolic link.
259  * G_IO_ERROR_NOT_MOUNTABLE_FILE
260  * File cannot be mounted.
261  * G_IO_ERROR_FILENAME_TOO_LONG
262  * Filename is too many characters.
263  * G_IO_ERROR_INVALID_FILENAME
264  * Filename is invalid or contains invalid characters.
265  * G_IO_ERROR_TOO_MANY_LINKS
266  * File contains too many symbolic links.
267  * G_IO_ERROR_NO_SPACE
268  * No space left on drive.
269  * G_IO_ERROR_INVALID_ARGUMENT
270  * Invalid argument.
271  * G_IO_ERROR_PERMISSION_DENIED
272  * Permission denied.
273  * G_IO_ERROR_NOT_SUPPORTED
274  * Operation not supported for the current backend.
275  * G_IO_ERROR_NOT_MOUNTED
276  * File isn't mounted.
277  * G_IO_ERROR_ALREADY_MOUNTED
278  * File is already mounted.
279  * G_IO_ERROR_CLOSED
280  * File was closed.
281  * G_IO_ERROR_CANCELLED
282  * Operation was cancelled. See GCancellable.
283  * G_IO_ERROR_PENDING
284  * Operations are still pending.
285  * G_IO_ERROR_READ_ONLY
286  * File is read only.
287  * G_IO_ERROR_CANT_CREATE_BACKUP
288  * Backup couldn't be created.
289  * G_IO_ERROR_WRONG_ETAG
290  * File's Entity Tag was incorrect.
291  * G_IO_ERROR_TIMED_OUT
292  * Operation timed out.
293  * G_IO_ERROR_WOULD_RECURSE
294  * Operation would be recursive.
295  * G_IO_ERROR_BUSY
296  * File is busy.
297  * G_IO_ERROR_WOULD_BLOCK
298  * Operation would block.
299  * G_IO_ERROR_HOST_NOT_FOUND
300  * Host couldn't be found (remote operations).
301  * G_IO_ERROR_WOULD_MERGE
302  * Operation would merge files.
303  * G_IO_ERROR_FAILED_HANDLED
304  * Operation failed and a helper program has
305  *  already interacted with the user. Do not display any error dialog.
306  * G_IO_ERROR_TOO_MANY_OPEN_FILES
307  * The current process has too many files
308  *  open and can't open any more. Duplicate descriptors do count toward
309  *  this limit. Since 2.20
310  * G_IO_ERROR_NOT_INITIALIZED
311  * The object has not been initialized. Since 2.22
312  * G_IO_ERROR_ADDRESS_IN_USE
313  * The requested address is already in use. Since 2.22
314  * G_IO_ERROR_PARTIAL_INPUT
315  * Need more input to finish operation. Since 2.24
316  * G_IO_ERROR_INVALID_DATA
317  * There input data was invalid. Since 2.24
318  * G_IO_ERROR_DBUS_ERROR
319  * A remote object generated an error that
320  *  doesn't correspond to a locally registered GError error
321  *  domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
322  *  error name and g_dbus_error_strip_remote_error() to fix up the
323  *  message so it matches what was received on the wire. Since 2.26.
324  * G_IO_ERROR_HOST_UNREACHABLE
325  * Host unreachable. Since 2.26
326  * G_IO_ERROR_NETWORK_UNREACHABLE
327  * Network unreachable. Since 2.26
328  * G_IO_ERROR_CONNECTION_REFUSED
329  * Connection refused. Since 2.26
330  * G_IO_ERROR_PROXY_FAILED
331  * Connection to proxy server failed. Since 2.26
332  * G_IO_ERROR_PROXY_AUTH_FAILED
333  * Proxy authentication failed. Since 2.26
334  * G_IO_ERROR_PROXY_NEED_AUTH
335  * Proxy server needs authentication. Since 2.26
336  * G_IO_ERROR_PROXY_NOT_ALLOWED
337  * Proxy connection is not allowed by ruleset.
338  *  Since 2.26
339  */
340 public enum GIOErrorEnum
341 {
342 	FAILED,
343 	NOT_FOUND,
344 	EXISTS,
345 	IS_DIRECTORY,
346 	NOT_DIRECTORY,
347 	NOT_EMPTY,
348 	NOT_REGULAR_FILE,
349 	NOT_SYMBOLIC_LINK,
350 	NOT_MOUNTABLE_FILE,
351 	FILENAME_TOO_LONG,
352 	INVALID_FILENAME,
353 	TOO_MANY_LINKS,
354 	NO_SPACE,
355 	INVALID_ARGUMENT,
356 	PERMISSION_DENIED,
357 	NOT_SUPPORTED,
358 	NOT_MOUNTED,
359 	ALREADY_MOUNTED,
360 	CLOSED,
361 	CANCELLED,
362 	PENDING,
363 	READ_ONLY,
364 	CANT_CREATE_BACKUP,
365 	WRONG_ETAG,
366 	TIMED_OUT,
367 	WOULD_RECURSE,
368 	BUSY,
369 	WOULD_BLOCK,
370 	HOST_NOT_FOUND,
371 	WOULD_MERGE,
372 	FAILED_HANDLED,
373 	TOO_MANY_OPEN_FILES,
374 	NOT_INITIALIZED,
375 	ADDRESS_IN_USE,
376 	PARTIAL_INPUT,
377 	INVALID_DATA,
378 	DBUS_ERROR,
379 	HOST_UNREACHABLE,
380 	NETWORK_UNREACHABLE,
381 	CONNECTION_REFUSED,
382 	PROXY_FAILED,
383 	PROXY_AUTH_FAILED,
384 	PROXY_NEED_AUTH,
385 	PROXY_NOT_ALLOWED
386 }
387 alias GIOErrorEnum IOErrorEnum;
388 
389 /**
390  * GAskPasswordFlags are used to request specific information from the
391  * user, or to notify the user of their choices in an authentication
392  * situation.
393  * G_ASK_PASSWORD_NEED_PASSWORD
394  * operation requires a password.
395  * G_ASK_PASSWORD_NEED_USERNAME
396  * operation requires a username.
397  * G_ASK_PASSWORD_NEED_DOMAIN
398  * operation requires a domain.
399  * G_ASK_PASSWORD_SAVING_SUPPORTED
400  * operation supports saving settings.
401  * G_ASK_PASSWORD_ANONYMOUS_SUPPORTED
402  * operation supports anonymous users.
403  */
404 public enum GAskPasswordFlags
405 {
406 	NEED_PASSWORD = (1 << 0),
407 	NEED_USERNAME = (1 << 1),
408 	NEED_DOMAIN = (1 << 2),
409 	SAVING_SUPPORTED = (1 << 3),
410 	ANONYMOUS_SUPPORTED = (1 << 4)
411 }
412 alias GAskPasswordFlags AskPasswordFlags;
413 
414 /**
415  * GPasswordSave is used to indicate the lifespan of a saved password.
416  * Gvfs stores passwords in the Gnome keyring when this flag allows it
417  * to, and later retrieves it again from there.
418  * G_PASSWORD_SAVE_NEVER
419  * never save a password.
420  * G_PASSWORD_SAVE_FOR_SESSION
421  * save a password for the session.
422  * G_PASSWORD_SAVE_PERMANENTLY
423  * save a password permanently.
424  */
425 public enum GPasswordSave
426 {
427 	NEVER,
428 	FOR_SESSION,
429 	PERMANENTLY
430 }
431 alias GPasswordSave PasswordSave;
432 
433 /**
434  * GMountOperationResult is returned as a result when a request for
435  * information is send by the mounting operation.
436  * G_MOUNT_OPERATION_HANDLED
437  * The request was fulfilled and the
438  *  user specified data is now available
439  * G_MOUNT_OPERATION_ABORTED
440  * The user requested the mount operation
441  *  to be aborted
442  * G_MOUNT_OPERATION_UNHANDLED
443  * The request was unhandled (i.e. not
444  *  implemented)
445  */
446 public enum GMountOperationResult
447 {
448 	HANDLED,
449 	ABORTED,
450 	UNHANDLED
451 }
452 alias GMountOperationResult MountOperationResult;
453 
454 /**
455  * Specifies what type of event a monitor event is.
456  * G_FILE_MONITOR_EVENT_CHANGED
457  * a file changed.
458  * G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT
459  * a hint that this was probably the last change in a set of changes.
460  * G_FILE_MONITOR_EVENT_DELETED
461  * a file was deleted.
462  * G_FILE_MONITOR_EVENT_CREATED
463  * a file was created.
464  * G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED
465  * a file attribute was changed.
466  * G_FILE_MONITOR_EVENT_PRE_UNMOUNT
467  * the file location will soon be unmounted.
468  * G_FILE_MONITOR_EVENT_UNMOUNTED
469  * the file location was unmounted.
470  * G_FILE_MONITOR_EVENT_MOVED
471  * the file was moved.
472  */
473 public enum GFileMonitorEvent
474 {
475 	CHANGED,
476 	CHANGES_DONE_HINT,
477 	DELETED,
478 	CREATED,
479 	ATTRIBUTE_CHANGED,
480 	PRE_UNMOUNT,
481 	UNMOUNTED,
482 	MOVED
483 }
484 alias GFileMonitorEvent FileMonitorEvent;
485 
486 /**
487  * Results returned from g_converter_convert().
488  * G_CONVERTER_ERROR
489  * There was an error during conversion.
490  * G_CONVERTER_CONVERTED
491  * Some data was consumed or produced
492  * G_CONVERTER_FINISHED
493  * The conversion is finished
494  * G_CONVERTER_FLUSHED
495  * Flushing is finished
496  * Since 2.24
497  */
498 public enum GConverterResult
499 {
500 	ERROR = 0, /+*< nick=error >+/
501 	CONVERTED = 1, /+*< nick=converted >+/
502 	FINISHED = 2, /+*< nick=finished >+/
503 	FLUSHED = 3 /+*< nick=flushed >+/
504 }
505 alias GConverterResult ConverterResult;
506 
507 /**
508  * Flags used when calling a g_converter_convert().
509  * G_CONVERTER_NO_FLAGS
510  * No flags.
511  * G_CONVERTER_INPUT_AT_END
512  * At end of input data
513  * G_CONVERTER_FLUSH
514  * Flush data
515  * Since 2.24
516  */
517 public enum GConverterFlags
518 {
519 	NO_FLAGS = 0, /+*< nick=none >+/
520 	INPUT_AT_END = (1 << 0), /+*< nick=input-at-end >+/
521 	FLUSH = (1 << 1) /+*< nick=flush >+/
522 }
523 alias GConverterFlags ConverterFlags;
524 
525 /**
526  * Used to select the type of data format to use for GZlibDecompressor
527  * and GZlibCompressor.
528  * G_ZLIB_COMPRESSOR_FORMAT_ZLIB
529  * deflate compression with zlib header
530  * G_ZLIB_COMPRESSOR_FORMAT_GZIP
531  * gzip file format
532  * G_ZLIB_COMPRESSOR_FORMAT_RAW
533  * deflate compression with no header
534  * Since 2.24
535  */
536 public enum GZlibCompressorFormat
537 {
538 	ZLIB,
539 	GZIP,
540 	RAW
541 }
542 alias GZlibCompressorFormat ZlibCompressorFormat;
543 
544 /**
545  * GOutputStreamSpliceFlags determine how streams should be spliced.
546  * G_OUTPUT_STREAM_SPLICE_NONE
547  * Do not close either stream.
548  * G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE
549  * Close the source stream after
550  *  the splice.
551  * G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET
552  * Close the target stream after
553  *  the splice.
554  */
555 public enum GOutputStreamSpliceFlags
556 {
557 	NONE = 0,
558 	CLOSE_SOURCE = (1 << 0),
559 	CLOSE_TARGET = (1 << 1)
560 }
561 alias GOutputStreamSpliceFlags OutputStreamSpliceFlags;
562 
563 /**
564  * GIOStreamSpliceFlags determine how streams should be spliced.
565  * G_IO_STREAM_SPLICE_NONE
566  * Do not close either stream.
567  * G_IO_STREAM_SPLICE_CLOSE_STREAM1
568  * Close the first stream after
569  *  the splice.
570  * G_IO_STREAM_SPLICE_CLOSE_STREAM2
571  * Close the second stream after
572  *  the splice.
573  * G_IO_STREAM_SPLICE_WAIT_FOR_BOTH
574  * Wait for both splice operations to finish
575  *  before calling the callback.
576  * Since 2.28
577  */
578 public enum GIOStreamSpliceFlags
579 {
580 	NONE = 0,
581 	CLOSE_STREAM1 = (1 << 0),
582 	CLOSE_STREAM2 = (1 << 1),
583 	WAIT_FOR_BOTH = (1 << 2)
584 }
585 alias GIOStreamSpliceFlags IOStreamSpliceFlags;
586 
587 /**
588  * GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
589  * across various machine architectures.
590  * G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN
591  * Selects Big Endian byte order.
592  * G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN
593  * Selects Little Endian byte order.
594  * G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN
595  * Selects endianness based on host machine's architecture.
596  */
597 public enum GDataStreamByteOrder
598 {
599 	BIG_ENDIAN,
600 	LITTLE_ENDIAN,
601 	HOST_ENDIAN
602 }
603 alias GDataStreamByteOrder DataStreamByteOrder;
604 
605 /**
606  * GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
607  * G_DATA_STREAM_NEWLINE_TYPE_LF
608  * Selects "LF" line endings, common on most modern UNIX platforms.
609  * G_DATA_STREAM_NEWLINE_TYPE_CR
610  * Selects "CR" line endings.
611  * G_DATA_STREAM_NEWLINE_TYPE_CR_LF
612  * Selects "CR, LF" line ending, common on Microsoft Windows.
613  * G_DATA_STREAM_NEWLINE_TYPE_ANY
614  * Automatically try to handle any line ending type.
615  */
616 public enum GDataStreamNewlineType
617 {
618 	TYPE_LF,
619 	TYPE_CR,
620 	TYPE_CR_LF,
621 	TYPE_ANY
622 }
623 alias GDataStreamNewlineType DataStreamNewlineType;
624 
625 /**
626  * Flags used when creating a GAppInfo.
627  * G_APP_INFO_CREATE_NONE
628  * No flags.
629  * G_APP_INFO_CREATE_NEEDS_TERMINAL
630  * Application opens in a terminal window.
631  * G_APP_INFO_CREATE_SUPPORTS_URIS
632  * Application supports URI arguments.
633  * G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION
634  * Application supports startup notification. Since 2.26
635  */
636 public enum GAppInfoCreateFlags
637 {
638 	NONE = 0, /+*< nick=none >+/
639 	NEEDS_TERMINAL = (1 << 0), /+*< nick=needs-terminal >+/
640 	SUPPORTS_URIS = (1 << 1), /+*< nick=supports-uris >+/
641 	SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /+*< nick=supports-startup-notification >+/
642 }
643 alias GAppInfoCreateFlags AppInfoCreateFlags;
644 
645 /**
646  * Flags used when mounting a mount.
647  * G_MOUNT_MOUNT_NONE
648  * No flags set.
649  */
650 public enum GMountMountFlags
651 {
652 	NONE = 0
653 }
654 alias GMountMountFlags MountMountFlags;
655 
656 /**
657  * Flags used when an unmounting a mount.
658  * G_MOUNT_UNMOUNT_NONE
659  * No flags set.
660  * G_MOUNT_UNMOUNT_FORCE
661  * Unmount even if there are outstanding
662  *  file operations on the mount.
663  */
664 public enum GMountUnmountFlags
665 {
666 	NONE = 0,
667 	FORCE = (1 << 0)
668 }
669 alias GMountUnmountFlags MountUnmountFlags;
670 
671 /**
672  * Flags used when starting a drive.
673  * G_DRIVE_START_NONE
674  * No flags set.
675  * Since 2.22
676  */
677 public enum GDriveStartFlags
678 {
679 	NONE = 0
680 }
681 alias GDriveStartFlags DriveStartFlags;
682 
683 /**
684  * Enumeration describing how a drive can be started/stopped.
685  * G_DRIVE_START_STOP_TYPE_UNKNOWN
686  * Unknown or drive doesn't support
687  *  start/stop.
688  * G_DRIVE_START_STOP_TYPE_SHUTDOWN
689  * The stop method will physically
690  *  shut down the drive and e.g. power down the port the drive is
691  *  attached to.
692  * G_DRIVE_START_STOP_TYPE_NETWORK
693  * The start/stop methods are used
694  *  for connecting/disconnect to the drive over the network.
695  * G_DRIVE_START_STOP_TYPE_MULTIDISK
696  * The start/stop methods will
697  *  assemble/disassemble a virtual drive from several physical
698  *  drives.
699  * G_DRIVE_START_STOP_TYPE_PASSWORD
700  * The start/stop methods will
701  *  unlock/lock the disk (for example using the ATA “SECURITY
702  *  UNLOCK DEVICE” command)
703  * Since 2.22
704  */
705 public enum GDriveStartStopType
706 {
707 	TYPE_UNKNOWN,
708 	TYPE_SHUTDOWN,
709 	TYPE_NETWORK,
710 	TYPE_MULTIDISK,
711 	TYPE_PASSWORD
712 }
713 alias GDriveStartStopType DriveStartStopType;
714 
715 /**
716  * GEmblemOrigin is used to add information about the origin of the emblem
717  * to GEmblem.
718  * G_EMBLEM_ORIGIN_UNKNOWN
719  * Emblem of unknown origin
720  * G_EMBLEM_ORIGIN_DEVICE
721  * Emblem adds device-specific information
722  * G_EMBLEM_ORIGIN_LIVEMETADATA
723  * Emblem depicts live metadata, such as "readonly"
724  * G_EMBLEM_ORIGIN_TAG
725  * Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)
726  * Since 2.18
727  */
728 public enum GEmblemOrigin
729 {
730 	UNKNOWN,
731 	DEVICE,
732 	LIVEMETADATA,
733 	TAG
734 }
735 alias GEmblemOrigin EmblemOrigin;
736 
737 /**
738  * Flags used when creating a GSocket. Some protocols may not implement
739  * all the socket types.
740  * G_SOCKET_TYPE_INVALID
741  * Type unknown or wrong
742  * G_SOCKET_TYPE_STREAM
743  * Reliable connection-based byte streams (e.g. TCP).
744  * G_SOCKET_TYPE_DATAGRAM
745  * Connectionless, unreliable datagram passing.
746  *  (e.g. UDP)
747  * G_SOCKET_TYPE_SEQPACKET
748  * Reliable connection-based passing of datagrams
749  *  of fixed maximum length (e.g. SCTP).
750  * Since 2.22
751  */
752 public enum GSocketType
753 {
754 	TYPE_INVALID,
755 	TYPE_STREAM,
756 	TYPE_DATAGRAM,
757 	TYPE_SEQPACKET
758 }
759 alias GSocketType SocketType;
760 
761 /**
762  * A protocol identifier is specified when creating a GSocket, which is a
763  * family/type specific identifier, where 0 means the default protocol for
764  * the particular family/type.
765  * This enum contains a set of commonly available and used protocols. You
766  * can also pass any other identifiers handled by the platform in order to
767  * use protocols not listed here.
768  * G_SOCKET_PROTOCOL_UNKNOWN
769  * The protocol type is unknown
770  * G_SOCKET_PROTOCOL_DEFAULT
771  * The default protocol for the family/type
772  * G_SOCKET_PROTOCOL_TCP
773  * TCP over IP
774  * G_SOCKET_PROTOCOL_UDP
775  * UDP over IP
776  * G_SOCKET_PROTOCOL_SCTP
777  * SCTP over IP
778  * Since 2.22
779  */
780 public enum GSocketProtocol
781 {
782 	UNKNOWN = -1,
783 	DEFAULT = 0,
784 	TCP = 6,
785 	UDP = 17,
786 	SCTP = 132
787 }
788 alias GSocketProtocol SocketProtocol;
789 
790 /**
791  * Flags used in g_socket_receive_message() and g_socket_send_message().
792  * The flags listed in the enum are some commonly available flags, but the
793  * values used for them are the same as on the platform, and any other flags
794  * are passed in/out as is. So to use a platform specific flag, just include
795  * the right system header and pass in the flag.
796  * G_SOCKET_MSG_NONE
797  * No flags.
798  * G_SOCKET_MSG_OOB
799  * Request to send/receive out of band data.
800  * G_SOCKET_MSG_PEEK
801  * Read data from the socket without removing it from
802  *  the queue.
803  * G_SOCKET_MSG_DONTROUTE
804  * Don't use a gateway to send out the packet,
805  *  only send to hosts on directly connected networks.
806  * Since 2.22
807  */
808 public enum GSocketMsgFlags
809 {
810 	NONE,
811 	OOB = 1,
812 	PEEK = 2,
813 	DONTROUTE = 4
814 }
815 alias GSocketMsgFlags SocketMsgFlags;
816 
817 /**
818  * The protocol family of a GSocketAddress. (These values are
819  * identical to the system defines AF_INET, AF_INET6 and AF_UNIX,
820  * if available.)
821  * G_SOCKET_FAMILY_INVALID
822  * no address family
823  * G_SOCKET_FAMILY_UNIX
824  * the UNIX domain family
825  * G_SOCKET_FAMILY_IPV4
826  * the IPv4 family
827  * G_SOCKET_FAMILY_IPV6
828  * the IPv6 family
829  * Since 2.22
830  */
831 public enum GSocketFamily
832 {
833 	INVALID,
834 	UNIX = 1,
835 	IPV4 = 2,
836 	IPV6 = 23
837 }
838 alias GSocketFamily SocketFamily;
839 
840 /**
841  * The type of name used by a GUnixSocketAddress.
842  * G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
843  * socket bound to a filesystem path. G_UNIX_SOCKET_ADDRESS_ANONYMOUS
844  * indicates a socket not bound to any name (eg, a client-side socket,
845  * or a socket created with socketpair()).
846  * For abstract sockets, there are two incompatible ways of naming
847  * them; the man pages suggest using the entire struct
848  * sockaddr_un as the name, padding the unused parts of the
849  * sun_path field with zeroes; this corresponds to
850  * G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs
851  * instead just use a portion of sun_path, and pass an appropriate
852  * smaller length to bind() or connect(). This is
853  * G_UNIX_SOCKET_ADDRESS_ABSTRACT.
854  * G_UNIX_SOCKET_ADDRESS_INVALID
855  * invalid
856  * G_UNIX_SOCKET_ADDRESS_ANONYMOUS
857  * anonymous
858  * G_UNIX_SOCKET_ADDRESS_PATH
859  * a filesystem path
860  * G_UNIX_SOCKET_ADDRESS_ABSTRACT
861  * an abstract name
862  * G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
863  * an abstract name, 0-padded
864  *  to the full length of a unix socket name
865  * Since 2.26
866  */
867 public enum GUnixSocketAddressType
868 {
869 	INVALID,
870 	ANONYMOUS,
871 	PATH,
872 	ABSTRACT,
873 	ABSTRACT_PADDED
874 }
875 alias GUnixSocketAddressType UnixSocketAddressType;
876 
877 /**
878  * Enumeration describing different kinds of native credential types.
879  * G_CREDENTIALS_TYPE_INVALID
880  * Indicates an invalid native credential type.
881  * G_CREDENTIALS_TYPE_LINUX_UCRED
882  * The native credentials type is a struct ucred.
883  * G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED
884  * The native credentials type is a struct cmsgcred.
885  * Since 2.26
886  */
887 public enum GCredentialsType
888 {
889 	TYPE_INVALID,
890 	TYPE_LINUX_UCRED,
891 	TYPE_FREEBSD_CMSGCRED
892 }
893 alias GCredentialsType CredentialsType;
894 
895 /**
896  * An error code used with G_TLS_ERROR in a GError returned from a
897  * TLS-related routine.
898  * G_TLS_ERROR_UNAVAILABLE
899  * No TLS provider is available
900  * G_TLS_ERROR_MISC
901  * Miscellaneous TLS error
902  * G_TLS_ERROR_BAD_CERTIFICATE
903  * A certificate could not be parsed
904  * G_TLS_ERROR_NOT_TLS
905  * The TLS handshake failed because the
906  *  peer does not seem to be a TLS server.
907  * G_TLS_ERROR_HANDSHAKE
908  * The TLS handshake failed because the
909  *  peer's certificate was not acceptable.
910  * G_TLS_ERROR_CERTIFICATE_REQUIRED
911  * The TLS handshake failed because
912  *  the server requested a client-side certificate, but none was
913  *  provided. See g_tls_connection_set_certificate().
914  * G_TLS_ERROR_EOF
915  * The TLS connection was closed without proper
916  *  notice, which may indicate an attack. See
917  *  g_tls_connection_set_require_close_notify().
918  * Since 2.28
919  */
920 public enum GTlsError
921 {
922 	UNAVAILABLE,
923 	MISC,
924 	BAD_CERTIFICATE,
925 	NOT_TLS,
926 	HANDSHAKE,
927 	CERTIFICATE_REQUIRED,
928 	EOF
929 }
930 alias GTlsError TlsError;
931 
932 /**
933  * The client authentication mode for a GTlsServerConnection.
934  * G_TLS_AUTHENTICATION_NONE
935  * client authentication not required
936  * G_TLS_AUTHENTICATION_REQUESTED
937  * client authentication is requested
938  * G_TLS_AUTHENTICATION_REQUIRED
939  * client authentication is required
940  * Since 2.28
941  */
942 public enum GTlsAuthenticationMode
943 {
944 	NONE,
945 	REQUESTED,
946 	REQUIRED
947 }
948 alias GTlsAuthenticationMode TlsAuthenticationMode;
949 
950 /**
951  * A set of flags describing TLS certification validation. This can be
952  * used to set which validation steps to perform (eg, with
953  * g_tls_client_connection_set_validation_flags()), or to describe why
954  * a particular certificate was rejected (eg, in
955  * "accept-certificate").
956  * G_TLS_CERTIFICATE_UNKNOWN_CA
957  * The signing certificate authority is
958  *  not known.
959  * G_TLS_CERTIFICATE_BAD_IDENTITY
960  * The certificate does not match the
961  *  expected identity of the site that it was retrieved from.
962  * G_TLS_CERTIFICATE_NOT_ACTIVATED
963  * The certificate's activation time
964  *  is still in the future
965  * G_TLS_CERTIFICATE_EXPIRED
966  * The certificate has expired
967  * G_TLS_CERTIFICATE_REVOKED
968  * The certificate has been revoked
969  *  according to the GTlsContext's certificate revocation list.
970  * G_TLS_CERTIFICATE_INSECURE
971  * The certificate's algorithm is
972  *  considered insecure.
973  * G_TLS_CERTIFICATE_GENERIC_ERROR
974  * Some other error occurred validating
975  *  the certificate
976  * G_TLS_CERTIFICATE_VALIDATE_ALL
977  * the combination of all of the above
978  *  flags
979  * Since 2.28
980  */
981 public enum GTlsCertificateFlags
982 {
983 	UNKNOWN_CA = (1 << 0),
984 	BAD_IDENTITY = (1 << 1),
985 	NOT_ACTIVATED = (1 << 2),
986 	EXPIRED = (1 << 3),
987 	REVOKED = (1 << 4),
988 	INSECURE = (1 << 5),
989 	GENERIC_ERROR = (1 << 6),
990 	VALIDATE_ALL = 0x007f
991 }
992 alias GTlsCertificateFlags TlsCertificateFlags;
993 
994 /**
995  * When to allow rehandshaking. See
996  * g_tls_connection_set_rehandshake_mode().
997  * G_TLS_REHANDSHAKE_NEVER
998  * Never allow rehandshaking
999  * G_TLS_REHANDSHAKE_SAFELY
1000  * Allow safe rehandshaking only
1001  * G_TLS_REHANDSHAKE_UNSAFELY
1002  * Allow unsafe rehandshaking
1003  * Since 2.28
1004  */
1005 public enum GTlsRehandshakeMode
1006 {
1007 	NEVER,
1008 	SAFELY,
1009 	UNSAFELY
1010 }
1011 alias GTlsRehandshakeMode TlsRehandshakeMode;
1012 
1013 /**
1014  * An error code used with G_RESOLVER_ERROR in a GError returned
1015  * from a GResolver routine.
1016  * G_RESOLVER_ERROR_NOT_FOUND
1017  * the requested name/address/service was not
1018  *  found
1019  * G_RESOLVER_ERROR_TEMPORARY_FAILURE
1020  * the requested information could not
1021  *  be looked up due to a network error or similar problem
1022  * G_RESOLVER_ERROR_INTERNAL
1023  * unknown error
1024  * Since 2.22
1025  * Signal Details
1026  * The "reload" signal
1027  * void user_function (GResolver *resolver,
1028  *  gpointer user_data) : Run Last
1029  * Emitted when the resolver notices that the system resolver
1030  * configuration has changed.
1031  * resolver :
1032  * a GResolver
1033  * user_data :
1034  * user data set when the signal handler was connected.
1035  */
1036 public enum GResolverError
1037 {
1038 	NOT_FOUND,
1039 	TEMPORARY_FAILURE,
1040 	INTERNAL
1041 }
1042 alias GResolverError ResolverError;
1043 
1044 /**
1045  * Flags describing the access control of a D-Bus property.
1046  * G_DBUS_PROPERTY_INFO_FLAGS_NONE
1047  * No flags set.
1048  * G_DBUS_PROPERTY_INFO_FLAGS_READABLE
1049  * Property is readable.
1050  * G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE
1051  * Property is writable.
1052  * Since 2.26
1053  */
1054 public enum GDBusPropertyInfoFlags
1055 {
1056 	NONE = 0,
1057 	READABLE = (1<<0),
1058 	WRITABLE = (1<<1)
1059 }
1060 alias GDBusPropertyInfoFlags DBusPropertyInfoFlags;
1061 
1062 /**
1063  * Error codes for the G_DBUS_ERROR error domain.
1064  * G_DBUS_ERROR_FAILED
1065  * A generic error; "something went wrong" - see the error message for
1066  * more.
1067  * G_DBUS_ERROR_NO_MEMORY
1068  * There was not enough memory to complete an operation.
1069  * G_DBUS_ERROR_SERVICE_UNKNOWN
1070  * The bus doesn't know how to launch a service to supply the bus name
1071  * you wanted.
1072  * G_DBUS_ERROR_NAME_HAS_NO_OWNER
1073  * The bus name you referenced doesn't exist (i.e. no application owns
1074  * it).
1075  * G_DBUS_ERROR_NO_REPLY
1076  * No reply to a message expecting one, usually means a timeout occurred.
1077  * G_DBUS_ERROR_IO_ERROR
1078  * Something went wrong reading or writing to a socket, for example.
1079  * G_DBUS_ERROR_BAD_ADDRESS
1080  * A D-Bus bus address was malformed.
1081  * G_DBUS_ERROR_NOT_SUPPORTED
1082  * Requested operation isn't supported (like ENOSYS on UNIX).
1083  * G_DBUS_ERROR_LIMITS_EXCEEDED
1084  * Some limited resource is exhausted.
1085  * G_DBUS_ERROR_ACCESS_DENIED
1086  * Security restrictions don't allow doing what you're trying to do.
1087  * G_DBUS_ERROR_AUTH_FAILED
1088  * Authentication didn't work.
1089  * G_DBUS_ERROR_NO_SERVER
1090  * Unable to connect to server (probably caused by ECONNREFUSED on a
1091  * socket).
1092  * G_DBUS_ERROR_TIMEOUT
1093  * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that
1094  * G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:
1095  * this is confusingly-named given that G_DBUS_ERROR_TIMED_OUT also
1096  * exists. We can't fix it for compatibility reasons so just be
1097  * careful.
1098  * G_DBUS_ERROR_NO_NETWORK
1099  * No network access (probably ENETUNREACH on a socket).
1100  * G_DBUS_ERROR_ADDRESS_IN_USE
1101  * Can't bind a socket since its address is in use (i.e. EADDRINUSE).
1102  * G_DBUS_ERROR_DISCONNECTED
1103  * The connection is disconnected and you're trying to use it.
1104  * G_DBUS_ERROR_INVALID_ARGS
1105  * Invalid arguments passed to a method call.
1106  * G_DBUS_ERROR_FILE_NOT_FOUND
1107  * Missing file.
1108  * G_DBUS_ERROR_FILE_EXISTS
1109  * Existing file and the operation you're using does not silently overwrite.
1110  * G_DBUS_ERROR_UNKNOWN_METHOD
1111  * Method name you invoked isn't known by the object you invoked it on.
1112  * G_DBUS_ERROR_TIMED_OUT
1113  * Certain timeout errors, e.g. while starting a service. Warning: this is
1114  * confusingly-named given that G_DBUS_ERROR_TIMEOUT also exists. We
1115  * can't fix it for compatibility reasons so just be careful.
1116  * G_DBUS_ERROR_MATCH_RULE_NOT_FOUND
1117  * Tried to remove or modify a match rule that didn't exist.
1118  * G_DBUS_ERROR_MATCH_RULE_INVALID
1119  * The match rule isn't syntactically valid.
1120  * G_DBUS_ERROR_SPAWN_EXEC_FAILED
1121  * While starting a new process, the exec() call failed.
1122  * G_DBUS_ERROR_SPAWN_FORK_FAILED
1123  * While starting a new process, the fork() call failed.
1124  * G_DBUS_ERROR_SPAWN_CHILD_EXITED
1125  * While starting a new process, the child exited with a status code.
1126  * G_DBUS_ERROR_SPAWN_CHILD_SIGNALED
1127  * While starting a new process, the child exited on a signal.
1128  * G_DBUS_ERROR_SPAWN_FAILED
1129  * While starting a new process, something went wrong.
1130  * G_DBUS_ERROR_SPAWN_SETUP_FAILED
1131  * We failed to setup the environment correctly.
1132  * G_DBUS_ERROR_SPAWN_CONFIG_INVALID
1133  * We failed to setup the config parser correctly.
1134  * G_DBUS_ERROR_SPAWN_SERVICE_INVALID
1135  * Bus name was not valid.
1136  * G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND
1137  * Service file not found in system-services directory.
1138  * G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID
1139  * Permissions are incorrect on the setuid helper.
1140  * G_DBUS_ERROR_SPAWN_FILE_INVALID
1141  * Service file invalid (Name, User or Exec missing).
1142  * G_DBUS_ERROR_SPAWN_NO_MEMORY
1143  * Tried to get a UNIX process ID and it wasn't available.
1144  * G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
1145  * Tried to get a UNIX process ID and it wasn't available.
1146  * G_DBUS_ERROR_INVALID_SIGNATURE
1147  * A type signature is not valid.
1148  * G_DBUS_ERROR_INVALID_FILE_CONTENT
1149  * A file contains invalid syntax or is otherwise broken.
1150  * G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN
1151  * Asked for SELinux security context and it wasn't available.
1152  * G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN
1153  * Asked for ADT audit data and it wasn't available.
1154  * G_DBUS_ERROR_OBJECT_PATH_IN_USE
1155  * There's already an object with the requested object path.
1156  * Since 2.26
1157  */
1158 public enum GDBusError
1159 {
1160 	/+* Well-known errors inn the org.freedesktop.DBus.Error namespace +/
1161 	FAILED, /+* org.freedesktop.DBus.Error.Failed +/
1162 	NO_MEMORY, /+* org.freedesktop.DBus.Error.NoMemory +/
1163 	SERVICE_UNKNOWN, /+* org.freedesktop.DBus.Error.ServiceUnknown +/
1164 	NAME_HAS_NO_OWNER, /+* org.freedesktop.DBus.Error.NameHasNoOwner +/
1165 	NO_REPLY, /+* org.freedesktop.DBus.Error.NoReply +/
1166 	IO_ERROR, /+* org.freedesktop.DBus.Error.IOError +/
1167 	BAD_ADDRESS, /+* org.freedesktop.DBus.Error.BadAddress +/
1168 	NOT_SUPPORTED, /+* org.freedesktop.DBus.Error.NotSupported +/
1169 	LIMITS_EXCEEDED, /+* org.freedesktop.DBus.Error.LimitsExceeded +/
1170 	ACCESS_DENIED, /+* org.freedesktop.DBus.Error.AccessDenied +/
1171 	AUTH_FAILED, /+* org.freedesktop.DBus.Error.AuthFailed +/
1172 	NO_SERVER, /+* org.freedesktop.DBus.Error.NoServer +/
1173 	TIMEOUT, /+* org.freedesktop.DBus.Error.Timeout +/
1174 	NO_NETWORK, /+* org.freedesktop.DBus.Error.NoNetwork +/
1175 	ADDRESS_IN_USE, /+* org.freedesktop.DBus.Error.AddressInUse +/
1176 	DISCONNECTED, /+* org.freedesktop.DBus.Error.Disconnected +/
1177 	INVALID_ARGS, /+* org.freedesktop.DBus.Error.InvalidArgs +/
1178 	FILE_NOT_FOUND, /+* org.freedesktop.DBus.Error.FileNotFound +/
1179 	FILE_EXISTS, /+* org.freedesktop.DBus.Error.FileExists +/
1180 	UNKNOWN_METHOD, /+* org.freedesktop.DBus.Error.UnknownMethod +/
1181 	TIMED_OUT, /+* org.freedesktop.DBus.Error.TimedOut +/
1182 	MATCH_RULE_NOT_FOUND, /+* org.freedesktop.DBus.Error.MatchRuleNotFound +/
1183 	MATCH_RULE_INVALID, /+* org.freedesktop.DBus.Error.MatchRuleInvalid +/
1184 	SPAWN_EXEC_FAILED, /+* org.freedesktop.DBus.Error.Spawn.ExecFailed +/
1185 	SPAWN_FORK_FAILED, /+* org.freedesktop.DBus.Error.Spawn.ForkFailed +/
1186 	SPAWN_CHILD_EXITED, /+* org.freedesktop.DBus.Error.Spawn.ChildExited +/
1187 	SPAWN_CHILD_SIGNALED, /+* org.freedesktop.DBus.Error.Spawn.ChildSignaled +/
1188 	SPAWN_FAILED, /+* org.freedesktop.DBus.Error.Spawn.Failed +/
1189 	SPAWN_SETUP_FAILED, /+* org.freedesktop.DBus.Error.Spawn.FailedToSetup +/
1190 	SPAWN_CONFIG_INVALID, /+* org.freedesktop.DBus.Error.Spawn.ConfigInvalid +/
1191 	SPAWN_SERVICE_INVALID, /+* org.freedesktop.DBus.Error.Spawn.ServiceNotValid +/
1192 	SPAWN_SERVICE_NOT_FOUND, /+* org.freedesktop.DBus.Error.Spawn.ServiceNotFound +/
1193 	SPAWN_PERMISSIONS_INVALID, /+* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid +/
1194 	SPAWN_FILE_INVALID, /+* org.freedesktop.DBus.Error.Spawn.FileInvalid +/
1195 	SPAWN_NO_MEMORY, /+* org.freedesktop.DBus.Error.Spawn.NoMemory +/
1196 	UNIX_PROCESS_ID_UNKNOWN, /+* org.freedesktop.DBus.Error.UnixProcessIdUnknown +/
1197 	INVALID_SIGNATURE, /+* org.freedesktop.DBus.Error.InvalidSignature +/
1198 	INVALID_FILE_CONTENT, /+* org.freedesktop.DBus.Error.InvalidFileContent +/
1199 	SELINUX_SECURITY_CONTEXT_UNKNOWN, /+* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown +/
1200 	ADT_AUDIT_DATA_UNKNOWN, /+* org.freedesktop.DBus.Error.AdtAuditDataUnknown +/
1201 	OBJECT_PATH_IN_USE /+* org.freedesktop.DBus.Error.ObjectPathInUse +/
1202 }
1203 alias GDBusError DBusError;
1204 
1205 /**
1206  * Message types used in GDBusMessage.
1207  * G_DBUS_MESSAGE_TYPE_INVALID
1208  * Message is of invalid type.
1209  * G_DBUS_MESSAGE_TYPE_METHOD_CALL
1210  * Method call.
1211  * G_DBUS_MESSAGE_TYPE_METHOD_RETURN
1212  * Method reply.
1213  * G_DBUS_MESSAGE_TYPE_ERROR
1214  * Error reply.
1215  * G_DBUS_MESSAGE_TYPE_SIGNAL
1216  * Signal emission.
1217  * Since 2.26
1218  */
1219 public enum GDBusMessageType
1220 {
1221 	TYPE_INVALID,
1222 	TYPE_METHOD_CALL,
1223 	TYPE_METHOD_RETURN,
1224 	TYPE_ERROR,
1225 	TYPE_SIGNAL
1226 }
1227 alias GDBusMessageType DBusMessageType;
1228 
1229 /**
1230  * Message flags used in GDBusMessage.
1231  * G_DBUS_MESSAGE_FLAGS_NONE
1232  * No flags set.
1233  * G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED
1234  * A reply is not expected.
1235  * G_DBUS_MESSAGE_FLAGS_NO_AUTO_START
1236  * The bus must not launch an
1237  * owner for the destination name in response to this message.
1238  * Since 2.26
1239  */
1240 public enum GDBusMessageFlags
1241 {
1242 	NONE = 0,
1243 	NO_REPLY_EXPECTED = (1<<0),
1244 	NO_AUTO_START = (1<<1)
1245 }
1246 alias GDBusMessageFlags DBusMessageFlags;
1247 
1248 /**
1249  * Header fields used in GDBusMessage.
1250  * G_DBUS_MESSAGE_HEADER_FIELD_INVALID
1251  * Not a valid header field.
1252  * G_DBUS_MESSAGE_HEADER_FIELD_PATH
1253  * The object path.
1254  * G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE
1255  * The interface name.
1256  * G_DBUS_MESSAGE_HEADER_FIELD_MEMBER
1257  * The method or signal name.
1258  * G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME
1259  * The name of the error that occurred.
1260  * G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL
1261  * The serial number the message is a reply to.
1262  * G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION
1263  * The name the message is intended for.
1264  * G_DBUS_MESSAGE_HEADER_FIELD_SENDER
1265  * Unique name of the sender of the message (filled in by the bus).
1266  * G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE
1267  * The signature of the message body.
1268  * G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS
1269  * The number of UNIX file descriptors that accompany the message.
1270  * Since 2.26
1271  */
1272 public enum GDBusMessageHeaderField
1273 {
1274 	INVALID,
1275 	PATH,
1276 	INTERFACE,
1277 	MEMBER,
1278 	ERROR_NAME,
1279 	REPLY_SERIAL,
1280 	DESTINATION,
1281 	SENDER,
1282 	SIGNATURE,
1283 	NUM_UNIX_FDS
1284 }
1285 alias GDBusMessageHeaderField DBusMessageHeaderField;
1286 
1287 /**
1288  * Enumeration used to describe the byte order of a D-Bus message.
1289  * G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN
1290  * The byte order is big endian.
1291  * G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN
1292  * The byte order is little endian.
1293  * Since 2.26
1294  */
1295 public enum GDBusMessageByteOrder
1296 {
1297 	BIG_ENDIAN = 'B',
1298 	LITTLE_ENDIAN = 'l'
1299 }
1300 alias GDBusMessageByteOrder DBusMessageByteOrder;
1301 
1302 /**
1303  * An enumeration for well-known message buses.
1304  * G_BUS_TYPE_STARTER
1305  * An alias for the message bus that activated the process, if any.
1306  * G_BUS_TYPE_NONE
1307  * Not a message bus.
1308  * G_BUS_TYPE_SYSTEM
1309  * The system-wide message bus.
1310  * G_BUS_TYPE_SESSION
1311  * The login session message bus.
1312  * Since 2.26
1313  */
1314 public enum GBusType
1315 {
1316 	TYPE_STARTER = -1,
1317 	TYPE_NONE = 0,
1318 	TYPE_SYSTEM = 1,
1319 	TYPE_SESSION = 2
1320 }
1321 alias GBusType BusType;
1322 
1323 /**
1324  * Flags used when creating a new GDBusConnection.
1325  * G_DBUS_CONNECTION_FLAGS_NONE
1326  * No flags set.
1327  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT
1328  * Perform authentication against server.
1329  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER
1330  * Perform authentication against client.
1331  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS
1332  * When
1333  * authenticating as a server, allow the anonymous authentication
1334  * method.
1335  * G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION
1336  * Pass this flag if connecting to a peer that is a
1337  * message bus. This means that the Hello() method will be invoked as part of the connection setup.
1338  * G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING
1339  * If set, processing of D-Bus messages is
1340  * delayed until g_dbus_connection_start_message_processing() is called.
1341  * Since 2.26
1342  */
1343 public enum GDBusConnectionFlags
1344 {
1345 	NONE = 0,
1346 	AUTHENTICATION_CLIENT = (1<<0),
1347 	AUTHENTICATION_SERVER = (1<<1),
1348 	AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2),
1349 	MESSAGE_BUS_CONNECTION = (1<<3),
1350 	DELAY_MESSAGE_PROCESSING = (1<<4)
1351 }
1352 alias GDBusConnectionFlags DBusConnectionFlags;
1353 
1354 /**
1355  * Capabilities negotiated with the remote peer.
1356  * G_DBUS_CAPABILITY_FLAGS_NONE
1357  * No flags set.
1358  * G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING
1359  * The connection
1360  * supports exchanging UNIX file descriptors with the remote peer.
1361  * Since 2.26
1362  */
1363 public enum GDBusCapabilityFlags
1364 {
1365 	NONE = 0,
1366 	UNIX_FD_PASSING = (1<<0)
1367 }
1368 alias GDBusCapabilityFlags DBusCapabilityFlags;
1369 
1370 /**
1371  * Flags used in g_dbus_connection_call() and similar APIs.
1372  * G_DBUS_CALL_FLAGS_NONE
1373  * No flags set.
1374  * G_DBUS_CALL_FLAGS_NO_AUTO_START
1375  * The bus must not launch
1376  * an owner for the destination name in response to this method
1377  * invocation.
1378  * Since 2.26
1379  */
1380 public enum GDBusCallFlags
1381 {
1382 	NONE = 0,
1383 	NO_AUTO_START = (1<<0)
1384 }
1385 alias GDBusCallFlags DBusCallFlags;
1386 
1387 /**
1388  * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
1389  * G_DBUS_SIGNAL_FLAGS_NONE
1390  * No flags set.
1391  * G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
1392  * Don't actually send the AddMatch
1393  * D-Bus call for this signal subscription. This gives you more control
1394  * over which match rules you add (but you must add them manually).
1395  * Since 2.26
1396  */
1397 public enum GDBusSignalFlags
1398 {
1399 	NONE = 0,
1400 	NO_MATCH_RULE = (1<<0)
1401 }
1402 alias GDBusSignalFlags DBusSignalFlags;
1403 
1404 /**
1405  * Flags used when sending GDBusMessages on a GDBusConnection.
1406  * G_DBUS_SEND_MESSAGE_FLAGS_NONE
1407  * No flags set.
1408  * G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL
1409  * Do not automatically
1410  * assign a serial number from the GDBusConnection object when
1411  * sending a message.
1412  * Since 2.26
1413  */
1414 public enum GDBusSendMessageFlags
1415 {
1416 	NONE = 0,
1417 	PRESERVE_SERIAL = (1<<0)
1418 }
1419 alias GDBusSendMessageFlags DBusSendMessageFlags;
1420 
1421 /**
1422  * Flags passed to g_dbus_connection_register_subtree().
1423  * G_DBUS_SUBTREE_FLAGS_NONE
1424  * No flags set.
1425  * G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES
1426  * Method calls to objects not in the enumerated range
1427  *  will still be dispatched. This is useful if you want
1428  *  to dynamically spawn objects in the subtree.
1429  * Since 2.26
1430  */
1431 public enum GDBusSubtreeFlags
1432 {
1433 	NONE = 0,
1434 	DISPATCH_TO_UNENUMERATED_NODES = (1<<0)
1435 }
1436 alias GDBusSubtreeFlags DBusSubtreeFlags;
1437 
1438 /**
1439  * Flags used when creating a GDBusServer.
1440  * G_DBUS_SERVER_FLAGS_NONE
1441  * No flags set.
1442  * G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
1443  * All "new-connection"
1444  * signals will run in separated dedicated threads (see signal for
1445  * details).
1446  * G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS
1447  * Allow the anonymous
1448  * authentication method.
1449  * Since 2.26
1450  */
1451 public enum GDBusServerFlags
1452 {
1453 	NONE = 0,
1454 	RUN_IN_THREAD = (1<<0),
1455 	AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1)
1456 }
1457 alias GDBusServerFlags DBusServerFlags;
1458 
1459 /**
1460  * Flags used in g_bus_own_name().
1461  * G_BUS_NAME_OWNER_FLAGS_NONE
1462  * No flags set.
1463  * G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT
1464  * Allow another message bus connection to claim the the name.
1465  * G_BUS_NAME_OWNER_FLAGS_REPLACE
1466  * If another message bus connection owns the name and have
1467  * specified G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
1468  * Since 2.26
1469  */
1470 public enum GBusNameOwnerFlags
1471 {
1472 	NONE = 0, /+*< nick=none >+/
1473 	ALLOW_REPLACEMENT = (1 << 0), /+*< nick=allow-replacement >+/
1474 	REPLACE = (1 << 1) /+*< nick=replace >+/
1475 }
1476 alias GBusNameOwnerFlags BusNameOwnerFlags;
1477 
1478 /**
1479  * Flags used in g_bus_watch_name().
1480  * G_BUS_NAME_WATCHER_FLAGS_NONE
1481  * No flags set.
1482  * G_BUS_NAME_WATCHER_FLAGS_AUTO_START
1483  * If no-one owns the name when
1484  * beginning to watch the name, ask the bus to launch an owner for the
1485  * name.
1486  * Since 2.26
1487  */
1488 public enum GBusNameWatcherFlags
1489 {
1490 	NONE = 0,
1491 	AUTO_START = (1<<0)
1492 }
1493 alias GBusNameWatcherFlags BusNameWatcherFlags;
1494 
1495 /**
1496  * Flags used when constructing an instance of a GDBusProxy derived class.
1497  * G_DBUS_PROXY_FLAGS_NONE
1498  * No flags set.
1499  * G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES
1500  * Don't load properties.
1501  * G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS
1502  * Don't connect to signals on the remote object.
1503  * G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START
1504  * If not set and the proxy if for a well-known name,
1505  * then request the bus to launch an owner for the name if no-one owns the name. This flag can
1506  * only be used in proxies for well-known names.
1507  * Since 2.26
1508  */
1509 public enum GDBusProxyFlags
1510 {
1511 	NONE = 0,
1512 	DO_NOT_LOAD_PROPERTIES = (1<<0),
1513 	DO_NOT_CONNECT_SIGNALS = (1<<1),
1514 	DO_NOT_AUTO_START = (1<<2)
1515 }
1516 alias GDBusProxyFlags DBusProxyFlags;
1517 
1518 /**
1519  * Flags used when creating a binding. These flags determine in which
1520  * direction the binding works. The default is to synchronize in both
1521  * directions.
1522  * G_SETTINGS_BIND_DEFAULT
1523  * Equivalent to G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET
1524  * G_SETTINGS_BIND_GET
1525  * Update the GObject property when the setting changes.
1526  *  It is an error to use this flag if the property is not writable.
1527  * G_SETTINGS_BIND_SET
1528  * Update the setting when the GObject property changes.
1529  *  It is an error to use this flag if the property is not readable.
1530  * G_SETTINGS_BIND_NO_SENSITIVITY
1531  * Do not try to bind a "sensitivity" property to the writability of the setting
1532  * G_SETTINGS_BIND_GET_NO_CHANGES
1533  * When set in addition to G_SETTINGS_BIND_GET, set the GObject property
1534  *  value initially from the setting, but do not listen for changes of the setting
1535  * G_SETTINGS_BIND_INVERT_BOOLEAN
1536  * When passed to g_settings_bind(), uses a pair of mapping functions that invert
1537  *  the boolean value when mapping between the setting and the property. The setting and property must both
1538  *  be booleans. You can not pass this flag to g_settings_bind_with_mapping().
1539  */
1540 public enum GSettingsBindFlags
1541 {
1542 	DEFAULT,
1543 	GET = (1<<0),
1544 	SET = (1<<1),
1545 	NO_SENSITIVITY = (1<<2),
1546 	GET_NO_CHANGES = (1<<3),
1547 	INVERT_BOOLEAN = (1<<4)
1548 }
1549 alias GSettingsBindFlags SettingsBindFlags;
1550 
1551 /**
1552  * Flags used to define the behaviour of a GApplication.
1553  * G_APPLICATION_FLAGS_NONE
1554  * Default
1555  * G_APPLICATION_IS_SERVICE
1556  * Run as a service. In this mode, registration
1557  *  fails if the service is already running, and the application will
1558  *  stay around for a while when the use count falls to zero.
1559  * G_APPLICATION_IS_LAUNCHER
1560  * Don't try to become the primary instance.
1561  * G_APPLICATION_HANDLES_OPEN
1562  * This application handles opening files (in
1563  *  the primary instance). Note that this flag only affects the default
1564  *  implementation of local_command_line(), and has no effect if
1565  *  G_APPLICATION_HANDLES_COMMAND_LINE is given.
1566  *  See g_application_run() for details.
1567  * G_APPLICATION_HANDLES_COMMAND_LINE
1568  * This application handles command line
1569  *  arguments (in the primary instance). Note that this flag only affect
1570  *  the default implementation of local_command_line().
1571  *  See g_application_run() for details.
1572  * G_APPLICATION_SEND_ENVIRONMENT
1573  * Send the environment of the
1574  *  launching process to the primary instance. Set this flag if your
1575  *  application is expected to behave differently depending on certain
1576  *  environment variables. For instance, an editor might be expected
1577  *  to use the GIT_COMMITTER_NAME environment variable
1578  *  when editing a git commit message. The environment is available
1579  *  to the "command-line" signal handler, via
1580  *  g_application_command_line_getenv().
1581  * Since 2.28
1582  */
1583 public enum GApplicationFlags
1584 {
1585 	NONE,
1586 	G_APPLICATION_IS_SERVICE = (1 << 0),
1587 	G_APPLICATION_IS_LAUNCHER = (1 << 1),
1588 	G_APPLICATION_HANDLES_OPEN = (1 << 2),
1589 	G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
1590 	G_APPLICATION_SEND_ENVIRONMENT = (1 << 4)
1591 }
1592 alias GApplicationFlags ApplicationFlags;
1593 
1594 
1595 /**
1596  * Main Gtk struct.
1597  * A handle to an object implementing the GFileIface interface.
1598  * Generally stores a location within the file system. Handles do not
1599  * necessarily represent files or directories that currently exist.
1600  */
1601 public struct GFile{}
1602 
1603 
1604 /**
1605  * An interface for writing VFS file handles.
1606  * GTypeInterface g_iface;
1607  * The parent interface.
1608  * dup ()
1609  * Duplicates a GFile.
1610  * hash ()
1611  * Creates a hash of a GFile.
1612  * equal ()
1613  * Checks equality of two given GFiles.
1614  * is_native ()
1615  * Checks to see if a file is native to the system.
1616  * has_uri_scheme ()
1617  * Checks to see if a GFile has a given URI scheme.
1618  * get_uri_scheme ()
1619  * Gets the URI scheme for a GFile.
1620  * get_basename ()
1621  * Gets the basename for a given GFile.
1622  * get_path ()
1623  * Gets the current path within a GFile.
1624  * get_uri ()
1625  * Gets a URI for the path within a GFile.
1626  * get_parse_name ()
1627  * Gets the parsed name for the GFile.
1628  * get_parent ()
1629  * Gets the parent directory for the GFile.
1630  * prefix_matches ()
1631  * Checks whether a GFile contains a specified file.
1632  * get_relative_path ()
1633  * Gets the path for a GFile relative to a given path.
1634  * resolve_relative_path ()
1635  * Resolves a relative path for a GFile to an absolute path.
1636  * get_child_for_display_name ()
1637  * Gets the child GFile for a given display name.
1638  * enumerate_children ()
1639  * Gets a GFileEnumerator with the children of a GFile.
1640  * enumerate_children_async ()
1641  * Asynchronously gets a GFileEnumerator with the children of a GFile.
1642  * enumerate_children_finish ()
1643  * Finishes asynchronously enumerating the children.
1644  * query_info ()
1645  * Gets the GFileInfo for a GFile.
1646  * query_info_async ()
1647  * Asynchronously gets the GFileInfo for a GFile.
1648  * query_info_finish ()
1649  * Finishes an asynchronous query info operation.
1650  * query_filesystem_info ()
1651  * Gets a GFileInfo for the file system GFile is on.
1652  * query_filesystem_info_async ()
1653  * Asynchronously gets a GFileInfo for the file system GFile is on.
1654  * query_filesystem_info_finish ()
1655  * Finishes asynchronously getting the file system info.
1656  * find_enclosing_mount ()
1657  * Gets a GMount for the GFile.
1658  * find_enclosing_mount_async ()
1659  * Asynchronously gets the GMount for a GFile.
1660  * find_enclosing_mount_finish ()
1661  * Finishes asynchronously getting the volume.
1662  * set_display_name ()
1663  * Sets the display name for a GFile.
1664  * set_display_name_async ()
1665  * Asynchronously sets a GFile's display name.
1666  * set_display_name_finish ()
1667  * Finishes asynchronously setting a GFile's display name.
1668  * query_settable_attributes ()
1669  * Returns a list of GFileAttributes that can be set.
1670  * _query_settable_attributes_async ()
1671  * Asynchronously gets a list of GFileAttributes that can be set.
1672  * _query_settable_attributes_finish ()
1673  * Finishes asynchronously querying settable attributes.
1674  * query_writable_namespaces ()
1675  * Returns a list of GFileAttribute namespaces that are writable.
1676  * _query_writable_namespaces_async ()
1677  * Asynchronously gets a list of GFileAttribute namespaces that are writable.
1678  * _query_writable_namespaces_finish ()
1679  * Finishes asynchronously querying the writable namespaces.
1680  * set_attribute ()
1681  * Sets a GFileAttribute.
1682  * set_attributes_from_info ()
1683  * Sets a GFileAttribute with information from a GFileInfo.
1684  * set_attributes_async ()
1685  * Asynchronously sets a file's attributes.
1686  * set_attributes_finish ()
1687  * Finishes setting a file's attributes asynchronously.
1688  * read_fn ()
1689  * Reads a file asynchronously.
1690  * read_async ()
1691  * Asynchronously reads a file.
1692  * read_finish ()
1693  * Finishes asynchronously reading a file.
1694  * append_to ()
1695  * Writes to the end of a file.
1696  * append_to_async ()
1697  * Asynchronously writes to the end of a file.
1698  * append_to_finish ()
1699  * Finishes an asynchronous file append operation.
1700  * create ()
1701  * Creates a new file.
1702  * create_async ()
1703  * Asynchronously creates a file.
1704  * create_finish ()
1705  * Finishes asynchronously creating a file.
1706  * replace ()
1707  * Replaces the contents of a file.
1708  * replace_async ()
1709  * Asynchronously replaces the contents of a file.
1710  * replace_finish ()
1711  * Finishes asynchronously replacing a file.
1712  * delete_file ()
1713  * Deletes a file.
1714  * _delete_file_async ()
1715  * Asynchronously deletes a file.
1716  * _delete_file_finish ()
1717  * Finishes an asynchronous delete.
1718  * trash ()
1719  * Sends a GFile to the Trash location.
1720  * _trash_async ()
1721  * Asynchronously sends a GFile to the Trash location.
1722  * _trash_finish ()
1723  * Finishes an asynchronous file trashing operation.
1724  * make_directory ()
1725  * Makes a directory.
1726  * _make_directory_async ()
1727  * Asynchronously makes a directory.
1728  * _make_directory_finish ()
1729  * Finishes making a directory asynchronously.
1730  * make_symbolic_link ()
1731  * Makes a symbolic link.
1732  * _make_symbolic_link_async ()
1733  * Asynchronously makes a symbolic link
1734  * _make_symbolic_link_finish ()
1735  * Finishes making a symbolic link asynchronously.
1736  * copy ()
1737  * Copies a file.
1738  * copy_async ()
1739  * Asynchronously copies a file.
1740  * copy_finish ()
1741  * Finishes an asynchronous copy operation.
1742  * move ()
1743  * Moves a file.
1744  * _move_async ()
1745  * Asynchronously moves a file.
1746  * _move_finish ()
1747  * Finishes an asynchronous move operation.
1748  * mount_mountable ()
1749  * Mounts a mountable object.
1750  * mount_mountable_finish ()
1751  * Finishes a mounting operation.
1752  * unmount_mountable ()
1753  * Unmounts a mountable object.
1754  * unmount_mountable_finish ()
1755  * Finishes an unmount operation.
1756  * eject_mountable ()
1757  * Ejects a mountable.
1758  * eject_mountable_finish ()
1759  * Finishes an eject operation.
1760  * mount_enclosing_volume ()
1761  * Mounts a specified location.
1762  * mount_enclosing_volume_finish ()
1763  * Finishes mounting a specified location.
1764  * monitor_dir ()
1765  * Creates a GFileMonitor for the location.
1766  * monitor_file ()
1767  * Creates a GFileMonitor for the location.
1768  * open_readwrite ()
1769  * Open file read/write. Since 2.22.
1770  * open_readwrite_async ()
1771  * Asynchronously opens file read/write. Since 2.22.
1772  * open_readwrite_finish ()
1773  * Finishes an asynchronous open read/write. Since 2.22.
1774  * create_readwrite ()
1775  * Creates file read/write. Since 2.22.
1776  * create_readwrite_async ()
1777  * Asynchronously creates file read/write. Since 2.22.
1778  * create_readwrite_finish ()
1779  * Finishes an asynchronous creates read/write. Since 2.22.
1780  * replace_readwrite ()
1781  * Replaces file read/write. Since 2.22.
1782  * replace_readwrite_async ()
1783  * Asynchronously replaces file read/write. Since 2.22.
1784  * replace_readwrite_finish ()
1785  * Finishes an asynchronous replace read/write. Since 2.22.
1786  * start_mountable ()
1787  * Starts a mountable object. Since 2.22.
1788  * start_mountable_finish ()
1789  * Finishes an start operation. Since 2.22.
1790  * stop_mountable ()
1791  * Stops a mountable. Since 2.22.
1792  * stop_mountable_finish ()
1793  * Finishes an stop operation. Since 2.22.
1794  * gboolean supports_thread_contexts;
1795  * a boolean that indicates whether the GFile implementation supports thread-default contexts. Since 2.22.
1796  * unmount_mountable_with_operation ()
1797  * Unmounts a mountable object using a GMountOperation. Since 2.22.
1798  * unmount_mountable_with_operation_finish ()
1799  * Finishes an unmount operation using a GMountOperation. Since 2.22.
1800  * eject_mountable_with_operation ()
1801  * Ejects a mountable object using a GMountOperation. Since 2.22.
1802  * eject_mountable_with_operation_finish ()
1803  * Finishes an eject operation using a GMountOperation. Since 2.22.
1804  * poll_mountable ()
1805  * Polls a mountable object for media changes. Since 2.22.
1806  * poll_mountable_finish ()
1807  * Finishes an poll operation for media changes. Since 2.22.
1808  */
1809 public struct GFileIface
1810 {
1811 	GTypeInterface gIface;
1812 	/+* Virtual Table +/
1813 	extern(C) GFile * function(GFile* file)  dup;
1814 	extern(C) uint function(GFile* file)  hash;
1815 	extern(C) int function(GFile* file1, GFile* file2)  equal;
1816 	extern(C) int function(GFile* file)  isNative;
1817 	extern(C) int function(GFile* file, char* uriScheme)  hasUriScheme;
1818 	extern(C) char * function(GFile* file)  getUriScheme;
1819 	extern(C) char * function(GFile* file)  getBasename;
1820 	extern(C) char * function(GFile* file)  getPath;
1821 	extern(C) char * function(GFile* file)  getUri;
1822 	extern(C) char * function(GFile* file)  getParseName;
1823 	extern(C) GFile * function(GFile* file)  getParent;
1824 	extern(C) int function(GFile* prefix, GFile* file)  prefixMatches;
1825 	extern(C) char * function(GFile* parent, GFile* descendant)  getRelativePath;
1826 	extern(C) GFile * function(GFile* file, char* relativePath)  resolveRelativePath;
1827 	extern(C) GFile * function(GFile* file, char* displayName, GError** error)  getChildForDisplayName;
1828 	extern(C) GFileEnumerator * function(GFile* file, char* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  enumerateChildren;
1829 	extern(C) void function(GFile* file, char* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  enumerateChildrenAsync;
1830 	extern(C) GFileEnumerator * function(GFile* file, GAsyncResult* res, GError** error)  enumerateChildrenFinish;
1831 	extern(C) GFileInfo * function(GFile* file, char* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  queryInfo;
1832 	extern(C) void function(GFile* file, char* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  queryInfoAsync;
1833 	extern(C) GFileInfo * function(GFile* file, GAsyncResult* res, GError** error)  queryInfoFinish;
1834 	extern(C) GFileInfo * function(GFile* file, char* attributes, GCancellable* cancellable, GError** error)  queryFilesystemInfo;
1835 	extern(C) void function(GFile* file, char* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  queryFilesystemInfoAsync;
1836 	extern(C) GFileInfo * function(GFile* file, GAsyncResult* res, GError** error)  queryFilesystemInfoFinish;
1837 	extern(C) GMount * function(GFile* file, GCancellable* cancellable, GError** error)  findEnclosingMount;
1838 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  findEnclosingMountAsync;
1839 	extern(C) GMount * function(GFile* file, GAsyncResult* res, GError** error)  findEnclosingMountFinish;
1840 	extern(C) GFile * function(GFile* file, char* displayName, GCancellable* cancellable, GError** error)  setDisplayName;
1841 	extern(C) void function(GFile* file, char* displayName, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  setDisplayNameAsync;
1842 	extern(C) GFile * function(GFile* file, GAsyncResult* res, GError** error)  setDisplayNameFinish;
1843 	extern(C) GFileAttributeInfoList * function(GFile* file, GCancellable* cancellable, GError** error)  querySettableAttributes;
1844 	extern(C) void function()  _QuerySettableAttributesAsync;
1845 	extern(C) void function()  _QuerySettableAttributesFinish;
1846 	extern(C) GFileAttributeInfoList * function(GFile* file, GCancellable* cancellable, GError** error)  queryWritableNamespaces;
1847 	extern(C) void function()  _QueryWritableNamespacesAsync;
1848 	extern(C) void function()  _QueryWritableNamespacesFinish;
1849 	extern(C) int function(GFile* file, char* attribute, GFileAttributeType type, void* valueP, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  setAttribute;
1850 	extern(C) int function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** error)  setAttributesFromInfo;
1851 	extern(C) void function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  setAttributesAsync;
1852 	extern(C) int function(GFile* file, GAsyncResult* result, GFileInfo** info, GError** error)  setAttributesFinish;
1853 	extern(C) GFileInputStream * function(GFile* file, GCancellable* cancellable, GError** error)  readFn;
1854 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  readAsync;
1855 	extern(C) GFileInputStream * function(GFile* file, GAsyncResult* res, GError** error)  readFinish;
1856 	extern(C) GFileOutputStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  appendTo;
1857 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  appendToAsync;
1858 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  appendToFinish;
1859 	extern(C) GFileOutputStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  create;
1860 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  createAsync;
1861 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  createFinish;
1862 	extern(C) GFileOutputStream * function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  replace;
1863 	extern(C) void function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  replaceAsync;
1864 	extern(C) GFileOutputStream * function(GFile* file, GAsyncResult* res, GError** error)  replaceFinish;
1865 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  deleteFile;
1866 	extern(C) void function()  _DeleteFileAsync;
1867 	extern(C) void function()  _DeleteFileFinish;
1868 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  trash;
1869 	extern(C) void function()  _TrashAsync;
1870 	extern(C) void function()  _TrashFinish;
1871 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** error)  makeDirectory;
1872 	extern(C) void function()  _MakeDirectoryAsync;
1873 	extern(C) void function()  _MakeDirectoryFinish;
1874 	extern(C) int function(GFile* file, char* symlinkValue, GCancellable* cancellable, GError** error)  makeSymbolicLink;
1875 	extern(C) void function()  _MakeSymbolicLinkAsync;
1876 	extern(C) void function()  _MakeSymbolicLinkFinish;
1877 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** error)  copy;
1878 	extern(C) void function(GFile* source, GFile* destination, GFileCopyFlags flags, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData)  copyAsync;
1879 	extern(C) int function(GFile* file, GAsyncResult* res, GError** error)  copyFinish;
1880 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** error)  move;
1881 	extern(C) void function()  _MoveAsync;
1882 	extern(C) void function()  _MoveFinish;
1883 	extern(C) void function(GFile* file, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountMountable;
1884 	extern(C) GFile * function(GFile* file, GAsyncResult* result, GError** error)  mountMountableFinish;
1885 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountMountable;
1886 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  unmountMountableFinish;
1887 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectMountable;
1888 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  ejectMountableFinish;
1889 	extern(C) void function(GFile* location, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountEnclosingVolume;
1890 	extern(C) int function(GFile* location, GAsyncResult* result, GError** error)  mountEnclosingVolumeFinish;
1891 	extern(C) GFileMonitor * function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** error)  monitorDir;
1892 	extern(C) GFileMonitor * function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** error)  monitorFile;
1893 	extern(C) GFileIOStream * function(GFile* file, GCancellable* cancellable, GError** error)  openReadwrite;
1894 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  openReadwriteAsync;
1895 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  openReadwriteFinish;
1896 	extern(C) GFileIOStream * function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  createReadwrite;
1897 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  createReadwriteAsync;
1898 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  createReadwriteFinish;
1899 	extern(C) GFileIOStream * function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** error)  replaceReadwrite;
1900 	extern(C) void function(GFile* file, char* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  replaceReadwriteAsync;
1901 	extern(C) GFileIOStream * function(GFile* file, GAsyncResult* res, GError** error)  replaceReadwriteFinish;
1902 	extern(C) void function(GFile* file, GDriveStartFlags flags, GMountOperation* startOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  startMountable;
1903 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  startMountableFinish;
1904 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  stopMountable;
1905 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  stopMountableFinish;
1906 	int supportsThreadContexts;
1907 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountMountableWithOperation;
1908 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  unmountMountableWithOperationFinish;
1909 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectMountableWithOperation;
1910 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  ejectMountableWithOperationFinish;
1911 	extern(C) void function(GFile* file, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  pollMountable;
1912 	extern(C) int function(GFile* file, GAsyncResult* result, GError** error)  pollMountableFinish;
1913 }
1914 
1915 
1916 /**
1917  * Information about a specific attribute.
1918  * char *name;
1919  * the name of the attribute.
1920  * GFileAttributeType type;
1921  * the GFileAttributeType type of the attribute.
1922  * GFileAttributeInfoFlags flags;
1923  * a set of GFileAttributeInfoFlags.
1924  */
1925 public struct GFileAttributeInfo
1926 {
1927 	char *name;
1928 	GFileAttributeType type;
1929 	GFileAttributeInfoFlags flags;
1930 }
1931 
1932 
1933 /**
1934  * Main Gtk struct.
1935  * Acts as a lightweight registry for possible valid file attributes.
1936  * The registry stores Key-Value pair formats as GFileAttributeInfos.
1937  * GFileAttributeInfo *infos;
1938  * an array of GFileAttributeInfos.
1939  * int n_infos;
1940  * the number of values in the array.
1941  */
1942 public struct GFileAttributeInfoList
1943 {
1944 	GFileAttributeInfo *infos;
1945 	int nInfos;
1946 }
1947 
1948 
1949 /**
1950  * Determines if a string matches a file attribute.
1951  */
1952 public struct GFileAttributeMatcher{}
1953 
1954 
1955 /**
1956  * Main Gtk struct.
1957  * Stores information about a file system object referenced by a GFile.
1958  */
1959 public struct GFileInfo{}
1960 
1961 
1962 /**
1963  * Main Gtk struct.
1964  * A per matched file iterator.
1965  */
1966 public struct GFileEnumerator{}
1967 
1968 
1969 /**
1970  * Main Gtk struct.
1971  * Class for providing authentication methods for mounting operations,
1972  * such as mounting a file locally, or authenticating with a server.
1973  */
1974 public struct GMountOperation{}
1975 
1976 
1977 /**
1978  * Main Gtk struct.
1979  * Watches for changes to a file.
1980  */
1981 public struct GFileMonitor{}
1982 
1983 
1984 /**
1985  * Main Gtk struct.
1986  * Allows actions to be cancelled.
1987  */
1988 public struct GCancellable{}
1989 
1990 
1991 /**
1992  * Main Gtk struct.
1993  * Holds results information for an asynchronous operation,
1994  * usually passed directly to a asynchronous _finish() operation.
1995  */
1996 public struct GAsyncResult{}
1997 
1998 
1999 /**
2000  * Interface definition for GAsyncResult.
2001  * GTypeInterface g_iface;
2002  * The parent interface.
2003  * get_user_data ()
2004  * Gets the user data passed to the callback.
2005  * get_source_object ()
2006  * Gets the source object that issued the asynchronous operation.
2007  */
2008 public struct GAsyncResultIface
2009 {
2010 	GTypeInterface gIface;
2011 	/+* Virtual Table +/
2012 	extern(C) void* function(GAsyncResult* res)  getUserData;
2013 	extern(C) GObject * function(GAsyncResult* res)  getSourceObject;
2014 }
2015 
2016 
2017 /**
2018  * Main Gtk struct.
2019  * Opaque class for definining and scheduling IO jobs.
2020  */
2021 public struct GIOSchedulerJob{}
2022 
2023 
2024 /**
2025  * Main Gtk struct.
2026  * A simple implementation of GAsyncResult.
2027  */
2028 public struct GSimpleAsyncResult{}
2029 
2030 
2031 /**
2032  * Main Gtk struct.
2033  * Seek object for streaming operations.
2034  * Since 2.24
2035  */
2036 public struct GConverter{}
2037 
2038 
2039 /**
2040  * Provides an interface for converting data from one type
2041  * to another type. The conversion can be stateful
2042  * and may fail at any place.
2043  * GTypeInterface g_iface;
2044  * The parent interface.
2045  * convert ()
2046  * Converts data.
2047  * reset ()
2048  * Reverts the internal state of the converter to its initial state.
2049  * Since 2.24
2050  */
2051 public struct GConverterIface
2052 {
2053 	GTypeInterface gIface;
2054 	/+* Virtual Table +/
2055 	extern(C) GConverterResult function(GConverter* converter, void* inbuf, gsize inbufSize, void* outbuf, gsize outbufSize, GConverterFlags flags, gsize* bytesRead, gsize* bytesWritten, GError** error)  convert;
2056 	extern(C) void function(GConverter* converter)  reset;
2057 }
2058 
2059 
2060 /**
2061  * Main Gtk struct.
2062  * Conversions between character sets.
2063  */
2064 public struct GCharsetConverter{}
2065 
2066 
2067 /**
2068  * Main Gtk struct.
2069  * Zlib decompression
2070  */
2071 public struct GZlibCompressor{}
2072 
2073 
2074 /**
2075  * Main Gtk struct.
2076  * Zlib decompression
2077  */
2078 public struct GZlibDecompressor{}
2079 
2080 
2081 /**
2082  * Main Gtk struct.
2083  * Seek object for streaming operations.
2084  */
2085 public struct GSeekable{}
2086 
2087 
2088 /**
2089  * Provides an interface for implementing seekable functionality on I/O Streams.
2090  * GTypeInterface g_iface;
2091  * The parent interface.
2092  * tell ()
2093  * Tells the current location within a stream.
2094  * can_seek ()
2095  * Checks if seeking is supported by the stream.
2096  * seek ()
2097  * Seeks to a location within a stream.
2098  * can_truncate ()
2099  * Chekcs if truncation is suppored by the stream.
2100  * truncate_fn ()
2101  * Truncates a stream.
2102  */
2103 public struct GSeekableIface
2104 {
2105 	GTypeInterface gIface;
2106 	/+* Virtual Table +/
2107 	extern(C) long function(GSeekable* seekable)  tell;
2108 	extern(C) int function(GSeekable* seekable)  canSeek;
2109 	extern(C) int function(GSeekable* seekable, long offset, GSeekType type, GCancellable* cancellable, GError** error)  seek;
2110 	extern(C) int function(GSeekable* seekable)  canTruncate;
2111 	extern(C) int function(GSeekable* seekable, long offset, GCancellable* cancellable, GError** error)  truncateFn;
2112 	/+* TODO: Async seek/truncate +/
2113 }
2114 
2115 
2116 /**
2117  * Main Gtk struct.
2118  * Base class for streaming input operations.
2119  */
2120 public struct GInputStream{}
2121 
2122 
2123 /**
2124  * Main Gtk struct.
2125  * Base class for writing output.
2126  * All classes derived from GOutputStream should implement synchronous
2127  * writing, splicing, flushing and closing streams, but may implement
2128  * asynchronous versions.
2129  */
2130 public struct GOutputStream{}
2131 
2132 
2133 /**
2134  * Main Gtk struct.
2135  * Base class for read-write streams.
2136  */
2137 public struct GIOStream{}
2138 
2139 
2140 /**
2141  * Main Gtk struct.
2142  * A subclass of GInputStream for opened files. This adds
2143  * a few file-specific operations and seeking.
2144  * GFileInputStream implements GSeekable.
2145  */
2146 public struct GFileInputStream{}
2147 
2148 
2149 /**
2150  * Main Gtk struct.
2151  * A subclass of GOutputStream for opened files. This adds
2152  * a few file-specific operations and seeking and truncating.
2153  * GFileOutputStream implements GSeekable.
2154  */
2155 public struct GFileOutputStream{}
2156 
2157 
2158 /**
2159  * Main Gtk struct.
2160  * A subclass of GIOStream for opened files. This adds
2161  * a few file-specific operations and seeking and truncating.
2162  * GFileIOStream implements GSeekable.
2163  */
2164 public struct GFileIOStream{}
2165 
2166 
2167 /**
2168  * Main Gtk struct.
2169  * An interface for file descriptor based io objects.
2170  */
2171 public struct GFileDescriptorBased{}
2172 
2173 
2174 /**
2175  * Main Gtk struct.
2176  * A base class for all input streams that work on an underlying stream.
2177  */
2178 public struct GFilterInputStream{}
2179 
2180 
2181 /**
2182  * Main Gtk struct.
2183  * A base class for all output streams that work on an underlying stream.
2184  */
2185 public struct GFilterOutputStream{}
2186 
2187 
2188 /**
2189  * Main Gtk struct.
2190  * Implements GInputStream for arbitrary memory chunks.
2191  */
2192 public struct GMemoryInputStream{}
2193 
2194 
2195 /**
2196  * Main Gtk struct.
2197  * Implements GOutputStream for arbitrary memory chunks.
2198  */
2199 public struct GMemoryOutputStream{}
2200 
2201 
2202 /**
2203  * Main Gtk struct.
2204  * Implements GFilterInputStream with a sized input buffer.
2205  */
2206 public struct GBufferedInputStream{}
2207 
2208 
2209 /**
2210  * Main Gtk struct.
2211  * An implementation of GFilterOutputStream with a sized buffer.
2212  */
2213 public struct GBufferedOutputStream{}
2214 
2215 
2216 /**
2217  * Main Gtk struct.
2218  * An implementation of GBufferedInputStream that allows for high-level
2219  * data manipulation of arbitrary data (including binary operations).
2220  */
2221 public struct GDataInputStream{}
2222 
2223 
2224 /**
2225  * Main Gtk struct.
2226  * An implementation of GBufferedOutputStream that allows for high-level
2227  * data manipulation of arbitrary data (including binary operations).
2228  */
2229 public struct GDataOutputStream{}
2230 
2231 
2232 /**
2233  * Main Gtk struct.
2234  * Implements GInputStream for reading from selectable unix file descriptors
2235  */
2236 public struct GUnixInputStream{}
2237 
2238 
2239 /**
2240  * Main Gtk struct.
2241  * Implements GOutputStream for outputting to selectable unix file descriptors
2242  */
2243 public struct GUnixOutputStream{}
2244 
2245 
2246 /**
2247  * Main Gtk struct.
2248  * An implementation of GFilterInputStream that allows data
2249  * conversion.
2250  */
2251 public struct GConverterInputStream{}
2252 
2253 
2254 /**
2255  * Main Gtk struct.
2256  * An implementation of GFilterOutputStream that allows data
2257  * conversion.
2258  */
2259 public struct GConverterOutputStream{}
2260 
2261 
2262 /**
2263  * Main Gtk struct.
2264  * An interface for a GInputStream that can be polled for readability.
2265  * Since 2.28
2266  */
2267 public struct GPollableInputStream{}
2268 
2269 
2270 /**
2271  * The interface for pollable input streams.
2272  * The default implementation of can_poll always returns TRUE.
2273  * The default implementation of read_nonblocking calls
2274  * g_pollable_input_stream_is_readable(), and then calls
2275  * g_input_stream_read() if it returns TRUE. This means you only need
2276  * to override it if it is possible that your is_readable
2277  * implementation may return TRUE when the stream is not actually
2278  * readable.
2279  * GTypeInterface g_iface;
2280  * The parent interface.
2281  * can_poll ()
2282  * Checks if the GPollableInputStream instance is actually pollable
2283  * is_readable ()
2284  * Checks if the stream is readable
2285  * create_source ()
2286  * Creates a GSource to poll the stream
2287  * read_nonblocking ()
2288  * Does a non-blocking read or returns
2289  * G_IO_ERROR_WOULD_BLOCK
2290  * Since 2.28
2291  */
2292 public struct GPollableInputStreamInterface
2293 {
2294 	GTypeInterface gIface;
2295 	/+* Virtual Table +/
2296 	extern(C) int function(GPollableInputStream* stream) canPoll;
2297 	extern(C) int function(GPollableInputStream* stream) isReadable;
2298 	extern(C) GSource * function(GPollableInputStream* stream, GCancellable* cancellable) createSource;
2299 	extern(C) gssize function(GPollableInputStream* stream, void* buffer, gsize size, GError** error) readNonblocking;
2300 }
2301 
2302 
2303 /**
2304  * Main Gtk struct.
2305  * An interface for a GOutputStream that can be polled for readability.
2306  * Since 2.28
2307  */
2308 public struct GPollableOutputStream{}
2309 
2310 
2311 /**
2312  * The interface for pollable output streams.
2313  * The default implementation of can_poll always returns TRUE.
2314  * The default implementation of write_nonblocking calls
2315  * g_pollable_output_stream_is_writable(), and then calls
2316  * g_output_stream_write() if it returns TRUE. This means you only
2317  * need to override it if it is possible that your is_writable
2318  * implementation may return TRUE when the stream is not actually
2319  * writable.
2320  * GTypeInterface g_iface;
2321  * The parent interface.
2322  * can_poll ()
2323  * Checks if the GPollableOutputStream instance is actually pollable
2324  * is_writable ()
2325  * Checks if the stream is writable
2326  * create_source ()
2327  * Creates a GSource to poll the stream
2328  * write_nonblocking ()
2329  * Does a non-blocking write or returns
2330  * G_IO_ERROR_WOULD_BLOCK
2331  * Since 2.28
2332  */
2333 public struct GPollableOutputStreamInterface
2334 {
2335 	GTypeInterface gIface;
2336 	/+* Virtual Table +/
2337 	extern(C) int function(GPollableOutputStream* stream) canPoll;
2338 	extern(C) int function(GPollableOutputStream* stream) isWritable;
2339 	extern(C) GSource * function(GPollableOutputStream* stream, GCancellable* cancellable) createSource;
2340 	extern(C) gssize function(GPollableOutputStream* stream, void* buffer, gsize size, GError** error) writeNonblocking;
2341 }
2342 
2343 
2344 /**
2345  * Main Gtk struct.
2346  * Information about an installed application and methods to launch
2347  * it (with file arguments).
2348  */
2349 public struct GAppInfo{}
2350 
2351 
2352 /**
2353  * Application Information interface, for operating system portability.
2354  * GTypeInterface g_iface;
2355  * The parent interface.
2356  * dup ()
2357  * Copies a GAppInfo.
2358  * equal ()
2359  * Checks two GAppInfos for equality.
2360  * get_id ()
2361  * Gets a string identifier for a GAppInfo.
2362  * get_name ()
2363  * Gets the name of the application for a GAppInfo.
2364  * get_description ()
2365  * Gets a short description for the application described by the GAppInfo.
2366  * get_executable ()
2367  * Gets the executable name for the GAppInfo.
2368  * get_icon ()
2369  * Gets the GIcon for the GAppInfo.
2370  * launch ()
2371  * Launches an application specified by the GAppInfo.
2372  * supports_uris ()
2373  * Indicates whether the application specified supports launching URIs.
2374  * supports_files ()
2375  * Indicates whether the application specified accepts filename arguments.
2376  * launch_uris ()
2377  * Launches an application with a list of URIs.
2378  * should_show ()
2379  * Returns whether an application should be shown (e.g. when getting a list of installed applications).
2380  * FreeDesktop.Org Startup Notification Specification.
2381  * set_as_default_for_type ()
2382  * Sets an application as default for a given content type.
2383  * set_as_default_for_extension ()
2384  * Sets an application as default for a given file extension.
2385  * add_supports_type ()
2386  * Adds to the GAppInfo information about supported file types.
2387  * can_remove_supports_type ()
2388  * Checks for support for removing supported file types from a GAppInfo.
2389  * remove_supports_type ()
2390  * Removes a supported application type from a GAppInfo.
2391  * can_delete ()
2392  * Checks if a GAppInfo can be deleted. Since 2.20
2393  * do_delete ()
2394  * Deletes a GAppInfo. Since 2.20
2395  * get_commandline ()
2396  * Gets the commandline for the GAppInfo. Since 2.20
2397  * get_display_name ()
2398  * Gets the display name for the GAppInfo. Since 2.24
2399  * set_as_last_used_for_type ()
2400  */
2401 public struct GAppInfoIface
2402 {
2403 	GTypeInterface gIface;
2404 	/+* Virtual Table +/
2405 	extern(C) GAppInfo * function(GAppInfo* appinfo)  dup;
2406 	extern(C) int function(GAppInfo* appinfo1, GAppInfo* appinfo2)  equal;
2407 	extern(C) char * function(GAppInfo* appinfo)  getId;
2408 	extern(C) char * function(GAppInfo* appinfo)  getName;
2409 	extern(C) char * function(GAppInfo* appinfo)  getDescription;
2410 	extern(C) char * function(GAppInfo* appinfo)  getExecutable;
2411 	extern(C) GIcon * function(GAppInfo* appinfo)  getIcon;
2412 	extern(C) int function(GAppInfo* appinfo, GList* files, GAppLaunchContext* launchContext, GError** error)  launch;
2413 	extern(C) int function(GAppInfo* appinfo)  supportsUris;
2414 	extern(C) int function(GAppInfo* appinfo)  supportsFiles;
2415 	extern(C) int function(GAppInfo* appinfo, GList* uris, GAppLaunchContext* launchContext, GError** error)  launchUris;
2416 	extern(C) int function(GAppInfo* appinfo)  shouldShow;
2417 	/+* For changing associations +/
2418 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  setAsDefaultForType;
2419 	extern(C) int function(GAppInfo* appinfo, char* extension, GError** error)  setAsDefaultForExtension;
2420 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  addSupportsType;
2421 	extern(C) int function(GAppInfo* appinfo)  canRemoveSupportsType;
2422 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  removeSupportsType;
2423 	extern(C) int function(GAppInfo* appinfo)  canDelete;
2424 	extern(C) int function(GAppInfo* appinfo)  doDelete;
2425 	extern(C) char * function(GAppInfo* appinfo)  getCommandline;
2426 	extern(C) char * function(GAppInfo* appinfo)  getDisplayName;
2427 	extern(C) int function(GAppInfo* appinfo, char* contentType, GError** error)  setAsLastUsedForType;
2428 }
2429 
2430 
2431 /**
2432  * Integrating the launch with the launching application. This is used to
2433  * handle for instance startup notification and launching the new application
2434  * on the same screen as the launching window.
2435  */
2436 public struct GAppLaunchContext{}
2437 
2438 
2439 /**
2440  * Main Gtk struct.
2441  * Information about an installed application from a desktop file.
2442  */
2443 public struct GDesktopAppInfo{}
2444 
2445 
2446 /**
2447  * Main Gtk struct.
2448  * A Volume Monitor that watches for volume events.
2449  */
2450 public struct GVolumeMonitor{}
2451 
2452 
2453 /**
2454  * Main Gtk struct.
2455  * Opaque mountable volume object.
2456  */
2457 public struct GVolume{}
2458 
2459 
2460 /**
2461  * Interface for implementing operations for mountable volumes.
2462  * GTypeInterface g_iface;
2463  * The parent interface.
2464  * changed ()
2465  * Changed signal that is emitted when the volume's state has changed.
2466  * removed ()
2467  * 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.
2468  * get_name ()
2469  * Gets a string containing the name of the GVolume.
2470  * get_icon ()
2471  * Gets a GIcon for the GVolume.
2472  * get_uuid ()
2473  * 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.
2474  * get_drive ()
2475  * Gets a GDrive the volume is located on. Returns NULL if the GVolume is not associated with a GDrive.
2476  * get_mount ()
2477  * Gets a GMount representing the mounted volume. Returns NULL if the GVolume is not mounted.
2478  * can_mount ()
2479  * Returns TRUE if the GVolume can be mounted.
2480  * can_eject ()
2481  * Checks if a GVolume can be ejected.
2482  * mount_fn ()
2483  * Mounts a given GVolume.
2484  * GVolume implementations must emit the "aborted"
2485  * signal before completing a mount operation that is aborted while
2486  * awaiting input from the user through a GMountOperation instance.
2487  * mount_finish ()
2488  * Finishes a mount operation.
2489  * eject ()
2490  * Ejects a given GVolume.
2491  * eject_finish ()
2492  * Finishes an eject operation.
2493  * get_identifier ()
2494  * Returns the identifier of the given kind, or NULL if
2495  * the GVolume doesn't have one.
2496  * enumerate_identifiers ()
2497  * Returns an array strings listing the kinds
2498  * of identifiers which the GVolume has.
2499  * should_automount ()
2500  * Returns TRUE if the GVolume should be automatically mounted.
2501  * get_activation_root ()
2502  * Returns the activation root for the GVolume if it is known in advance or NULL if
2503  * it is not known.
2504  * eject_with_operation ()
2505  * Starts ejecting a GVolume using a GMountOperation. Since 2.22.
2506  * eject_with_operation_finish ()
2507  * Finishes an eject operation using a GMountOperation. Since 2.22.
2508  */
2509 public struct GVolumeIface
2510 {
2511 	GTypeInterface gIface;
2512 	/+* signals +/
2513 	extern(C) void function(GVolume* volume)  changed;
2514 	extern(C) void function(GVolume* volume)  removed;
2515 	/+* Virtual Table +/
2516 	extern(C) char * function(GVolume* volume)  getName;
2517 	extern(C) GIcon * function(GVolume* volume)  getIcon;
2518 	extern(C) char * function(GVolume* volume)  getUuid;
2519 	extern(C) GDrive * function(GVolume* volume)  getDrive;
2520 	extern(C) GMount * function(GVolume* volume)  getMount;
2521 	extern(C) int function(GVolume* volume)  canMount;
2522 	extern(C) int function(GVolume* volume)  canEject;
2523 	extern(C) void function(GVolume* volume, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  mountFn;
2524 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  mountFinish;
2525 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
2526 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  ejectFinish;
2527 	extern(C) char * function(GVolume* volume, char* kind)  getIdentifier;
2528 	extern(C) char ** function(GVolume* volume)  enumerateIdentifiers;
2529 	extern(C) int function(GVolume* volume)  shouldAutomount;
2530 	extern(C) GFile * function(GVolume* volume)  getActivationRoot;
2531 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
2532 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
2533 }
2534 
2535 
2536 /**
2537  * Main Gtk struct.
2538  * A handle to an object implementing the GMountIface interface.
2539  */
2540 public struct GMount{}
2541 
2542 
2543 /**
2544  * Interface for implementing operations for mounts.
2545  * GTypeInterface g_iface;
2546  * The parent interface.
2547  * changed ()
2548  * Changed signal that is emitted when the mount's state has changed.
2549  * unmounted ()
2550  * 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.
2551  * get_root ()
2552  * Gets a GFile to the root directory of the GMount.
2553  * get_name ()
2554  * Gets a string containing the name of the GMount.
2555  * get_icon ()
2556  * Gets a GIcon for the GMount.
2557  * get_uuid ()
2558  * 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.
2559  * get_volume ()
2560  * Gets a GVolume the mount is located on. Returns NULL if the GMount is not associated with a GVolume.
2561  * get_drive ()
2562  * 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.
2563  * can_unmount ()
2564  * Checks if a GMount can be unmounted.
2565  * can_eject ()
2566  * Checks if a GMount can be ejected.
2567  * unmount ()
2568  * Starts unmounting a GMount.
2569  * unmount_finish ()
2570  * Finishes an unmounting operation.
2571  * eject ()
2572  * Starts ejecting a GMount.
2573  * eject_finish ()
2574  * Finishes an eject operation.
2575  * remount ()
2576  * Starts remounting a GMount.
2577  * remount_finish ()
2578  * Finishes a remounting operation.
2579  * guess_content_type ()
2580  * Starts guessing the type of the content of a GMount.
2581  * See g_mount_guess_content_type() for more information on content
2582  * type guessing. This operation was added in 2.18.
2583  * guess_content_type_finish ()
2584  * Finishes a contenet type guessing operation. Added in 2.18.
2585  * guess_content_type_sync ()
2586  * Synchronous variant of guess_content_type. Added in 2.18
2587  * pre_unmount ()
2588  * The pre_unmout 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.
2589  * unmount_with_operation ()
2590  * Starts unmounting a GMount using a GMountOperation. Since 2.22.
2591  * unmount_with_operation_finish ()
2592  * Finishes an unmounting operation using a GMountOperation. Since 2.22.
2593  * eject_with_operation ()
2594  * Starts ejecting a GMount using a GMountOperation. Since 2.22.
2595  * eject_with_operation_finish ()
2596  * Finishes an eject operation using a GMountOperation. Since 2.22.
2597  * get_default_location ()
2598  * Gets a GFile indication a start location that can be use as the entry point for this mount. Since 2.24.
2599  */
2600 public struct GMountIface
2601 {
2602 	GTypeInterface gIface;
2603 	/+* signals +/
2604 	extern(C) void function(GMount* mount)  changed;
2605 	extern(C) void function(GMount* mount)  unmounted;
2606 	/+* Virtual Table +/
2607 	extern(C) GFile * function(GMount* mount)  getRoot;
2608 	extern(C) char * function(GMount* mount)  getName;
2609 	extern(C) GIcon * function(GMount* mount)  getIcon;
2610 	extern(C) char * function(GMount* mount)  getUuid;
2611 	extern(C) GVolume * function(GMount* mount)  getVolume;
2612 	extern(C) GDrive * function(GMount* mount)  getDrive;
2613 	extern(C) int function(GMount* mount)  canUnmount;
2614 	extern(C) int function(GMount* mount)  canEject;
2615 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmount;
2616 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  unmountFinish;
2617 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
2618 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  ejectFinish;
2619 	extern(C) void function(GMount* mount, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  remount;
2620 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  remountFinish;
2621 	extern(C) void function(GMount* mount, int forceRescan, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  guessContentType;
2622 	extern(C) char ** function(GMount* mount, GAsyncResult* result, GError** error)  guessContentTypeFinish;
2623 	extern(C) char ** function(GMount* mount, int forceRescan, GCancellable* cancellable, GError** error)  guessContentTypeSync;
2624 	/+* Signal, not VFunc +/
2625 	extern(C) void function(GMount* mount)  preUnmount;
2626 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  unmountWithOperation;
2627 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  unmountWithOperationFinish;
2628 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
2629 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
2630 	extern(C) GFile * function(GMount* mount)  getDefaultLocation;
2631 }
2632 
2633 
2634 /**
2635  * Main Gtk struct.
2636  * Opaque drive object.
2637  */
2638 public struct GDrive{}
2639 
2640 
2641 /**
2642  * Interface for creating GDrive implementations.
2643  * GTypeInterface g_iface;
2644  * The parent interface.
2645  * changed ()
2646  * Signal emitted when the drive is changed.
2647  * disconnected ()
2648  * 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.
2649  * eject_button ()
2650  * Signal emitted when the physical eject button (if any) of a drive have been pressed.
2651  * get_name ()
2652  * Returns the name for the given GDrive.
2653  * get_icon ()
2654  * Returns a GIcon for the given GDrive.
2655  * has_volumes ()
2656  * Returns TRUE if the GDrive has mountable volumes.
2657  * get_volumes ()
2658  * Returns a list GList of GVolume for the GDrive.
2659  * is_media_removable ()
2660  * Returns TRUE if the GDrive supports removal and insertion of media.
2661  * has_media ()
2662  * Returns TRUE if the GDrive has media inserted.
2663  * is_media_check_automatic ()
2664  * Returns TRUE if the GDrive is capabable of automatically detecting media changes.
2665  * can_eject ()
2666  * Returns TRUE if the GDrive can eject media.
2667  * can_poll_for_media ()
2668  * Returns TRUE if the GDrive is capable of manually polling for media change.
2669  * eject ()
2670  * Ejects a GDrive.
2671  * eject_finish ()
2672  * Finishes an eject operation.
2673  * poll_for_media ()
2674  * Poll for media insertion/removal on a GDrive.
2675  * poll_for_media_finish ()
2676  * Finishes a media poll operation.
2677  * get_identifier ()
2678  * Returns the identifier of the given kind, or NULL if
2679  * the GDrive doesn't have one.
2680  * enumerate_identifiers ()
2681  * Returns an array strings listing the kinds
2682  * of identifiers which the GDrive has.
2683  * get_start_stop_type ()
2684  * Gets a GDriveStartStopType with details about starting/stopping the drive. Since 2.22.
2685  * can_start ()
2686  * Returns TRUE if a GDrive can be started. Since 2.22.
2687  * can_start_degraded ()
2688  * Returns TRUE if a GDrive can be started degraded. Since 2.22.
2689  * start ()
2690  * Starts a GDrive. Since 2.22.
2691  * start_finish ()
2692  * Finishes a start operation. Since 2.22.
2693  * can_stop ()
2694  * Returns TRUE if a GDrive can be stopped. Since 2.22.
2695  * stop ()
2696  * Stops a GDrive. Since 2.22.
2697  * stop_finish ()
2698  * Finishes a stop operation. Since 2.22.
2699  * stop_button ()
2700  * Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.
2701  * eject_with_operation ()
2702  * Starts ejecting a GDrive using a GMountOperation. Since 2.22.
2703  * eject_with_operation_finish ()
2704  * Finishes an eject operation using a GMountOperation. Since 2.22.
2705  */
2706 public struct GDriveIface
2707 {
2708 	GTypeInterface gIface;
2709 	/+* signals +/
2710 	extern(C) void function(GDrive* drive)  changed;
2711 	extern(C) void function(GDrive* drive)  disconnected;
2712 	extern(C) void function(GDrive* drive)  ejectButton;
2713 	/+* Virtual Table +/
2714 	extern(C) char * function(GDrive* drive)  getName;
2715 	extern(C) GIcon * function(GDrive* drive)  getIcon;
2716 	extern(C) int function(GDrive* drive)  hasVolumes;
2717 	extern(C) GList * function(GDrive* drive)  getVolumes;
2718 	extern(C) int function(GDrive* drive)  isMediaRemovable;
2719 	extern(C) int function(GDrive* drive)  hasMedia;
2720 	extern(C) int function(GDrive* drive)  isMediaCheckAutomatic;
2721 	extern(C) int function(GDrive* drive)  canEject;
2722 	extern(C) int function(GDrive* drive)  canPollForMedia;
2723 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  eject;
2724 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  ejectFinish;
2725 	extern(C) void function(GDrive* drive, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  pollForMedia;
2726 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  pollForMediaFinish;
2727 	extern(C) char * function(GDrive* drive, char* kind)  getIdentifier;
2728 	extern(C) char ** function(GDrive* drive)  enumerateIdentifiers;
2729 	extern(C) GDriveStartStopType function(GDrive* drive)  getStartStopType;
2730 	extern(C) int function(GDrive* drive)  canStart;
2731 	extern(C) int function(GDrive* drive)  canStartDegraded;
2732 	extern(C) void function(GDrive* drive, GDriveStartFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  start;
2733 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  startFinish;
2734 	extern(C) int function(GDrive* drive)  canStop;
2735 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  stop;
2736 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  stopFinish;
2737 	/+* signal, not VFunc +/
2738 	extern(C) void function(GDrive* drive)  stopButton;
2739 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  ejectWithOperation;
2740 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** error)  ejectWithOperationFinish;
2741 }
2742 
2743 
2744 /**
2745  * Defines a Unix mount point (e.g. /dev).
2746  * This corresponds roughly to a fstab entry.
2747  */
2748 public struct GUnixMountPoint{}
2749 
2750 
2751 /**
2752  * Main Gtk struct.
2753  * Defines a Unix mount entry (e.g. /media/cdrom).
2754  * This corresponds roughly to a mtab entry.
2755  */
2756 public struct GUnixMountEntry{}
2757 
2758 
2759 /**
2760  * Watches GUnixMounts for changes.
2761  */
2762 public struct GUnixMountMonitor{}
2763 
2764 
2765 /**
2766  * Main Gtk struct.
2767  * An abstract type that specifies an icon.
2768  */
2769 public struct GIcon{}
2770 
2771 
2772 /**
2773  * GIconIface is used to implement GIcon types for various
2774  * different systems. See GThemedIcon and GLoadableIcon for
2775  * examples of how to implement this interface.
2776  * GTypeInterface g_iface;
2777  * The parent interface.
2778  * hash ()
2779  * A hash for a given GIcon.
2780  * equal ()
2781  * Checks if two GIcons are equal.
2782  * to_tokens ()
2783  * Serializes a GIcon into tokens. The tokens must not
2784  * contain any whitespace. Don't implement if the GIcon can't be
2785  * serialized (Since 2.20).
2786  * from_tokens ()
2787  * Constructs a GIcon from tokens. Set the GError if
2788  * the tokens are malformed. Don't implement if the GIcon can't be
2789  * serialized (Since 2.20).
2790  */
2791 public struct GIconIface
2792 {
2793 	GTypeInterface gIface;
2794 	/+* Virtual Table +/
2795 	extern(C) uint function(GIcon* icon)  hash;
2796 	extern(C) int function(GIcon* icon1, GIcon* icon2)  equal;
2797 	extern(C) int function(GIcon* icon, GPtrArray* tokens, int* outVersion)  toTokens;
2798 	extern(C) GIcon * function(char** tokens, int numTokens, int versio, GError** error)  fromTokens;
2799 }
2800 
2801 
2802 /**
2803  * Main Gtk struct.
2804  * Gets an icon for a GFile. Implements GLoadableIcon.
2805  */
2806 public struct GFileIcon{}
2807 
2808 
2809 /**
2810  * Main Gtk struct.
2811  * Generic type for all kinds of icons that can be loaded
2812  * as a stream.
2813  */
2814 public struct GLoadableIcon{}
2815 
2816 
2817 /**
2818  * Interface for icons that can be loaded as a stream.
2819  * GTypeInterface g_iface;
2820  * The parent interface.
2821  * load ()
2822  * Loads an icon.
2823  * load_async ()
2824  * Loads an icon asynchronously.
2825  * load_finish ()
2826  * Finishes an asynchronous icon load.
2827  */
2828 public struct GLoadableIconIface
2829 {
2830 	GTypeInterface gIface;
2831 	/+* Virtual Table +/
2832 	extern(C) GInputStream * function(GLoadableIcon* icon, int size, char** type, GCancellable* cancellable, GError** error)  load;
2833 	extern(C) void function(GLoadableIcon* icon, int size, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  loadAsync;
2834 	extern(C) GInputStream * function(GLoadableIcon* icon, GAsyncResult* res, char** type, GError** error)  loadFinish;
2835 }
2836 
2837 
2838 /**
2839  * Main Gtk struct.
2840  * An implementation of GIcon for themed icons.
2841  */
2842 public struct GThemedIcon{}
2843 
2844 
2845 /**
2846  * Main Gtk struct.
2847  * An implementation of GIcon for icons with emblems.
2848  */
2849 public struct GEmblemedIcon{}
2850 
2851 
2852 /**
2853  * Main Gtk struct.
2854  * An object for Emblems
2855  */
2856 public struct GEmblem{}
2857 
2858 
2859 /**
2860  * Main Gtk struct.
2861  * Interface for initializable objects.
2862  * Since 2.22
2863  */
2864 public struct GInitable{}
2865 
2866 
2867 /**
2868  * Provides an interface for initializing object such that initialization
2869  * may fail.
2870  * GTypeInterface g_iface;
2871  * The parent interface.
2872  * init ()
2873  * Initializes the object.
2874  * Since 2.22
2875  */
2876 public struct GInitableIface
2877 {
2878 	GTypeInterface gIface;
2879 	/+* Virtual Table +/
2880 	extern(C) int function(GInitable* initable, GCancellable* cancellable, GError** error)  init;
2881 }
2882 
2883 
2884 /**
2885  * Main Gtk struct.
2886  * Interface for asynchronously initializable objects.
2887  * Since 2.22
2888  */
2889 public struct GAsyncInitable{}
2890 
2891 
2892 /**
2893  * Provides an interface for asynchronous initializing object such that
2894  * initialization may fail.
2895  * GTypeInterface g_iface;
2896  * The parent interface.
2897  * init_async ()
2898  * Starts initialization of the object.
2899  * init_finish ()
2900  * Finishes initialization of the object.
2901  * Since 2.22
2902  */
2903 public struct GAsyncInitableIface
2904 {
2905 	GTypeInterface gIface;
2906 	/+* Virtual Table +/
2907 	extern(C) void function(GAsyncInitable* initable, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  initAsync;
2908 	extern(C) int function(GAsyncInitable* initable, GAsyncResult* res, GError** error)  initFinish;
2909 }
2910 
2911 
2912 /**
2913  * Main Gtk struct.
2914  * A lowlevel network socket object.
2915  * Since 2.22
2916  */
2917 public struct GSocket{}
2918 
2919 
2920 /**
2921  * Structure used for scatter/gather data input.
2922  * You generally pass in an array of GInputVectors
2923  * and the operation will store the read data starting in the
2924  * first buffer, switching to the next as needed.
2925  * gpointer buffer;
2926  * Pointer to a buffer where data will be written.
2927  * gsize size;
2928  * the available size in buffer.
2929  * Since 2.22
2930  */
2931 public struct GInputVector
2932 {
2933 	void* buffer;
2934 	gsize size;
2935 }
2936 
2937 
2938 /**
2939  * Structure used for scatter/gather data output.
2940  * You generally pass in an array of GOutputVectors
2941  * and the operation will use all the buffers as if they were
2942  * one buffer.
2943  * gconstpointer buffer;
2944  * Pointer to a buffer of data to read.
2945  * gsize size;
2946  * the size of buffer.
2947  * Since 2.22
2948  */
2949 public struct GOutputVector
2950 {
2951 	void* buffer;
2952 	gsize size;
2953 }
2954 
2955 
2956 /**
2957  * Main Gtk struct.
2958  * An IPv4 or IPv6 internet address.
2959  */
2960 public struct GInetAddress{}
2961 
2962 
2963 /**
2964  * Main Gtk struct.
2965  * A socket endpoint address, corresponding to struct sockaddr
2966  * or one of its subtypes.
2967  */
2968 public struct GSocketAddress{}
2969 
2970 
2971 /**
2972  * Main Gtk struct.
2973  * An IPv4 or IPv6 socket address, corresponding to a struct
2974  * sockaddr_in or struct sockaddr_in6.
2975  */
2976 public struct GInetSocketAddress{}
2977 
2978 
2979 /**
2980  * Main Gtk struct.
2981  * A UNIX-domain (local) socket address, corresponding to a
2982  * struct sockaddr_un.
2983  */
2984 public struct GUnixSocketAddress{}
2985 
2986 
2987 /**
2988  * Main Gtk struct.
2989  * Base class for socket-type specific control messages that can be sent and
2990  * received over GSocket.
2991  */
2992 public struct GSocketControlMessage{}
2993 
2994 
2995 /**
2996  * Main Gtk struct.
2997  */
2998 public struct GUnixFDList{}
2999 
3000 
3001 /**
3002  * Main Gtk struct.
3003  */
3004 public struct GUnixFDMessage{}
3005 
3006 
3007 /**
3008  * Main Gtk struct.
3009  * The GCredentials structure contains only private data and
3010  * should only be accessed using the provided API.
3011  * Since 2.26
3012  */
3013 public struct GCredentials{}
3014 
3015 
3016 /**
3017  * Main Gtk struct.
3018  * The GUnixCredentialsMessage structure contains only private data
3019  * and should only be accessed using the provided API.
3020  * Since 2.26
3021  */
3022 public struct GUnixCredentialsMessage{}
3023 
3024 
3025 /**
3026  * Class structure for GUnixCredentialsMessage.
3027  * Since 2.26
3028  */
3029 public struct GUnixCredentialsMessageClass
3030 {
3031 	GSocketControlMessageClass parentClass;
3032 }
3033 
3034 
3035 /**
3036  * Main Gtk struct.
3037  * Interface that handles proxy connection and payload.
3038  * Since 2.26
3039  */
3040 public struct GProxy{}
3041 
3042 
3043 /**
3044  * Provides an interface for handling proxy connection and payload.
3045  * GTypeInterface g_iface;
3046  * The parent interface.
3047  * connect ()
3048  * Connect to proxy server and wrap (if required) the connection
3049  * to handle payload.
3050  * connect_async ()
3051  * Same has connect() but asynchronous.
3052  * connect_finish ()
3053  * Returns the result of connect_async()
3054  * supports_hostname ()
3055  * Since 2.26
3056  */
3057 public struct GProxyInterface
3058 {
3059 	GTypeInterface gIface;
3060 	/+* Virtual Table +/
3061 	extern(C) GIOStream * function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GError** error)  connect;
3062 	extern(C) void function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  connectAsync;
3063 	extern(C) GIOStream * function(GProxy* proxy, GAsyncResult* result, GError** error)  connectFinish;
3064 	extern(C) int function(GProxy* proxy)  supportsHostname;
3065 }
3066 
3067 
3068 /**
3069  * Main Gtk struct.
3070  * A GInetSocketAddress representing a connection via a proxy server
3071  * Since 2.26
3072  */
3073 public struct GProxyAddress{}
3074 
3075 
3076 public struct GProxyAddressClass
3077 {
3078 	GInetSocketAddressClass parentClass;
3079 }
3080 
3081 
3082 /**
3083  * Main Gtk struct.
3084  * A helper class for network servers to listen for and accept connections.
3085  * Since 2.22
3086  */
3087 public struct GSocketClient{}
3088 
3089 
3090 /**
3091  * Main Gtk struct.
3092  * A socket connection GIOStream object for connection-oriented sockets.
3093  * Since 2.22
3094  */
3095 public struct GSocketConnection{}
3096 
3097 
3098 /**
3099  * Main Gtk struct.
3100  */
3101 public struct GUnixConnection{}
3102 
3103 
3104 /**
3105  * Main Gtk struct.
3106  * A GSocketConnection for UNIX domain socket connections.
3107  * Since 2.22
3108  */
3109 public struct GTcpConnection{}
3110 
3111 
3112 /**
3113  * Main Gtk struct.
3114  */
3115 public struct GSocketListener{}
3116 
3117 
3118 /**
3119  * Main Gtk struct.
3120  * A helper class for handling accepting incomming connections in the
3121  * glib mainloop.
3122  * Since 2.22
3123  */
3124 public struct GSocketService{}
3125 
3126 
3127 /**
3128  * Main Gtk struct.
3129  * A helper class for handling accepting incomming connections in the
3130  * glib mainloop and handling them in a thread.
3131  * Since 2.22
3132  */
3133 public struct GThreadedSocketService{}
3134 
3135 
3136 /**
3137  * Main Gtk struct.
3138  * Abstract base class for TLS certificate types.
3139  * Since 2.28
3140  */
3141 public struct GTlsCertificate{}
3142 
3143 
3144 /**
3145  * Main Gtk struct.
3146  * TLS connection. This is an abstract type that will be subclassed by
3147  * a TLS-library-specific subtype.
3148  * Since 2.28
3149  */
3150 public struct GTlsConnection{}
3151 
3152 
3153 /**
3154  * Main Gtk struct.
3155  * TLS client-side connection; the client-side implementation of a
3156  * GTlsConnection
3157  * Since 2.28
3158  */
3159 public struct GTlsClientConnection{}
3160 
3161 
3162 public struct GTlsClientConnectionInterface
3163 {
3164 	GTypeInterface gIface;
3165 }
3166 
3167 
3168 /**
3169  * Main Gtk struct.
3170  * TLS server-side connection. This is the server-side implementation
3171  * of a GTlsConnection.
3172  * Since 2.28
3173  */
3174 public struct GTlsServerConnection{}
3175 
3176 
3177 public struct GTlsServerConnectionInterface
3178 {
3179 	GTypeInterface gIface;
3180 }
3181 
3182 
3183 /**
3184  * Main Gtk struct.
3185  * Type implemented by TLS GIOModules to provide access to additional
3186  * TLS-related types.
3187  * Since 2.28
3188  */
3189 public struct GTlsBackend{}
3190 
3191 
3192 /**
3193  * Provides an interface for describing TLS-related types.
3194  * GTypeInterface g_iface;
3195  * The parent interface.
3196  * supports_tls ()
3197  * get_certificate_type ()
3198  * returns the GTlsCertificate implementation type
3199  * get_client_connection_type ()
3200  * returns the GTlsClientConnection implementation type
3201  * get_server_connection_type ()
3202  * returns the GTlsServerConnection implementation type
3203  * Since 2.28
3204  */
3205 public struct GTlsBackendInterface
3206 {
3207 	GTypeInterface gIface;
3208 	/+* methods +/
3209 	extern(C) int function(GTlsBackend* backend) supportsTls;
3210 	extern(C) GType function() getCertificateType;
3211 	extern(C) GType function() getClientConnectionType;
3212 	extern(C) GType function() getServerConnectionType;
3213 }
3214 
3215 
3216 /**
3217  * Main Gtk struct.
3218  * The object that handles DNS resolution. Use g_resolver_get_default()
3219  * to get the default resolver.
3220  */
3221 public struct GResolver{}
3222 
3223 
3224 /**
3225  * Main Gtk struct.
3226  * Interface that can be used to resolve proxy address.
3227  * Since 2.26
3228  */
3229 public struct GProxyResolver{}
3230 
3231 
3232 public struct GProxyResolverInterface
3233 {
3234 	GTypeInterface gIface;
3235 	/+* Virtual Table +/
3236 	extern(C) int function(GProxyResolver* resolver)  isSupported;
3237 	extern(C) char ** function(GProxyResolver* resolver, char* uri, GCancellable* cancellable, GError** error)  lookup;
3238 	extern(C) void function(GProxyResolver* resolver, char* uri, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData)  lookupAsync;
3239 	extern(C) char ** function(GProxyResolver* resolver, GAsyncResult* result, GError** error)  lookupFinish;
3240 }
3241 
3242 
3243 /**
3244  * Main Gtk struct.
3245  * Interface for objects that contain or generate GSocketAddresses.
3246  */
3247 public struct GSocketConnectable{}
3248 
3249 
3250 /**
3251  * Provides an interface for returning a GSocketAddressEnumerator
3252  * and GProxyAddressEnumerator
3253  * GTypeInterface g_iface;
3254  * The parent interface.
3255  * enumerate ()
3256  * Creates a GSocketAddressEnumerator
3257  * proxy_enumerate ()
3258  * Creates a GProxyAddressEnumerator
3259  */
3260 public struct GSocketConnectableIface
3261 {
3262 	GTypeInterface gIface;
3263 	/+* Virtual Table +/
3264 	extern(C) GSocketAddressEnumerator * function(GSocketConnectable* connectable)  enumerate;
3265 	extern(C) GSocketAddressEnumerator * function(GSocketConnectable* connectable)  proxyEnumerate;
3266 }
3267 
3268 
3269 /**
3270  * Enumerator type for objects that contain or generate
3271  * GSocketAddresses.
3272  */
3273 public struct GSocketAddressEnumerator{}
3274 
3275 
3276 /**
3277  * A subclass of GSocketAddressEnumerator that takes another address
3278  * enumerator and wraps its results in GProxyAddresses as
3279  * directed by the default GProxyResolver.
3280  * Property Details
3281  * The "connectable" property
3282  */
3283 public struct GProxyAddressEnumerator{}
3284 
3285 
3286 /**
3287  * Main Gtk struct.
3288  * A GSocketConnectable for resolving a hostname and connecting to
3289  * that host.
3290  */
3291 public struct GNetworkAddress{}
3292 
3293 
3294 /**
3295  * Main Gtk struct.
3296  * A GSocketConnectable for resolving a SRV record and connecting to
3297  * that service.
3298  */
3299 public struct GNetworkService{}
3300 
3301 
3302 /**
3303  * Main Gtk struct.
3304  * A single target host/port that a network service is running on.
3305  */
3306 public struct GSrvTarget{}
3307 
3308 
3309 /**
3310  * Information about an annotation.
3311  * volatile gint ref_count;
3312  * The reference count or -1 if statically allocated.
3313  * gchar *key;
3314  * The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated".
3315  * gchar *value;
3316  * The value of the annotation.
3317  * GDBusAnnotationInfo **annotations;
3318  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3319  * Since 2.26
3320  */
3321 public struct GDBusAnnotationInfo
3322 {
3323 	int refCount;
3324 	char *key;
3325 	char *value;
3326 	GDBusAnnotationInfo **annotations;
3327 }
3328 
3329 
3330 /**
3331  * Information about an argument for a method or a signal.
3332  * volatile gint ref_count;
3333  * The reference count or -1 if statically allocated.
3334  * gchar *name;
3335  * Name of the argument, e.g. unix_user_id.
3336  * gchar *signature;
3337  * D-Bus signature of the argument (a single complete type).
3338  * GDBusAnnotationInfo **annotations;
3339  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3340  * Since 2.26
3341  */
3342 public struct GDBusArgInfo
3343 {
3344 	int refCount;
3345 	char *name;
3346 	char *signature;
3347 	GDBusAnnotationInfo **annotations;
3348 }
3349 
3350 
3351 /**
3352  * Information about a method on an D-Bus interface.
3353  * volatile gint ref_count;
3354  * The reference count or -1 if statically allocated.
3355  * gchar *name;
3356  * The name of the D-Bus method, e.g. RequestName.
3357  * GDBusArgInfo **in_args;
3358  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no in arguments.
3359  * GDBusArgInfo **out_args;
3360  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no out arguments.
3361  * GDBusAnnotationInfo **annotations;
3362  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3363  * Since 2.26
3364  */
3365 public struct GDBusMethodInfo
3366 {
3367 	int refCount;
3368 	char *name;
3369 	GDBusArgInfo **inArgs;
3370 	GDBusArgInfo **outArgs;
3371 	GDBusAnnotationInfo **annotations;
3372 }
3373 
3374 
3375 /**
3376  * Information about a signal on a D-Bus interface.
3377  * volatile gint ref_count;
3378  * The reference count or -1 if statically allocated.
3379  * gchar *name;
3380  * The name of the D-Bus signal, e.g. "NameOwnerChanged".
3381  * GDBusArgInfo **args;
3382  * A pointer to a NULL-terminated array of pointers to GDBusArgInfo structures or NULL if there are no arguments.
3383  * GDBusAnnotationInfo **annotations;
3384  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3385  * Since 2.26
3386  */
3387 public struct GDBusSignalInfo
3388 {
3389 	int refCount;
3390 	char *name;
3391 	GDBusArgInfo **args;
3392 	GDBusAnnotationInfo **annotations;
3393 }
3394 
3395 
3396 /**
3397  * Information about a D-Bus property on a D-Bus interface.
3398  * volatile gint ref_count;
3399  * The reference count or -1 if statically allocated.
3400  * gchar *name;
3401  * The name of the D-Bus property, e.g. "SupportedFilesystems".
3402  * gchar *signature;
3403  * The D-Bus signature of the property (a single complete type).
3404  * GDBusPropertyInfoFlags flags;
3405  * Access control flags for the property.
3406  * GDBusAnnotationInfo **annotations;
3407  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3408  * Since 2.26
3409  */
3410 public struct GDBusPropertyInfo
3411 {
3412 	int refCount;
3413 	char *name;
3414 	char *signature;
3415 	GDBusPropertyInfoFlags flags;
3416 	GDBusAnnotationInfo **annotations;
3417 }
3418 
3419 
3420 /**
3421  * Information about a D-Bus interface.
3422  * Since 2.26
3423  */
3424 public struct GDBusInterfaceInfo{}
3425 
3426 
3427 /**
3428  * Information about nodes in a remote object hierarchy.
3429  * volatile gint ref_count;
3430  * The reference count or -1 if statically allocated.
3431  * gchar *path;
3432  * 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.
3433  * GDBusInterfaceInfo **interfaces;
3434  * A pointer to a NULL-terminated array of pointers to GDBusInterfaceInfo structures or NULL if there are no interfaces.
3435  * GDBusNodeInfo **nodes;
3436  * A pointer to a NULL-terminated array of pointers to GDBusNodeInfo structures or NULL if there are no nodes.
3437  * GDBusAnnotationInfo **annotations;
3438  * A pointer to a NULL-terminated array of pointers to GDBusAnnotationInfo structures or NULL if there are no annotations.
3439  * Since 2.26
3440  */
3441 public struct GDBusNodeInfo
3442 {
3443 	int refCount;
3444 	char *path;
3445 	GDBusInterfaceInfo **interfaces;
3446 	GDBusNodeInfo **nodes;
3447 	GDBusAnnotationInfo **annotations;
3448 }
3449 
3450 
3451 /**
3452  * Struct used in g_dbus_error_register_error_domain().
3453  * gint error_code;
3454  * An error code.
3455  * const gchar *dbus_error_name;
3456  * The D-Bus error name to associate with error_code.
3457  * Since 2.26
3458  */
3459 public struct GDBusErrorEntry
3460 {
3461 	int errorCode;
3462 	char *dbusErrorName;
3463 }
3464 
3465 
3466 /**
3467  * Main Gtk struct.
3468  * The GDBusMessage structure contains only private data and should
3469  * only be accessed using the provided API.
3470  * Since 2.26
3471  */
3472 public struct GDBusMessage{}
3473 
3474 
3475 /**
3476  * Main Gtk struct.
3477  * The GDBusConnection structure contains only private data and
3478  * should only be accessed using the provided API.
3479  * Since 2.26
3480  */
3481 public struct GDBusConnection{}
3482 
3483 
3484 /**
3485  * Virtual table for handling properties and method calls for a D-Bus
3486  * interface.
3487  * If you want to handle getting/setting D-Bus properties asynchronously, simply
3488  * register an object with the org.freedesktop.DBus.Properties
3489  * D-Bus interface using g_dbus_connection_register_object().
3490  * GDBusInterfaceMethodCallFunc method_call;
3491  * Function for handling incoming method calls.
3492  * GDBusInterfaceGetPropertyFunc get_property;
3493  * Function for getting a property.
3494  * GDBusInterfaceSetPropertyFunc set_property;
3495  * Function for setting a property.
3496  * Since 2.26
3497  */
3498 public struct GDBusInterfaceVTable
3499 {
3500 	GDBusInterfaceMethodCallFunc methodCall;
3501 	GDBusInterfaceGetPropertyFunc getProperty;
3502 	GDBusInterfaceSetPropertyFunc setProperty;
3503 }
3504 
3505 
3506 /**
3507  * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
3508  * GDBusSubtreeEnumerateFunc enumerate;
3509  * Function for enumerating child nodes.
3510  * GDBusSubtreeIntrospectFunc introspect;
3511  * Function for introspecting a child node.
3512  * GDBusSubtreeDispatchFunc dispatch;
3513  * Function for dispatching a remote call on a child node.
3514  * Since 2.26
3515  */
3516 public struct GDBusSubtreeVTable
3517 {
3518 	GDBusSubtreeEnumerateFunc enumerate;
3519 	GDBusSubtreeIntrospectFunc introspect;
3520 	GDBusSubtreeDispatchFunc dispatch;
3521 }
3522 
3523 
3524 /**
3525  * Main Gtk struct.
3526  * The GDBusMethodInvocation structure contains only private data and
3527  * should only be accessed using the provided API.
3528  * Since 2.26
3529  */
3530 public struct GDBusMethodInvocation{}
3531 
3532 
3533 /**
3534  * Main Gtk struct.
3535  * The GDBusServer structure contains only private data and
3536  * should only be accessed using the provided API.
3537  * Since 2.26
3538  */
3539 public struct GDBusServer{}
3540 
3541 
3542 /**
3543  * Main Gtk struct.
3544  * The GDBusAuthObserver structure contains only private data and
3545  * should only be accessed using the provided API.
3546  * Since 2.26
3547  */
3548 public struct GDBusAuthObserver{}
3549 
3550 
3551 /**
3552  * Main Gtk struct.
3553  * The GDBusProxy structure contains only private data and
3554  * should only be accessed using the provided API.
3555  * Since 2.26
3556  */
3557 public struct GDBusProxy{}
3558 
3559 
3560 /**
3561  * Class structure for GDBusProxy.
3562  * g_properties_changed ()
3563  * Signal class handler for the "g-properties-changed" signal.
3564  * g_signal ()
3565  * Signal class handler for the "g-signal" signal.
3566  * Since 2.26
3567  */
3568 public struct GDBusProxyClass
3569 {
3570 	/+* Signals +/
3571 	extern(C) void function(GDBusProxy* proxy, GVariant* changedProperties, char** invalidatedProperties) gPropertiesChanged;
3572 	extern(C) void function(GDBusProxy* proxy, char* senderName, char* signalName, GVariant* parameters) gSignal;
3573 }
3574 
3575 
3576 /**
3577  * Main Gtk struct.
3578  * Completes filenames based on files that exist within the file system.
3579  */
3580 public struct GFilenameCompleter{}
3581 
3582 
3583 /**
3584  * Main Gtk struct.
3585  */
3586 public struct GSettings{}
3587 
3588 
3589 /**
3590  * Main Gtk struct.
3591  * An implementation of a settings storage repository.
3592  */
3593 public struct GSettingsBackend{}
3594 
3595 
3596 public struct GSettingsBackendClass
3597 {
3598 	GObjectClass parentClass;
3599 	extern(C) GVariant * function(GSettingsBackend* backend, char* key, GVariantType* expectedType, int defaultValue) read;
3600 	extern(C) int function(GSettingsBackend* backend, char* key) getWritable;
3601 	extern(C) int function(GSettingsBackend* backend, char* key, GVariant* value, void* originTag) write;
3602 	extern(C) int function(GSettingsBackend* backend, GTree* tree, void* originTag) writeTree;
3603 	extern(C) void function(GSettingsBackend* backend, char* key, void* originTag) reset;
3604 	extern(C) void function(GSettingsBackend* backend, char* name) subscribe;
3605 	extern(C) void function(GSettingsBackend* backend, char* name) unsubscribe;
3606 	extern(C) void function(GSettingsBackend* backend) sync;
3607 	extern(C) GPermission * function(GSettingsBackend* backend, char* path) getPermission;
3608 	void* padding[24];
3609 }
3610 
3611 
3612 /**
3613  * Main Gtk struct.
3614  * GPermission is an opaque data structure and can only be accessed
3615  * using the following functions.
3616  */
3617 public struct GPermission{}
3618 
3619 
3620 /**
3621  * Main Gtk struct.
3622  * GSimplePermission is an opaque data structure. There are no methods
3623  * except for those defined by GPermission.
3624  */
3625 public struct GSimplePermission{}
3626 
3627 
3628 /**
3629  * Main Gtk struct.
3630  */
3631 public struct GActionGroup{}
3632 
3633 
3634 /**
3635  * Main Gtk struct.
3636  * The GSimpleActionGroup structure contains private data and should only be accessed using the provided API.
3637  * Since 2.28
3638  */
3639 public struct GSimpleActionGroup{}
3640 
3641 
3642 /**
3643  * Main Gtk struct.
3644  */
3645 public struct GAction{}
3646 
3647 
3648 /**
3649  * Main Gtk struct.
3650  * The GSimpleAction structure contains private
3651  * data and should only be accessed using the provided API
3652  * Since 2.28
3653  */
3654 public struct GSimpleAction{}
3655 
3656 
3657 /**
3658  * GObjectClass parent_class;
3659  * activate ()
3660  * the class closure for the activate signal
3661  * Since 2.28
3662  */
3663 public struct GSimpleActionClass
3664 {
3665 	GObjectClass parentClass;
3666 	/+* signals +/
3667 	extern(C) void function(GSimpleAction* simple, GVariant* parameter)  activate;
3668 }
3669 
3670 
3671 /**
3672  * Main Gtk struct.
3673  * The GApplication structure contains private
3674  * data and should only be accessed using the provided API
3675  * Since 2.28
3676  */
3677 public struct GApplication{}
3678 
3679 
3680 /**
3681  * startup ()
3682  * invoked on the primary instance immediately after registration
3683  * activate ()
3684  * invoked on the primary instance when an activation occurs
3685  * open ()
3686  * invoked on the primary instance when there are files to open
3687  * command_line ()
3688  * invoked on the primary instance when a command-line is
3689  * not handled locally
3690  * local_command_line ()
3691  * invoked (locally) when the process has been invoked
3692  * via commandline execution. The virtual function has the chance to
3693  * inspect (and possibly replace) the list of command line arguments.
3694  * See g_application_run() for more information.
3695  * before_emit ()
3696  * invoked on the primary instance before 'activate', 'open',
3697  * 'command-line' or any action invocation, gets the 'platform data' from
3698  * the calling instance
3699  * after_emit ()
3700  * invoked on the primary instance after 'activate', 'open',
3701  * 'command-line' or any action invocation, gets the 'platform data' from
3702  * the calling instance
3703  * add_platform_data ()
3704  * invoked (locally) to add 'platform data' to be sent to
3705  * the primary instance when activating, opening or invoking actions
3706  * quit_mainloop ()
3707  * invoked on the primary instance when the use count of the
3708  * application drops to zero (and after any inactivity timeout, if
3709  * requested)
3710  * run_mainloop ()
3711  * invoked on the primary instance from g_application_run()
3712  * if the use-count is non-zero
3713  * Since 2.28
3714  */
3715 public struct GApplicationClass
3716 {
3717 	/+* signals +/
3718 	extern(C) void function(GApplication* application)  startup;
3719 	extern(C) void function(GApplication* application)  activate;
3720 	extern(C) void function(GApplication* application, GFile** files, int nFiles, char* hint)  open;
3721 	extern(C) int function(GApplication* application, GApplicationCommandLine* commandLine)  commandLine;
3722 	/+* vfuncs +/
3723 	extern(C) int function(GApplication* application, char*** arguments, int* exitStatus)  localCommandLine;
3724 	extern(C) void function(GApplication* application, GVariant* platformData)  beforeEmit;
3725 	extern(C) void function(GApplication* application, GVariant* platformData)  afterEmit;
3726 	extern(C) void function(GApplication* application, GVariantBuilder* builder)  addPlatformData;
3727 	extern(C) void function(GApplication* application)  quitMainloop;
3728 	extern(C) void function(GApplication* application)  runMainloop;
3729 }
3730 
3731 
3732 /**
3733  * Main Gtk struct.
3734  * The GApplicationCommandLine structure contains private
3735  * data and should only be accessed using the provided API
3736  * Since 2.28
3737  */
3738 public struct GApplicationCommandLine{}
3739 
3740 
3741 /**
3742  * The GApplicationCommandLineClass structure contains
3743  * private data only
3744  * Since 2.28
3745  */
3746 public struct GApplicationCommandLineClass{}
3747 
3748 
3749 /**
3750  * Main Gtk struct.
3751  * Virtual File System object.
3752  */
3753 public struct GVfs{}
3754 
3755 
3756 /**
3757  * Main Gtk struct.
3758  * Opaque module base class for extending GIO.
3759  */
3760 public struct GIOModule{}
3761 
3762 
3763 /**
3764  * Main Gtk struct.
3765  */
3766 public struct GIOExtension{}
3767 
3768 
3769 public struct GIOExtensionPoint{}
3770 
3771 
3772 /*
3773  * When doing file operations that may take a while, such as moving
3774  * a file or copying a file, a progress callback is used to pass how
3775  * far along that operation is to the application.
3776  * current_num_bytes :
3777  * the current number of bytes in the operation.
3778  * total_num_bytes :
3779  * the total number of bytes in the operation.
3780  * user_data :
3781  * user data passed to the callback.
3782  */
3783 // void (*GFileProgressCallback) (goffset current_num_bytes,  goffset total_num_bytes,  gpointer user_data);
3784 public alias extern(C) void function(long currentNumBytes, long totalNumBytes, void* userData) GFileProgressCallback;
3785 
3786 /*
3787  * When loading the partial contents of a file with g_file_load_partial_contents_async(),
3788  * it may become necessary to determine if any more data from the file should be loaded.
3789  * A GFileReadMoreCallback function facilitates this by returning TRUE if more data
3790  * should be read, or FALSE otherwise.
3791  * file_contents :
3792  * the data as currently read.
3793  * file_size :
3794  * the size of the data currently read.
3795  * callback_data :
3796  * data passed to the callback.
3797  * Returns :
3798  * TRUE if more data should be read back. FALSE otherwise.
3799  */
3800 // gboolean (*GFileReadMoreCallback) (const char *file_contents,  goffset file_size,  gpointer callback_data);
3801 public alias extern(C) int function(char* fileContents, long fileSize, void* callbackData) GFileReadMoreCallback;
3802 
3803 /*
3804  * This is the function type of the callback used for the GSource
3805  * returned by g_cancellable_source_new().
3806  * cancellable :
3807  * the GCancellable
3808  * user_data :
3809  * data passed in by the user.
3810  * Returns :
3811  * it should return FALSE if the source should be removed.
3812  * Since 2.28
3813  */
3814 // gboolean (*GCancellableSourceFunc) (GCancellable *cancellable,  gpointer user_data);
3815 public alias extern(C) int function(GCancellable* cancellable, void* userData) GCancellableSourceFunc;
3816 
3817 /*
3818  * Type definition for a function that will be called back when an asynchronous
3819  * operation within GIO has been completed.
3820  * source_object :
3821  * the object the asynchronous operation was started with.
3822  * res :
3823  * a GAsyncResult.
3824  * user_data :
3825  * user data passed to the callback.
3826  */
3827 // void (*GAsyncReadyCallback) (GObject *source_object,  GAsyncResult *res,  gpointer user_data);
3828 public alias extern(C) void function(GObject* sourceObject, GAsyncResult* res, void* userData) GAsyncReadyCallback;
3829 
3830 /*
3831  * I/O Job function.
3832  * Note that depending on whether threads are available, the
3833  * GIOScheduler may run jobs in separate threads or in an idle
3834  * in the mainloop.
3835  * Long-running jobs should periodically check the cancellable
3836  * to see if they have been cancelled.
3837  * job :
3838  * a GIOSchedulerJob.
3839  * cancellable :
3840  * optional GCancellable object, NULL to ignore.
3841  * user_data :
3842  * the data to pass to callback function
3843  * Returns :
3844  * TRUE if this function should be called again to
3845  * complete the job, FALSE if the job is complete (or cancelled)
3846  */
3847 // gboolean (*GIOSchedulerJobFunc) (GIOSchedulerJob *job,  GCancellable *cancellable,  gpointer user_data);
3848 public alias extern(C) int function(GIOSchedulerJob* job, GCancellable* cancellable, void* userData) GIOSchedulerJobFunc;
3849 
3850 /*
3851  * Simple thread function that runs an asynchronous operation and
3852  * checks for cancellation.
3853  * res :
3854  * a GSimpleAsyncResult.
3855  * object :
3856  * a GObject.
3857  * cancellable :
3858  * optional GCancellable object, NULL to ignore.
3859  */
3860 // void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res,  GObject *object,  GCancellable *cancellable);
3861 public alias extern(C) void function(GSimpleAsyncResult* res, GObject* object, GCancellable* cancellable) GSimpleAsyncThreadFunc;
3862 
3863 /*
3864  * Changes the size of the memory block pointed to by data to
3865  * size bytes.
3866  * The function should have the same semantics as realloc().
3867  * data :
3868  * memory block to reallocate
3869  * size :
3870  * size to reallocate data to
3871  * Returns :
3872  * a pointer to the reallocated memory
3873  */
3874 // gpointer (*GReallocFunc) (gpointer data,  gsize size);
3875 public alias extern(C) void* function(void* data, gsize size) GReallocFunc;
3876 
3877 /*
3878  * This is the function type of the callback used for the GSource
3879  * returned by g_pollable_input_stream_create_source() and
3880  * g_pollable_output_stream_create_source().
3881  * pollable_stream :
3882  * the GPollableInputStream or GPollableOutputStream
3883  * user_data :
3884  * data passed in by the user.
3885  * Returns :
3886  * it should return FALSE if the source should be removed.
3887  * Since 2.28
3888  */
3889 // gboolean (*GPollableSourceFunc) (GObject *pollable_stream,  gpointer user_data);
3890 public alias extern(C) int function(GObject* pollableStream, void* userData) GPollableSourceFunc;
3891 
3892 /*
3893  * This is the function type of the callback used for the GSource
3894  * returned by g_socket_create_source().
3895  * socket :
3896  * the GSocket
3897  * condition :
3898  * the current condition at the source fired.
3899  * user_data :
3900  * data passed in by the user.
3901  * Returns :
3902  * it should return FALSE if the source should be removed.
3903  * Since 2.22
3904  */
3905 // gboolean (*GSocketSourceFunc) (GSocket *socket,  GIOCondition condition,  gpointer user_data);
3906 public alias extern(C) int function(GSocket* socket, GIOCondition condition, void* userData) GSocketSourceFunc;
3907 
3908 /*
3909  * Signature for callback function used in g_dbus_connection_signal_subscribe().
3910  * connection :
3911  * A GDBusConnection.
3912  * sender_name :
3913  * The unique bus name of the sender of the signal.
3914  * object_path :
3915  * The object path that the signal was emitted on.
3916  * interface_name :
3917  * The name of the interface.
3918  * signal_name :
3919  * The name of the signal.
3920  * parameters :
3921  * A GVariant tuple with parameters for the signal.
3922  * user_data :
3923  * User data passed when subscribing to the signal.
3924  * Since 2.26
3925  */
3926 // 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);
3927 public alias extern(C) void function(GDBusConnection* connection, char* senderName, char* objectPath, char* interfaceName, char* signalName, GVariant* parameters, void* userData) GDBusSignalCallback;
3928 
3929 /*
3930  * Signature for function used in g_dbus_connection_add_filter().
3931  * A filter function is passed a GDBusMessage and expected to return
3932  * a GDBusMessage too. Passive filter functions that don't modify the
3933  * message can simply return the message object:
3934  * $(DDOC_COMMENT example)
3935  * Filter functions that wants to drop a message can simply return NULL:
3936  * $(DDOC_COMMENT example)
3937  * Finally, a filter function may modify a message by copying it:
3938  * $(DDOC_COMMENT example)
3939  * If the returned GDBusMessage is different from message and cannot
3940  * be sent on connection (it could use features, such as file
3941  * descriptors, not compatible with connection), then a warning is
3942  * logged to standard error. Applications can
3943  * check this ahead of time using g_dbus_message_to_blob() passing a
3944  * GDBusCapabilityFlags value obtained from connection.
3945  * connection :
3946  * A GDBusConnection. [transfer none]
3947  * message :
3948  * A locked GDBusMessage that the filter function takes ownership of. [transfer full]
3949  * incoming :
3950  * TRUE if it is a message received from the other peer, FALSE if it is
3951  * a message to be sent to the other peer.
3952  * user_data :
3953  * User data passed when adding the filter.
3954  * Returns :
3955  * A GDBusMessage that will be freed with
3956  * g_object_unref() or NULL to drop the message. Passive filter
3957  * functions can simply return the passed message object. [transfer full][allow-none]
3958  * Since 2.26
3959  */
3960 // GDBusMessage * (*GDBusMessageFilterFunction) (GDBusConnection *connection,  GDBusMessage *message,  gboolean incoming,  gpointer user_data);
3961 public alias extern(C) GDBusMessage * function(GDBusConnection* connection, GDBusMessage* message, int incoming, void* userData) GDBusMessageFilterFunction;
3962 
3963 /*
3964  * The type of the method_call function in GDBusInterfaceVTable.
3965  * connection :
3966  * A GDBusConnection.
3967  * sender :
3968  * The unique bus name of the remote caller.
3969  * object_path :
3970  * The object path that the method was invoked on.
3971  * interface_name :
3972  * The D-Bus interface name the method was invoked on.
3973  * method_name :
3974  * The name of the method that was invoked.
3975  * parameters :
3976  * A GVariant tuple with parameters.
3977  * invocation :
3978  * A GDBusMethodInvocation object that can be used to return a value or error.
3979  * user_data :
3980  * The user_data gpointer passed to g_dbus_connection_register_object().
3981  * Since 2.26
3982  */
3983 // 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);
3984 public alias extern(C) void function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* methodName, GVariant* parameters, GDBusMethodInvocation* invocation, void* userData) GDBusInterfaceMethodCallFunc;
3985 
3986 /*
3987  * The type of the get_property function in GDBusInterfaceVTable.
3988  * connection :
3989  * A GDBusConnection.
3990  * sender :
3991  * The unique bus name of the remote caller.
3992  * object_path :
3993  * The object path that the method was invoked on.
3994  * interface_name :
3995  * The D-Bus interface name for the property.
3996  * property_name :
3997  * The name of the property to get the value of.
3998  * error :
3999  * Return location for error.
4000  * user_data :
4001  * The user_data gpointer passed to g_dbus_connection_register_object().
4002  * Returns :
4003  * A GVariant with the value for property_name or NULL if
4004  * error is set. If the returned GVariant is floating, it is
4005  * consumed - otherwise its reference count is decreased by one.
4006  * Since 2.26
4007  */
4008 // GVariant * (*GDBusInterfaceGetPropertyFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *interface_name,  const gchar *property_name,  GError **error,  gpointer user_data);
4009 public alias extern(C) GVariant * function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* propertyName, GError** error, void* userData) GDBusInterfaceGetPropertyFunc;
4010 
4011 /*
4012  * The type of the set_property function in GDBusInterfaceVTable.
4013  * connection :
4014  * A GDBusConnection.
4015  * sender :
4016  * The unique bus name of the remote caller.
4017  * object_path :
4018  * The object path that the method was invoked on.
4019  * interface_name :
4020  * The D-Bus interface name for the property.
4021  * property_name :
4022  * The name of the property to get the value of.
4023  * value :
4024  * The value to set the property to.
4025  * error :
4026  * Return location for error.
4027  * user_data :
4028  * The user_data gpointer passed to g_dbus_connection_register_object().
4029  * Returns :
4030  * TRUE if the property was set to value, FALSE if error is set.
4031  * Since 2.26
4032  */
4033 // 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);
4034 public alias extern(C) int function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* propertyName, GVariant* value, GError** error, void* userData) GDBusInterfaceSetPropertyFunc;
4035 
4036 /*
4037  * The type of the enumerate function in GDBusSubtreeVTable.
4038  * This function is called when generating introspection data and also
4039  * when preparing to dispatch incoming messages in the event that the
4040  * G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not
4041  * specified (ie: to verify that the object path is valid).
4042  * Hierarchies are not supported; the items that you return should not
4043  * contain the '/' character.
4044  * The return value will be freed with g_strfreev().
4045  * connection :
4046  * A GDBusConnection.
4047  * sender :
4048  * The unique bus name of the remote caller.
4049  * object_path :
4050  * The object path that was registered with g_dbus_connection_register_subtree().
4051  * user_data :
4052  * The user_data gpointer passed to g_dbus_connection_register_subtree().
4053  * Returns :
4054  * A newly allocated array of strings for node names that are children of object_path.
4055  * Since 2.26
4056  */
4057 // gchar ** (*GDBusSubtreeEnumerateFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  gpointer user_data);
4058 public alias extern(C) char ** function(GDBusConnection* connection, char* sender, char* objectPath, void* userData) GDBusSubtreeEnumerateFunc;
4059 
4060 /*
4061  * The type of the introspect function in GDBusSubtreeVTable.
4062  * Subtrees are flat. node, if non-NULL, is always exactly one
4063  * segment of the object path (ie: it never contains a slash).
4064  * This function should return NULL to indicate that there is no object
4065  * at this node.
4066  * If this function returns non-NULL, the return value is expected to
4067  * be a NULL-terminated array of pointers to GDBusInterfaceInfo
4068  * structures describing the interfaces implemented by node. This
4069  * array will have g_dbus_interface_info_unref() called on each item
4070  * before being freed with g_free().
4071  * The difference between returning NULL and an array containing zero
4072  * items is that the standard DBus interfaces will returned to the
4073  * remote introspector in the empty array case, but not in the NULL
4074  * case.
4075  * connection :
4076  * A GDBusConnection.
4077  * sender :
4078  * The unique bus name of the remote caller.
4079  * object_path :
4080  * The object path that was registered with g_dbus_connection_register_subtree().
4081  * node :
4082  * A node that is a child of object_path (relative to object_path) or NULL for the root of the subtree.
4083  * user_data :
4084  * The user_data gpointer passed to g_dbus_connection_register_subtree().
4085  * Returns :
4086  * A NULL-terminated array of pointers to GDBusInterfaceInfo, or NULL.
4087  * Since 2.26
4088  */
4089 // GDBusInterfaceInfo ** (*GDBusSubtreeIntrospectFunc) (GDBusConnection *connection,  const gchar *sender,  const gchar *object_path,  const gchar *node,  gpointer user_data);
4090 public alias extern(C) GDBusInterfaceInfo ** function(GDBusConnection* connection, char* sender, char* objectPath, char* node, void* userData) GDBusSubtreeIntrospectFunc;
4091 
4092 /*
4093  * The type of the dispatch function in GDBusSubtreeVTable.
4094  * Subtrees are flat. node, if non-NULL, is always exactly one
4095  * segment of the object path (ie: it never contains a slash).
4096  * connection :
4097  * A GDBusConnection.
4098  * sender :
4099  * The unique bus name of the remote caller.
4100  * object_path :
4101  * The object path that was registered with g_dbus_connection_register_subtree().
4102  * interface_name :
4103  * The D-Bus interface name that the method call or property access is for.
4104  * node :
4105  * A node that is a child of object_path (relative to object_path) or NULL for the root of the subtree.
4106  * out_user_data :
4107  * Return location for user data to pass to functions in the returned GDBusInterfaceVTable (never NULL).
4108  * user_data :
4109  * The user_data gpointer passed to g_dbus_connection_register_subtree().
4110  * Returns :
4111  * A GDBusInterfaceVTable or NULL if you don't want to handle the methods.
4112  * Since 2.26
4113  */
4114 // 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);
4115 public alias extern(C) GDBusInterfaceVTable * function(GDBusConnection* connection, char* sender, char* objectPath, char* interfaceName, char* node, gpointer* outUserData, void* userData) GDBusSubtreeDispatchFunc;
4116 
4117 /*
4118  * Invoked when a connection to a message bus has been obtained.
4119  * connection :
4120  * The GDBusConnection to a message bus.
4121  * name :
4122  * The name that is requested to be owned.
4123  * user_data :
4124  * User data passed to g_bus_own_name().
4125  * Since 2.26
4126  */
4127 // void (*GBusAcquiredCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
4128 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusAcquiredCallback;
4129 
4130 /*
4131  * Invoked when the name is acquired.
4132  * connection :
4133  * The GDBusConnection on which to acquired the name.
4134  * name :
4135  * The name being owned.
4136  * user_data :
4137  * User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
4138  * Since 2.26
4139  */
4140 // void (*GBusNameAcquiredCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
4141 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameAcquiredCallback;
4142 
4143 /*
4144  * Invoked when the name is lost or connection has been closed.
4145  * connection :
4146  * The GDBusConnection on which to acquire the name or NULL if
4147  * the connection was disconnected.
4148  * name :
4149  * The name being owned.
4150  * user_data :
4151  * User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
4152  * Since 2.26
4153  */
4154 // void (*GBusNameLostCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
4155 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameLostCallback;
4156 
4157 /*
4158  * Invoked when the name being watched is known to have to have a owner.
4159  * connection :
4160  * The GDBusConnection the name is being watched on.
4161  * name :
4162  * The name being watched.
4163  * name_owner :
4164  * Unique name of the owner of the name being watched.
4165  * user_data :
4166  * User data passed to g_bus_watch_name().
4167  * Since 2.26
4168  */
4169 // void (*GBusNameAppearedCallback) (GDBusConnection *connection,  const gchar *name,  const gchar *name_owner,  gpointer user_data);
4170 public alias extern(C) void function(GDBusConnection* connection, char* name, char* nameOwner, void* userData) GBusNameAppearedCallback;
4171 
4172 /*
4173  * Invoked when the name being watched is known not to have to have a owner.
4174  * connection :
4175  * The GDBusConnection the name is being watched on.
4176  * name :
4177  * The name being watched.
4178  * user_data :
4179  * User data passed to g_bus_watch_name().
4180  * Since 2.26
4181  */
4182 // void (*GBusNameVanishedCallback) (GDBusConnection *connection,  const gchar *name,  gpointer user_data);
4183 public alias extern(C) void function(GDBusConnection* connection, char* name, void* userData) GBusNameVanishedCallback;
4184 
4185 /*
4186  * The type of the function that is used to convert from a value stored
4187  * in a GSettings to a value that is useful to the application.
4188  * If the value is successfully mapped, the result should be stored at
4189  * result and TRUE returned. If mapping fails (for example, if value
4190  * is not in the right format) then FALSE should be returned.
4191  * If value is NULL then it means that the mapping function is being
4192  * given a "last chance" to successfully return a valid value. TRUE
4193  * must be returned in this case.
4194  * value :
4195  * the GVariant to map, or NULL
4196  * result :
4197  * the result of the mapping. [out]
4198  * user_data :
4199  * the user data that was passed to
4200  * g_settings_get_mapped(). [closure]
4201  * Returns :
4202  * TRUE if the conversion succeeded, FALSE in case of an error
4203  */
4204 // gboolean (*GSettingsGetMapping) (GVariant *value,  gpointer *result,  gpointer user_data);
4205 public alias extern(C) int function(GVariant* value, gpointer* result, void* userData) GSettingsGetMapping;
4206 
4207 /*
4208  * The type for the function that is used to convert an object property
4209  * value to a GVariant for storing it in GSettings.
4210  * value :
4211  * a GValue containing the property value to map
4212  * expected_type :
4213  * the GVariantType to create
4214  * user_data :
4215  * user data that was specified when the binding was created
4216  * Returns :
4217  * a new GVariant holding the data from value,
4218  * or NULL in case of an error
4219  */
4220 // GVariant * (*GSettingsBindSetMapping) (const GValue *value,  const GVariantType *expected_type,  gpointer user_data);
4221 public alias extern(C) GVariant * function(GValue* value, GVariantType* expectedType, void* userData) GSettingsBindSetMapping;
4222 
4223 /*
4224  * The type for the function that is used to convert from GSettings to
4225  * an object property. The value is already initialized to hold values
4226  * of the appropriate type.
4227  * value :
4228  * return location for the property value
4229  * variant :
4230  * the GVariant
4231  * user_data :
4232  * user data that was specified when the binding was created
4233  * Returns :
4234  * TRUE if the conversion succeeded, FALSE in case of an error
4235  * Property Details
4236  * The "backend" property
4237  *  "backend" GSettingsBackend* : Read / Write / Construct Only
4238  * The GSettingsBackend for this settings object.
4239  */
4240 // gboolean (*GSettingsBindGetMapping) (GValue *value,  GVariant *variant,  gpointer user_data);
4241 public alias extern(C) int function(GValue* value, GVariant* variant, void* userData) GSettingsBindGetMapping;