@girs/braseroburn-3.1 3.1.0-4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4504 @@
1
+ /*
2
+ * Type Definitions for Gjs (https://gjs.guide/)
3
+ *
4
+ * These type definitions are automatically generated, do not edit them by hand.
5
+ * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir
6
+ */
7
+
8
+ import './braseroburn-3.1-ambient.d.ts';
9
+
10
+ /**
11
+ * BraseroBurn-3.1
12
+ */
13
+
14
+ import type Gtk from '@girs/gtk-3.0';
15
+ import type xlib from '@girs/xlib-2.0';
16
+ import type Gdk from '@girs/gdk-3.0';
17
+ import type cairo from '@girs/cairo-1.0';
18
+ import type GObject from '@girs/gobject-2.0';
19
+ import type GLib from '@girs/glib-2.0';
20
+ import type Pango from '@girs/pango-1.0';
21
+ import type HarfBuzz from '@girs/harfbuzz-0.0';
22
+ import type freetype2 from '@girs/freetype2-2.0';
23
+ import type Gio from '@girs/gio-2.0';
24
+ import type GdkPixbuf from '@girs/gdkpixbuf-2.0';
25
+ import type GModule from '@girs/gmodule-2.0';
26
+ import type Atk from '@girs/atk-1.0';
27
+
28
+ export namespace BraseroBurn {
29
+ enum BurnAction {
30
+ NONE,
31
+ GETTING_SIZE,
32
+ CREATING_IMAGE,
33
+ RECORDING,
34
+ BLANKING,
35
+ CHECKSUM,
36
+ DRIVE_COPY,
37
+ FILE_COPY,
38
+ ANALYSING,
39
+ TRANSCODING,
40
+ PREPARING,
41
+ LEADIN,
42
+ RECORDING_CD_TEXT,
43
+ FIXATING,
44
+ LEADOUT,
45
+ START_RECORDING,
46
+ FINISHED,
47
+ EJECTING,
48
+ LAST,
49
+ }
50
+ enum BurnError {
51
+ ERROR_NONE,
52
+ ERROR_GENERAL,
53
+ ERROR_PLUGIN_MISBEHAVIOR,
54
+ ERROR_SLOW_DMA,
55
+ ERROR_PERMISSION,
56
+ ERROR_DRIVE_BUSY,
57
+ ERROR_DISK_SPACE,
58
+ ERROR_EMPTY,
59
+ ERROR_INPUT_INVALID,
60
+ ERROR_OUTPUT_NONE,
61
+ ERROR_FILE_INVALID,
62
+ ERROR_FILE_FOLDER,
63
+ ERROR_FILE_PLAYLIST,
64
+ ERROR_FILE_NOT_FOUND,
65
+ ERROR_FILE_NOT_LOCAL,
66
+ ERROR_WRITE_MEDIUM,
67
+ ERROR_WRITE_IMAGE,
68
+ ERROR_IMAGE_INVALID,
69
+ ERROR_IMAGE_JOLIET,
70
+ ERROR_IMAGE_LAST_SESSION,
71
+ ERROR_MEDIUM_NONE,
72
+ ERROR_MEDIUM_INVALID,
73
+ ERROR_MEDIUM_SPACE,
74
+ ERROR_MEDIUM_NO_DATA,
75
+ ERROR_MEDIUM_NOT_WRITABLE,
76
+ ERROR_MEDIUM_NOT_REWRITABLE,
77
+ ERROR_MEDIUM_NEED_RELOADING,
78
+ ERROR_BAD_CHECKSUM,
79
+ ERROR_MISSING_APP_AND_PLUGIN,
80
+ WARNING_CHECKSUM,
81
+ WARNING_INSERT_AFTER_COPY,
82
+ ERROR_TMP_DIRECTORY,
83
+ ERROR_ENCRYPTION_KEY,
84
+ }
85
+ enum BurnResult {
86
+ OK,
87
+ ERR,
88
+ RETRY,
89
+ CANCEL,
90
+ RUNNING,
91
+ DANGEROUS,
92
+ NOT_READY,
93
+ NOT_RUNNING,
94
+ NEED_RELOAD,
95
+ NOT_SUPPORTED,
96
+ }
97
+ enum PluginErrorType {
98
+ NONE,
99
+ MODULE,
100
+ MISSING_APP,
101
+ WRONG_APP_VERSION,
102
+ SYMBOLIC_LINK_APP,
103
+ MISSING_LIBRARY,
104
+ LIBRARY_VERSION,
105
+ MISSING_GSTREAMER_PLUGIN,
106
+ }
107
+ enum SessionError {
108
+ VALID,
109
+ NO_CD_TEXT,
110
+ NOT_READY,
111
+ EMPTY,
112
+ NO_INPUT_IMAGE,
113
+ UNKNOWN_IMAGE,
114
+ NO_INPUT_MEDIUM,
115
+ NO_OUTPUT,
116
+ INSUFFICIENT_SPACE,
117
+ OVERBURN_NECESSARY,
118
+ NOT_SUPPORTED,
119
+ DISC_PROTECTED,
120
+ }
121
+ enum StatusType {
122
+ OK,
123
+ ERROR,
124
+ QUESTION,
125
+ INFORMATION,
126
+ }
127
+ enum TrackDataCfgColumn {
128
+ NAME,
129
+ URI,
130
+ MIME_DESC,
131
+ MIME_ICON,
132
+ SIZE,
133
+ SHOW_PERCENT,
134
+ PERCENT,
135
+ STYLE,
136
+ COLOR,
137
+ EDITABLE,
138
+ IS_FILE,
139
+ IS_LOADING,
140
+ IS_IMPORTED,
141
+ COL_NUM,
142
+ }
143
+ const COVER_URI: string;
144
+ const DATA_TRACK_SIZE_TAG: string;
145
+ const DND_TARGET_DATA_TRACK_REFERENCE_LIST: string;
146
+ const DVD_STREAM_FORMAT: string;
147
+ const MIN_STREAM_LENGTH: number;
148
+ const SESSION_STREAM_AUDIO_FORMAT: string;
149
+ const STREAM_TRACK_SIZE_TAG: string;
150
+ const TRACK_MEDIUM_ADDRESS_END_TAG: string;
151
+ const TRACK_MEDIUM_ADDRESS_START_TAG: string;
152
+ const TRACK_MEDIUM_WRONG_CHECKSUM_TAG: string;
153
+ const TRACK_STREAM_ALBUM_TAG: string;
154
+ const TRACK_STREAM_ARTIST_TAG: string;
155
+ const TRACK_STREAM_COMPOSER_TAG: string;
156
+ const TRACK_STREAM_ISRC_TAG: string;
157
+ const TRACK_STREAM_MIME_TAG: string;
158
+ const TRACK_STREAM_THUMBNAIL_TAG: string;
159
+ const TRACK_STREAM_TITLE_TAG: string;
160
+ const VCD_TYPE: string;
161
+ const VIDEO_OUTPUT_ASPECT: string;
162
+ const VIDEO_OUTPUT_FRAMERATE: string;
163
+ /**
164
+ * Frees `graft`. Do not use `grafts` afterwards.
165
+ * @param graft a #BraseroGraftPt
166
+ */
167
+ function graft_point_free(graft: GraftPt): void;
168
+ interface ForeachPluginErrorCb {
169
+ (type: PluginErrorType, detail: string): BurnResult;
170
+ }
171
+ enum BurnFlag {
172
+ NONE,
173
+ CHECK_SIZE,
174
+ NOGRACE,
175
+ EJECT,
176
+ MERGE,
177
+ MULTI,
178
+ APPEND,
179
+ BURNPROOF,
180
+ NO_TMP_FILES,
181
+ DUMMY,
182
+ OVERBURN,
183
+ BLANK_BEFORE_WRITE,
184
+ FAST_BLANK,
185
+ DAO,
186
+ RAW,
187
+ LAST,
188
+ }
189
+ enum ChecksumType {
190
+ NONE,
191
+ DETECT,
192
+ MD5,
193
+ MD5_FILE,
194
+ SHA1,
195
+ SHA1_FILE,
196
+ SHA256,
197
+ SHA256_FILE,
198
+ }
199
+ enum ImageFS {
200
+ FS_NONE,
201
+ FS_ISO,
202
+ FS_UDF,
203
+ FS_JOLIET,
204
+ FS_VIDEO,
205
+ FS_SYMLINK,
206
+ ISO_FS_LEVEL_3,
207
+ ISO_FS_DEEP_DIRECTORY,
208
+ FS_ANY,
209
+ }
210
+ enum ImageFormat {
211
+ NONE,
212
+ BIN,
213
+ CUE,
214
+ CLONE,
215
+ CDRDAO,
216
+ ANY,
217
+ }
218
+ enum StreamFormat {
219
+ AUDIO_FORMAT_NONE,
220
+ AUDIO_FORMAT_UNDEFINED,
221
+ AUDIO_FORMAT_DTS,
222
+ AUDIO_FORMAT_RAW,
223
+ AUDIO_FORMAT_AC3,
224
+ AUDIO_FORMAT_MP2,
225
+ AUDIO_FORMAT_44100,
226
+ AUDIO_FORMAT_48000,
227
+ VIDEO_FORMAT_UNDEFINED,
228
+ VIDEO_FORMAT_VCD,
229
+ VIDEO_FORMAT_VIDEO_DVD,
230
+ METADATA_INFO,
231
+ AUDIO_FORMAT_RAW_LITTLE_ENDIAN,
232
+ }
233
+ module Burn {
234
+ // Signal callback interfaces
235
+
236
+ interface ActionChanged {
237
+ (object: number): void;
238
+ }
239
+
240
+ interface BlankFailure {
241
+ (): number;
242
+ }
243
+
244
+ interface DisableJoliet {
245
+ (): number;
246
+ }
247
+
248
+ interface DummySuccess {
249
+ (): number;
250
+ }
251
+
252
+ interface EjectFailure {
253
+ (object: unknown): number;
254
+ }
255
+
256
+ interface InsertMedia {
257
+ (object: unknown, p0: number, p1: number): number;
258
+ }
259
+
260
+ interface InstallMissing {
261
+ (object: number, p0: string): number;
262
+ }
263
+
264
+ interface LocationRequest {
265
+ (object: any | null, p0: number): number;
266
+ }
267
+
268
+ interface ProgressChanged {
269
+ (object: number, p0: number, p1: number): void;
270
+ }
271
+
272
+ interface WarnAudioToAppendable {
273
+ (): number;
274
+ }
275
+
276
+ interface WarnDataLoss {
277
+ (): number;
278
+ }
279
+
280
+ interface WarnPreviousSessionLoss {
281
+ (): number;
282
+ }
283
+
284
+ interface WarnRewritable {
285
+ (): number;
286
+ }
287
+
288
+ // Constructor properties interface
289
+
290
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
291
+ }
292
+
293
+ class Burn extends GObject.Object {
294
+ static $gtype: GObject.GType<Burn>;
295
+
296
+ // Constructors of BraseroBurn.Burn
297
+
298
+ constructor(properties?: Partial<Burn.ConstructorProps>, ...args: any[]);
299
+
300
+ _init(...args: any[]): void;
301
+
302
+ static ['new'](): Burn;
303
+
304
+ // Own signals of BraseroBurn.Burn
305
+
306
+ connect(id: string, callback: (...args: any[]) => any): number;
307
+ connect_after(id: string, callback: (...args: any[]) => any): number;
308
+ emit(id: string, ...args: any[]): void;
309
+ connect(signal: 'action-changed', callback: (_source: this, object: number) => void): number;
310
+ connect_after(signal: 'action-changed', callback: (_source: this, object: number) => void): number;
311
+ emit(signal: 'action-changed', object: number): void;
312
+ connect(signal: 'blank-failure', callback: (_source: this) => number): number;
313
+ connect_after(signal: 'blank-failure', callback: (_source: this) => number): number;
314
+ emit(signal: 'blank-failure'): void;
315
+ connect(signal: 'disable-joliet', callback: (_source: this) => number): number;
316
+ connect_after(signal: 'disable-joliet', callback: (_source: this) => number): number;
317
+ emit(signal: 'disable-joliet'): void;
318
+ connect(signal: 'dummy-success', callback: (_source: this) => number): number;
319
+ connect_after(signal: 'dummy-success', callback: (_source: this) => number): number;
320
+ emit(signal: 'dummy-success'): void;
321
+ connect(signal: 'eject-failure', callback: (_source: this, object: unknown) => number): number;
322
+ connect_after(signal: 'eject-failure', callback: (_source: this, object: unknown) => number): number;
323
+ emit(signal: 'eject-failure', object: unknown): void;
324
+ connect(
325
+ signal: 'insert-media',
326
+ callback: (_source: this, object: unknown, p0: number, p1: number) => number,
327
+ ): number;
328
+ connect_after(
329
+ signal: 'insert-media',
330
+ callback: (_source: this, object: unknown, p0: number, p1: number) => number,
331
+ ): number;
332
+ emit(signal: 'insert-media', object: unknown, p0: number, p1: number): void;
333
+ connect(signal: 'install-missing', callback: (_source: this, object: number, p0: string) => number): number;
334
+ connect_after(
335
+ signal: 'install-missing',
336
+ callback: (_source: this, object: number, p0: string) => number,
337
+ ): number;
338
+ emit(signal: 'install-missing', object: number, p0: string): void;
339
+ connect(
340
+ signal: 'location-request',
341
+ callback: (_source: this, object: any | null, p0: number) => number,
342
+ ): number;
343
+ connect_after(
344
+ signal: 'location-request',
345
+ callback: (_source: this, object: any | null, p0: number) => number,
346
+ ): number;
347
+ emit(signal: 'location-request', object: any | null, p0: number): void;
348
+ connect(
349
+ signal: 'progress-changed',
350
+ callback: (_source: this, object: number, p0: number, p1: number) => void,
351
+ ): number;
352
+ connect_after(
353
+ signal: 'progress-changed',
354
+ callback: (_source: this, object: number, p0: number, p1: number) => void,
355
+ ): number;
356
+ emit(signal: 'progress-changed', object: number, p0: number, p1: number): void;
357
+ connect(signal: 'warn-audio-to-appendable', callback: (_source: this) => number): number;
358
+ connect_after(signal: 'warn-audio-to-appendable', callback: (_source: this) => number): number;
359
+ emit(signal: 'warn-audio-to-appendable'): void;
360
+ connect(signal: 'warn-data-loss', callback: (_source: this) => number): number;
361
+ connect_after(signal: 'warn-data-loss', callback: (_source: this) => number): number;
362
+ emit(signal: 'warn-data-loss'): void;
363
+ connect(signal: 'warn-previous-session-loss', callback: (_source: this) => number): number;
364
+ connect_after(signal: 'warn-previous-session-loss', callback: (_source: this) => number): number;
365
+ emit(signal: 'warn-previous-session-loss'): void;
366
+ connect(signal: 'warn-rewritable', callback: (_source: this) => number): number;
367
+ connect_after(signal: 'warn-rewritable', callback: (_source: this) => number): number;
368
+ emit(signal: 'warn-rewritable'): void;
369
+
370
+ // Own static methods of BraseroBurn.Burn
371
+
372
+ static library_can_checksum(): boolean;
373
+ static library_get_option_group(): GLib.OptionGroup;
374
+ static library_input_supported(type: TrackType): BurnResult;
375
+ static library_start(argc: number, argv: string): boolean;
376
+ static library_stop(): void;
377
+ static quark(): GLib.Quark;
378
+
379
+ // Own virtual methods of BraseroBurn.Burn
380
+
381
+ vfunc_action_changed(action: BurnAction): void;
382
+ vfunc_ask_disable_joliet(): BurnResult;
383
+ vfunc_blank_failure(): BurnResult;
384
+ vfunc_dummy_success(): BurnResult;
385
+ vfunc_install_missing(error: PluginErrorType, detail: string): BurnResult;
386
+ vfunc_location_request(error: GLib.Error, is_temporary: boolean): BurnResult;
387
+ vfunc_progress_changed(overall_progress: number, action_progress: number, time_remaining: number): void;
388
+ vfunc_warn_audio_to_appendable(): BurnResult;
389
+ vfunc_warn_data_loss(): BurnResult;
390
+ vfunc_warn_previous_session_loss(): BurnResult;
391
+ vfunc_warn_rewritable(): BurnResult;
392
+
393
+ // Own methods of BraseroBurn.Burn
394
+
395
+ /**
396
+ * Blanks a medium according to the parameters
397
+ * set in `session`. The medium must be inserted in the #BraseroDrive
398
+ * set with brasero_burn_session_set_burner ().
399
+ * @param session a #BraseroBurnSession
400
+ * @returns a #BraseroBurnResult. The result of the operation. BRASERO_BURN_OK if it was successful.
401
+ */
402
+ blank(session: BurnSession): BurnResult;
403
+ /**
404
+ * Cancels any ongoing operation. If `protect` is TRUE then
405
+ * cancellation will not take place for a "critical" task, a task whose interruption
406
+ * could damage the medium or the drive.
407
+ * @param protect a #gboolean
408
+ * @returns a #BraseroBurnResult. The result of the operation. BRASERO_BURN_OK if it was successful.
409
+ */
410
+ cancel(protect: boolean): BurnResult;
411
+ /**
412
+ * Checks the integrity of a medium according to the parameters
413
+ * set in `session`. The medium must be inserted in the #BraseroDrive
414
+ * set as the source of a #BraseroTrackDisc track inserted in `session`.
415
+ * @param session a #BraseroBurnSession
416
+ * @returns a #BraseroBurnResult. The result of the operation. BRASERO_BURN_OK if it was successful.
417
+ */
418
+ check(session: BurnSession): BurnResult;
419
+ /**
420
+ * This function returns the current action (in `string)` of
421
+ * an ongoing operation performed by `burn`.
422
+ * `action` is used to set a default string in case there was
423
+ * no string set by the backend to describe the current
424
+ * operation.
425
+ * @param action a #BraseroBurnAction
426
+ * @param string a #gchar **
427
+ */
428
+ get_action_string(action: BurnAction, string: string): void;
429
+ /**
430
+ * Burns or creates a disc image according to the parameters
431
+ * set in `session`.
432
+ * @param session a #BraseroBurnSession
433
+ * @returns a #BraseroBurnResult. The result of the operation. BRASERO_BURN_OK if it was successful.
434
+ */
435
+ record(session: BurnSession): BurnResult;
436
+ }
437
+
438
+ module BurnDialog {
439
+ // Constructor properties interface
440
+
441
+ interface ConstructorProps
442
+ extends Gtk.Dialog.ConstructorProps,
443
+ Atk.ImplementorIface.ConstructorProps,
444
+ Gtk.Buildable.ConstructorProps {}
445
+ }
446
+
447
+ class BurnDialog extends Gtk.Dialog implements Atk.ImplementorIface, Gtk.Buildable {
448
+ static $gtype: GObject.GType<BurnDialog>;
449
+
450
+ // Constructors of BraseroBurn.BurnDialog
451
+
452
+ constructor(properties?: Partial<BurnDialog.ConstructorProps>, ...args: any[]);
453
+
454
+ _init(...args: any[]): void;
455
+
456
+ static ['new'](): BurnDialog;
457
+
458
+ // Own methods of BraseroBurn.BurnDialog
459
+
460
+ /**
461
+ * Cancel the ongoing operation run by `dialog;` if `force_cancellation` is FALSE then it can
462
+ * happen that the operation won't be cancelled if there is a risk to make a disc unusable.
463
+ * @param force_cancellation a #gboolean
464
+ * @returns a #gboolean. TRUE if it was sucessfully cancelled, FALSE otherwise.
465
+ */
466
+ cancel(force_cancellation: boolean): boolean;
467
+ /**
468
+ * Start burning the contents of `session`.
469
+ * @param session a #BraseroBurnSession
470
+ * @returns a #gboolean. TRUE if the operation was successfully carried out, FALSE otherwise.
471
+ */
472
+ run(session: BurnSession): boolean;
473
+ // Conflicted with Gtk.Dialog.run
474
+ run(...args: never[]): any;
475
+ /**
476
+ * Start burning the contents of `session`. Once a disc is burnt, a dialog
477
+ * will be shown to the user and wait for a new insertion before starting to burn
478
+ * again.
479
+ * @param session a #BraseroBurnSession
480
+ * @returns a #gboolean. TRUE if the operation was successfully carried out, FALSE otherwise.
481
+ */
482
+ run_multi(session: BurnSession): boolean;
483
+
484
+ // Inherited methods
485
+ /**
486
+ * Creates a binding between `source_property` on `source` and `target_property`
487
+ * on `target`.
488
+ *
489
+ * Whenever the `source_property` is changed the `target_property` is
490
+ * updated using the same value. For instance:
491
+ *
492
+ *
493
+ * ```c
494
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
495
+ * ```
496
+ *
497
+ *
498
+ * Will result in the "sensitive" property of the widget #GObject instance to be
499
+ * updated with the same value of the "active" property of the action #GObject
500
+ * instance.
501
+ *
502
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
503
+ * if `target_property` on `target` changes then the `source_property` on `source`
504
+ * will be updated as well.
505
+ *
506
+ * The binding will automatically be removed when either the `source` or the
507
+ * `target` instances are finalized. To remove the binding without affecting the
508
+ * `source` and the `target` you can just call g_object_unref() on the returned
509
+ * #GBinding instance.
510
+ *
511
+ * Removing the binding by calling g_object_unref() on it must only be done if
512
+ * the binding, `source` and `target` are only used from a single thread and it
513
+ * is clear that both `source` and `target` outlive the binding. Especially it
514
+ * is not safe to rely on this if the binding, `source` or `target` can be
515
+ * finalized from different threads. Keep another reference to the binding and
516
+ * use g_binding_unbind() instead to be on the safe side.
517
+ *
518
+ * A #GObject can have multiple bindings.
519
+ * @param source_property the property on @source to bind
520
+ * @param target the target #GObject
521
+ * @param target_property the property on @target to bind
522
+ * @param flags flags to pass to #GBinding
523
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
524
+ */
525
+ bind_property(
526
+ source_property: string,
527
+ target: GObject.Object,
528
+ target_property: string,
529
+ flags: GObject.BindingFlags,
530
+ ): GObject.Binding;
531
+ /**
532
+ * Complete version of g_object_bind_property().
533
+ *
534
+ * Creates a binding between `source_property` on `source` and `target_property`
535
+ * on `target,` allowing you to set the transformation functions to be used by
536
+ * the binding.
537
+ *
538
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
539
+ * if `target_property` on `target` changes then the `source_property` on `source`
540
+ * will be updated as well. The `transform_from` function is only used in case
541
+ * of bidirectional bindings, otherwise it will be ignored
542
+ *
543
+ * The binding will automatically be removed when either the `source` or the
544
+ * `target` instances are finalized. This will release the reference that is
545
+ * being held on the #GBinding instance; if you want to hold on to the
546
+ * #GBinding instance, you will need to hold a reference to it.
547
+ *
548
+ * To remove the binding, call g_binding_unbind().
549
+ *
550
+ * A #GObject can have multiple bindings.
551
+ *
552
+ * The same `user_data` parameter will be used for both `transform_to`
553
+ * and `transform_from` transformation functions; the `notify` function will
554
+ * be called once, when the binding is removed. If you need different data
555
+ * for each transformation function, please use
556
+ * g_object_bind_property_with_closures() instead.
557
+ * @param source_property the property on @source to bind
558
+ * @param target the target #GObject
559
+ * @param target_property the property on @target to bind
560
+ * @param flags flags to pass to #GBinding
561
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
562
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
563
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
564
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
565
+ */
566
+ bind_property_full(
567
+ source_property: string,
568
+ target: GObject.Object,
569
+ target_property: string,
570
+ flags: GObject.BindingFlags,
571
+ transform_to?: GObject.BindingTransformFunc | null,
572
+ transform_from?: GObject.BindingTransformFunc | null,
573
+ notify?: GLib.DestroyNotify | null,
574
+ ): GObject.Binding;
575
+ // Conflicted with GObject.Object.bind_property_full
576
+ bind_property_full(...args: never[]): any;
577
+ /**
578
+ * This function is intended for #GObject implementations to re-enforce
579
+ * a [floating][floating-ref] object reference. Doing this is seldom
580
+ * required: all #GInitiallyUnowneds are created with a floating reference
581
+ * which usually just needs to be sunken by calling g_object_ref_sink().
582
+ */
583
+ force_floating(): void;
584
+ /**
585
+ * Increases the freeze count on `object`. If the freeze count is
586
+ * non-zero, the emission of "notify" signals on `object` is
587
+ * stopped. The signals are queued until the freeze count is decreased
588
+ * to zero. Duplicate notifications are squashed so that at most one
589
+ * #GObject::notify signal is emitted for each property modified while the
590
+ * object is frozen.
591
+ *
592
+ * This is necessary for accessors that modify multiple properties to prevent
593
+ * premature notification while the object is still being modified.
594
+ */
595
+ freeze_notify(): void;
596
+ /**
597
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
598
+ * @param key name of the key for that association
599
+ * @returns the data if found, or %NULL if no such data exists.
600
+ */
601
+ get_data(key: string): any | null;
602
+ get_property(property_name: string): any;
603
+ /**
604
+ * This function gets back user data pointers stored via
605
+ * g_object_set_qdata().
606
+ * @param quark A #GQuark, naming the user data pointer
607
+ * @returns The user data pointer set, or %NULL
608
+ */
609
+ get_qdata(quark: GLib.Quark): any | null;
610
+ /**
611
+ * Gets `n_properties` properties for an `object`.
612
+ * Obtained properties will be set to `values`. All properties must be valid.
613
+ * Warnings will be emitted and undefined behaviour may result if invalid
614
+ * properties are passed in.
615
+ * @param names the names of each property to get
616
+ * @param values the values of each property to get
617
+ */
618
+ getv(names: string[], values: (GObject.Value | any)[]): void;
619
+ /**
620
+ * Checks whether `object` has a [floating][floating-ref] reference.
621
+ * @returns %TRUE if @object has a floating reference
622
+ */
623
+ is_floating(): boolean;
624
+ /**
625
+ * Emits a "notify" signal for the property `property_name` on `object`.
626
+ *
627
+ * When possible, eg. when signaling a property change from within the class
628
+ * that registered the property, you should use g_object_notify_by_pspec()
629
+ * instead.
630
+ *
631
+ * Note that emission of the notify signal may be blocked with
632
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
633
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
634
+ * called.
635
+ * @param property_name the name of a property installed on the class of @object.
636
+ */
637
+ notify(property_name: string): void;
638
+ /**
639
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
640
+ *
641
+ * This function omits the property name lookup, hence it is faster than
642
+ * g_object_notify().
643
+ *
644
+ * One way to avoid using g_object_notify() from within the
645
+ * class that registered the properties, and using g_object_notify_by_pspec()
646
+ * instead, is to store the GParamSpec used with
647
+ * g_object_class_install_property() inside a static array, e.g.:
648
+ *
649
+ *
650
+ * ```c
651
+ * typedef enum
652
+ * {
653
+ * PROP_FOO = 1,
654
+ * PROP_LAST
655
+ * } MyObjectProperty;
656
+ *
657
+ * static GParamSpec *properties[PROP_LAST];
658
+ *
659
+ * static void
660
+ * my_object_class_init (MyObjectClass *klass)
661
+ * {
662
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
663
+ * 0, 100,
664
+ * 50,
665
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
666
+ * g_object_class_install_property (gobject_class,
667
+ * PROP_FOO,
668
+ * properties[PROP_FOO]);
669
+ * }
670
+ * ```
671
+ *
672
+ *
673
+ * and then notify a change on the "foo" property with:
674
+ *
675
+ *
676
+ * ```c
677
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
678
+ * ```
679
+ *
680
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
681
+ */
682
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
683
+ /**
684
+ * Increases the reference count of `object`.
685
+ *
686
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
687
+ * of `object` will be propagated to the return type (using the GCC typeof()
688
+ * extension), so any casting the caller needs to do on the return type must be
689
+ * explicit.
690
+ * @returns the same @object
691
+ */
692
+ ref(): GObject.Object;
693
+ /**
694
+ * Increase the reference count of `object,` and possibly remove the
695
+ * [floating][floating-ref] reference, if `object` has a floating reference.
696
+ *
697
+ * In other words, if the object is floating, then this call "assumes
698
+ * ownership" of the floating reference, converting it to a normal
699
+ * reference by clearing the floating flag while leaving the reference
700
+ * count unchanged. If the object is not floating, then this call
701
+ * adds a new normal reference increasing the reference count by one.
702
+ *
703
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
704
+ * under the same conditions as for g_object_ref().
705
+ * @returns @object
706
+ */
707
+ ref_sink(): GObject.Object;
708
+ /**
709
+ * Releases all references to other objects. This can be used to break
710
+ * reference cycles.
711
+ *
712
+ * This function should only be called from object system implementations.
713
+ */
714
+ run_dispose(): void;
715
+ /**
716
+ * Each object carries around a table of associations from
717
+ * strings to pointers. This function lets you set an association.
718
+ *
719
+ * If the object already had an association with that name,
720
+ * the old association will be destroyed.
721
+ *
722
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
723
+ * This means a copy of `key` is kept permanently (even after `object` has been
724
+ * finalized) — so it is recommended to only use a small, bounded set of values
725
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
726
+ * @param key name of the key
727
+ * @param data data to associate with that key
728
+ */
729
+ set_data(key: string, data?: any | null): void;
730
+ set_property(property_name: string, value: any): void;
731
+ /**
732
+ * Remove a specified datum from the object's data associations,
733
+ * without invoking the association's destroy handler.
734
+ * @param key name of the key
735
+ * @returns the data if found, or %NULL if no such data exists.
736
+ */
737
+ steal_data(key: string): any | null;
738
+ /**
739
+ * This function gets back user data pointers stored via
740
+ * g_object_set_qdata() and removes the `data` from object
741
+ * without invoking its destroy() function (if any was
742
+ * set).
743
+ * Usually, calling this function is only required to update
744
+ * user data pointers with a destroy notifier, for example:
745
+ *
746
+ * ```c
747
+ * void
748
+ * object_add_to_user_list (GObject *object,
749
+ * const gchar *new_string)
750
+ * {
751
+ * // the quark, naming the object data
752
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
753
+ * // retrieve the old string list
754
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
755
+ *
756
+ * // prepend new string
757
+ * list = g_list_prepend (list, g_strdup (new_string));
758
+ * // this changed 'list', so we need to set it again
759
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
760
+ * }
761
+ * static void
762
+ * free_string_list (gpointer data)
763
+ * {
764
+ * GList *node, *list = data;
765
+ *
766
+ * for (node = list; node; node = node->next)
767
+ * g_free (node->data);
768
+ * g_list_free (list);
769
+ * }
770
+ * ```
771
+ *
772
+ * Using g_object_get_qdata() in the above example, instead of
773
+ * g_object_steal_qdata() would have left the destroy function set,
774
+ * and thus the partial string list would have been freed upon
775
+ * g_object_set_qdata_full().
776
+ * @param quark A #GQuark, naming the user data pointer
777
+ * @returns The user data pointer set, or %NULL
778
+ */
779
+ steal_qdata(quark: GLib.Quark): any | null;
780
+ /**
781
+ * Reverts the effect of a previous call to
782
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
783
+ * and when it reaches zero, queued "notify" signals are emitted.
784
+ *
785
+ * Duplicate notifications for each property are squashed so that at most one
786
+ * #GObject::notify signal is emitted for each property, in the reverse order
787
+ * in which they have been queued.
788
+ *
789
+ * It is an error to call this function when the freeze count is zero.
790
+ */
791
+ thaw_notify(): void;
792
+ /**
793
+ * Decreases the reference count of `object`. When its reference count
794
+ * drops to 0, the object is finalized (i.e. its memory is freed).
795
+ *
796
+ * If the pointer to the #GObject may be reused in future (for example, if it is
797
+ * an instance variable of another object), it is recommended to clear the
798
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
799
+ * invalid #GObject instance. Use g_clear_object() for this.
800
+ */
801
+ unref(): void;
802
+ /**
803
+ * This function essentially limits the life time of the `closure` to
804
+ * the life time of the object. That is, when the object is finalized,
805
+ * the `closure` is invalidated by calling g_closure_invalidate() on
806
+ * it, in order to prevent invocations of the closure with a finalized
807
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
808
+ * added as marshal guards to the `closure,` to ensure that an extra
809
+ * reference count is held on `object` during invocation of the
810
+ * `closure`. Usually, this function will be called on closures that
811
+ * use this `object` as closure data.
812
+ * @param closure #GClosure to watch
813
+ */
814
+ watch_closure(closure: GObject.Closure): void;
815
+ vfunc_constructed(): void;
816
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
817
+ vfunc_dispose(): void;
818
+ vfunc_finalize(): void;
819
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
820
+ /**
821
+ * Emits a "notify" signal for the property `property_name` on `object`.
822
+ *
823
+ * When possible, eg. when signaling a property change from within the class
824
+ * that registered the property, you should use g_object_notify_by_pspec()
825
+ * instead.
826
+ *
827
+ * Note that emission of the notify signal may be blocked with
828
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
829
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
830
+ * called.
831
+ * @param pspec
832
+ */
833
+ vfunc_notify(pspec: GObject.ParamSpec): void;
834
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
835
+ disconnect(id: number): void;
836
+ set(properties: { [key: string]: any }): void;
837
+ block_signal_handler(id: number): any;
838
+ unblock_signal_handler(id: number): any;
839
+ stop_emission_by_name(detailedName: string): any;
840
+ }
841
+
842
+ module BurnOptions {
843
+ // Constructor properties interface
844
+
845
+ interface ConstructorProps
846
+ extends Gtk.Dialog.ConstructorProps,
847
+ Atk.ImplementorIface.ConstructorProps,
848
+ Gtk.Buildable.ConstructorProps {
849
+ session: BurnSession;
850
+ }
851
+ }
852
+
853
+ class BurnOptions extends Gtk.Dialog implements Atk.ImplementorIface, Gtk.Buildable {
854
+ static $gtype: GObject.GType<BurnOptions>;
855
+
856
+ // Own properties of BraseroBurn.BurnOptions
857
+
858
+ get session(): BurnSession;
859
+
860
+ // Constructors of BraseroBurn.BurnOptions
861
+
862
+ constructor(properties?: Partial<BurnOptions.ConstructorProps>, ...args: any[]);
863
+
864
+ _init(...args: any[]): void;
865
+
866
+ static ['new'](session: SessionCfg): BurnOptions;
867
+ // Conflicted with Gtk.Dialog.new
868
+
869
+ static ['new'](...args: never[]): any;
870
+
871
+ // Own methods of BraseroBurn.BurnOptions
872
+
873
+ /**
874
+ * Adds some new options to be displayed in the dialog.
875
+ * @param options a #GtkWidget
876
+ */
877
+ add_options(options: Gtk.Widget): void;
878
+
879
+ // Inherited methods
880
+ /**
881
+ * Creates a binding between `source_property` on `source` and `target_property`
882
+ * on `target`.
883
+ *
884
+ * Whenever the `source_property` is changed the `target_property` is
885
+ * updated using the same value. For instance:
886
+ *
887
+ *
888
+ * ```c
889
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
890
+ * ```
891
+ *
892
+ *
893
+ * Will result in the "sensitive" property of the widget #GObject instance to be
894
+ * updated with the same value of the "active" property of the action #GObject
895
+ * instance.
896
+ *
897
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
898
+ * if `target_property` on `target` changes then the `source_property` on `source`
899
+ * will be updated as well.
900
+ *
901
+ * The binding will automatically be removed when either the `source` or the
902
+ * `target` instances are finalized. To remove the binding without affecting the
903
+ * `source` and the `target` you can just call g_object_unref() on the returned
904
+ * #GBinding instance.
905
+ *
906
+ * Removing the binding by calling g_object_unref() on it must only be done if
907
+ * the binding, `source` and `target` are only used from a single thread and it
908
+ * is clear that both `source` and `target` outlive the binding. Especially it
909
+ * is not safe to rely on this if the binding, `source` or `target` can be
910
+ * finalized from different threads. Keep another reference to the binding and
911
+ * use g_binding_unbind() instead to be on the safe side.
912
+ *
913
+ * A #GObject can have multiple bindings.
914
+ * @param source_property the property on @source to bind
915
+ * @param target the target #GObject
916
+ * @param target_property the property on @target to bind
917
+ * @param flags flags to pass to #GBinding
918
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
919
+ */
920
+ bind_property(
921
+ source_property: string,
922
+ target: GObject.Object,
923
+ target_property: string,
924
+ flags: GObject.BindingFlags,
925
+ ): GObject.Binding;
926
+ /**
927
+ * Complete version of g_object_bind_property().
928
+ *
929
+ * Creates a binding between `source_property` on `source` and `target_property`
930
+ * on `target,` allowing you to set the transformation functions to be used by
931
+ * the binding.
932
+ *
933
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
934
+ * if `target_property` on `target` changes then the `source_property` on `source`
935
+ * will be updated as well. The `transform_from` function is only used in case
936
+ * of bidirectional bindings, otherwise it will be ignored
937
+ *
938
+ * The binding will automatically be removed when either the `source` or the
939
+ * `target` instances are finalized. This will release the reference that is
940
+ * being held on the #GBinding instance; if you want to hold on to the
941
+ * #GBinding instance, you will need to hold a reference to it.
942
+ *
943
+ * To remove the binding, call g_binding_unbind().
944
+ *
945
+ * A #GObject can have multiple bindings.
946
+ *
947
+ * The same `user_data` parameter will be used for both `transform_to`
948
+ * and `transform_from` transformation functions; the `notify` function will
949
+ * be called once, when the binding is removed. If you need different data
950
+ * for each transformation function, please use
951
+ * g_object_bind_property_with_closures() instead.
952
+ * @param source_property the property on @source to bind
953
+ * @param target the target #GObject
954
+ * @param target_property the property on @target to bind
955
+ * @param flags flags to pass to #GBinding
956
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
957
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
958
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
959
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
960
+ */
961
+ bind_property_full(
962
+ source_property: string,
963
+ target: GObject.Object,
964
+ target_property: string,
965
+ flags: GObject.BindingFlags,
966
+ transform_to?: GObject.BindingTransformFunc | null,
967
+ transform_from?: GObject.BindingTransformFunc | null,
968
+ notify?: GLib.DestroyNotify | null,
969
+ ): GObject.Binding;
970
+ // Conflicted with GObject.Object.bind_property_full
971
+ bind_property_full(...args: never[]): any;
972
+ /**
973
+ * This function is intended for #GObject implementations to re-enforce
974
+ * a [floating][floating-ref] object reference. Doing this is seldom
975
+ * required: all #GInitiallyUnowneds are created with a floating reference
976
+ * which usually just needs to be sunken by calling g_object_ref_sink().
977
+ */
978
+ force_floating(): void;
979
+ /**
980
+ * Increases the freeze count on `object`. If the freeze count is
981
+ * non-zero, the emission of "notify" signals on `object` is
982
+ * stopped. The signals are queued until the freeze count is decreased
983
+ * to zero. Duplicate notifications are squashed so that at most one
984
+ * #GObject::notify signal is emitted for each property modified while the
985
+ * object is frozen.
986
+ *
987
+ * This is necessary for accessors that modify multiple properties to prevent
988
+ * premature notification while the object is still being modified.
989
+ */
990
+ freeze_notify(): void;
991
+ /**
992
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
993
+ * @param key name of the key for that association
994
+ * @returns the data if found, or %NULL if no such data exists.
995
+ */
996
+ get_data(key: string): any | null;
997
+ get_property(property_name: string): any;
998
+ /**
999
+ * This function gets back user data pointers stored via
1000
+ * g_object_set_qdata().
1001
+ * @param quark A #GQuark, naming the user data pointer
1002
+ * @returns The user data pointer set, or %NULL
1003
+ */
1004
+ get_qdata(quark: GLib.Quark): any | null;
1005
+ /**
1006
+ * Gets `n_properties` properties for an `object`.
1007
+ * Obtained properties will be set to `values`. All properties must be valid.
1008
+ * Warnings will be emitted and undefined behaviour may result if invalid
1009
+ * properties are passed in.
1010
+ * @param names the names of each property to get
1011
+ * @param values the values of each property to get
1012
+ */
1013
+ getv(names: string[], values: (GObject.Value | any)[]): void;
1014
+ /**
1015
+ * Checks whether `object` has a [floating][floating-ref] reference.
1016
+ * @returns %TRUE if @object has a floating reference
1017
+ */
1018
+ is_floating(): boolean;
1019
+ /**
1020
+ * Emits a "notify" signal for the property `property_name` on `object`.
1021
+ *
1022
+ * When possible, eg. when signaling a property change from within the class
1023
+ * that registered the property, you should use g_object_notify_by_pspec()
1024
+ * instead.
1025
+ *
1026
+ * Note that emission of the notify signal may be blocked with
1027
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1028
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1029
+ * called.
1030
+ * @param property_name the name of a property installed on the class of @object.
1031
+ */
1032
+ notify(property_name: string): void;
1033
+ /**
1034
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
1035
+ *
1036
+ * This function omits the property name lookup, hence it is faster than
1037
+ * g_object_notify().
1038
+ *
1039
+ * One way to avoid using g_object_notify() from within the
1040
+ * class that registered the properties, and using g_object_notify_by_pspec()
1041
+ * instead, is to store the GParamSpec used with
1042
+ * g_object_class_install_property() inside a static array, e.g.:
1043
+ *
1044
+ *
1045
+ * ```c
1046
+ * typedef enum
1047
+ * {
1048
+ * PROP_FOO = 1,
1049
+ * PROP_LAST
1050
+ * } MyObjectProperty;
1051
+ *
1052
+ * static GParamSpec *properties[PROP_LAST];
1053
+ *
1054
+ * static void
1055
+ * my_object_class_init (MyObjectClass *klass)
1056
+ * {
1057
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
1058
+ * 0, 100,
1059
+ * 50,
1060
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
1061
+ * g_object_class_install_property (gobject_class,
1062
+ * PROP_FOO,
1063
+ * properties[PROP_FOO]);
1064
+ * }
1065
+ * ```
1066
+ *
1067
+ *
1068
+ * and then notify a change on the "foo" property with:
1069
+ *
1070
+ *
1071
+ * ```c
1072
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
1073
+ * ```
1074
+ *
1075
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
1076
+ */
1077
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
1078
+ /**
1079
+ * Increases the reference count of `object`.
1080
+ *
1081
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
1082
+ * of `object` will be propagated to the return type (using the GCC typeof()
1083
+ * extension), so any casting the caller needs to do on the return type must be
1084
+ * explicit.
1085
+ * @returns the same @object
1086
+ */
1087
+ ref(): GObject.Object;
1088
+ /**
1089
+ * Increase the reference count of `object,` and possibly remove the
1090
+ * [floating][floating-ref] reference, if `object` has a floating reference.
1091
+ *
1092
+ * In other words, if the object is floating, then this call "assumes
1093
+ * ownership" of the floating reference, converting it to a normal
1094
+ * reference by clearing the floating flag while leaving the reference
1095
+ * count unchanged. If the object is not floating, then this call
1096
+ * adds a new normal reference increasing the reference count by one.
1097
+ *
1098
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
1099
+ * under the same conditions as for g_object_ref().
1100
+ * @returns @object
1101
+ */
1102
+ ref_sink(): GObject.Object;
1103
+ /**
1104
+ * Releases all references to other objects. This can be used to break
1105
+ * reference cycles.
1106
+ *
1107
+ * This function should only be called from object system implementations.
1108
+ */
1109
+ run_dispose(): void;
1110
+ /**
1111
+ * Each object carries around a table of associations from
1112
+ * strings to pointers. This function lets you set an association.
1113
+ *
1114
+ * If the object already had an association with that name,
1115
+ * the old association will be destroyed.
1116
+ *
1117
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
1118
+ * This means a copy of `key` is kept permanently (even after `object` has been
1119
+ * finalized) — so it is recommended to only use a small, bounded set of values
1120
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
1121
+ * @param key name of the key
1122
+ * @param data data to associate with that key
1123
+ */
1124
+ set_data(key: string, data?: any | null): void;
1125
+ set_property(property_name: string, value: any): void;
1126
+ /**
1127
+ * Remove a specified datum from the object's data associations,
1128
+ * without invoking the association's destroy handler.
1129
+ * @param key name of the key
1130
+ * @returns the data if found, or %NULL if no such data exists.
1131
+ */
1132
+ steal_data(key: string): any | null;
1133
+ /**
1134
+ * This function gets back user data pointers stored via
1135
+ * g_object_set_qdata() and removes the `data` from object
1136
+ * without invoking its destroy() function (if any was
1137
+ * set).
1138
+ * Usually, calling this function is only required to update
1139
+ * user data pointers with a destroy notifier, for example:
1140
+ *
1141
+ * ```c
1142
+ * void
1143
+ * object_add_to_user_list (GObject *object,
1144
+ * const gchar *new_string)
1145
+ * {
1146
+ * // the quark, naming the object data
1147
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
1148
+ * // retrieve the old string list
1149
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
1150
+ *
1151
+ * // prepend new string
1152
+ * list = g_list_prepend (list, g_strdup (new_string));
1153
+ * // this changed 'list', so we need to set it again
1154
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
1155
+ * }
1156
+ * static void
1157
+ * free_string_list (gpointer data)
1158
+ * {
1159
+ * GList *node, *list = data;
1160
+ *
1161
+ * for (node = list; node; node = node->next)
1162
+ * g_free (node->data);
1163
+ * g_list_free (list);
1164
+ * }
1165
+ * ```
1166
+ *
1167
+ * Using g_object_get_qdata() in the above example, instead of
1168
+ * g_object_steal_qdata() would have left the destroy function set,
1169
+ * and thus the partial string list would have been freed upon
1170
+ * g_object_set_qdata_full().
1171
+ * @param quark A #GQuark, naming the user data pointer
1172
+ * @returns The user data pointer set, or %NULL
1173
+ */
1174
+ steal_qdata(quark: GLib.Quark): any | null;
1175
+ /**
1176
+ * Reverts the effect of a previous call to
1177
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
1178
+ * and when it reaches zero, queued "notify" signals are emitted.
1179
+ *
1180
+ * Duplicate notifications for each property are squashed so that at most one
1181
+ * #GObject::notify signal is emitted for each property, in the reverse order
1182
+ * in which they have been queued.
1183
+ *
1184
+ * It is an error to call this function when the freeze count is zero.
1185
+ */
1186
+ thaw_notify(): void;
1187
+ /**
1188
+ * Decreases the reference count of `object`. When its reference count
1189
+ * drops to 0, the object is finalized (i.e. its memory is freed).
1190
+ *
1191
+ * If the pointer to the #GObject may be reused in future (for example, if it is
1192
+ * an instance variable of another object), it is recommended to clear the
1193
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
1194
+ * invalid #GObject instance. Use g_clear_object() for this.
1195
+ */
1196
+ unref(): void;
1197
+ /**
1198
+ * This function essentially limits the life time of the `closure` to
1199
+ * the life time of the object. That is, when the object is finalized,
1200
+ * the `closure` is invalidated by calling g_closure_invalidate() on
1201
+ * it, in order to prevent invocations of the closure with a finalized
1202
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
1203
+ * added as marshal guards to the `closure,` to ensure that an extra
1204
+ * reference count is held on `object` during invocation of the
1205
+ * `closure`. Usually, this function will be called on closures that
1206
+ * use this `object` as closure data.
1207
+ * @param closure #GClosure to watch
1208
+ */
1209
+ watch_closure(closure: GObject.Closure): void;
1210
+ vfunc_constructed(): void;
1211
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
1212
+ vfunc_dispose(): void;
1213
+ vfunc_finalize(): void;
1214
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1215
+ /**
1216
+ * Emits a "notify" signal for the property `property_name` on `object`.
1217
+ *
1218
+ * When possible, eg. when signaling a property change from within the class
1219
+ * that registered the property, you should use g_object_notify_by_pspec()
1220
+ * instead.
1221
+ *
1222
+ * Note that emission of the notify signal may be blocked with
1223
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1224
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1225
+ * called.
1226
+ * @param pspec
1227
+ */
1228
+ vfunc_notify(pspec: GObject.ParamSpec): void;
1229
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1230
+ disconnect(id: number): void;
1231
+ set(properties: { [key: string]: any }): void;
1232
+ block_signal_handler(id: number): any;
1233
+ unblock_signal_handler(id: number): any;
1234
+ stop_emission_by_name(detailedName: string): any;
1235
+ }
1236
+
1237
+ module BurnSession {
1238
+ // Signal callback interfaces
1239
+
1240
+ interface OutputChanged {
1241
+ (former_medium: unknown): void;
1242
+ }
1243
+
1244
+ interface TagChanged {
1245
+ (object: string): void;
1246
+ }
1247
+
1248
+ interface TrackAdded {
1249
+ (track: Track): void;
1250
+ }
1251
+
1252
+ interface TrackChanged {
1253
+ (track: Track): void;
1254
+ }
1255
+
1256
+ interface TrackRemoved {
1257
+ (track: Track, former_position: number): void;
1258
+ }
1259
+
1260
+ // Constructor properties interface
1261
+
1262
+ interface ConstructorProps extends GObject.Object.ConstructorProps {
1263
+ flags: number;
1264
+ speed: number;
1265
+ tmpdir: string;
1266
+ }
1267
+ }
1268
+
1269
+ class BurnSession extends GObject.Object {
1270
+ static $gtype: GObject.GType<BurnSession>;
1271
+
1272
+ // Own properties of BraseroBurn.BurnSession
1273
+
1274
+ get flags(): number;
1275
+ set flags(val: number);
1276
+ get speed(): number;
1277
+ set speed(val: number);
1278
+ get tmpdir(): string;
1279
+ set tmpdir(val: string);
1280
+
1281
+ // Constructors of BraseroBurn.BurnSession
1282
+
1283
+ constructor(properties?: Partial<BurnSession.ConstructorProps>, ...args: any[]);
1284
+
1285
+ _init(...args: any[]): void;
1286
+
1287
+ static ['new'](): BurnSession;
1288
+
1289
+ // Own signals of BraseroBurn.BurnSession
1290
+
1291
+ connect(id: string, callback: (...args: any[]) => any): number;
1292
+ connect_after(id: string, callback: (...args: any[]) => any): number;
1293
+ emit(id: string, ...args: any[]): void;
1294
+ connect(signal: 'output-changed', callback: (_source: this, former_medium: unknown) => void): number;
1295
+ connect_after(signal: 'output-changed', callback: (_source: this, former_medium: unknown) => void): number;
1296
+ emit(signal: 'output-changed', former_medium: unknown): void;
1297
+ connect(signal: 'tag-changed', callback: (_source: this, object: string) => void): number;
1298
+ connect_after(signal: 'tag-changed', callback: (_source: this, object: string) => void): number;
1299
+ emit(signal: 'tag-changed', object: string): void;
1300
+ connect(signal: 'track-added', callback: (_source: this, track: Track) => void): number;
1301
+ connect_after(signal: 'track-added', callback: (_source: this, track: Track) => void): number;
1302
+ emit(signal: 'track-added', track: Track): void;
1303
+ connect(signal: 'track-changed', callback: (_source: this, track: Track) => void): number;
1304
+ connect_after(signal: 'track-changed', callback: (_source: this, track: Track) => void): number;
1305
+ emit(signal: 'track-changed', track: Track): void;
1306
+ connect(
1307
+ signal: 'track-removed',
1308
+ callback: (_source: this, track: Track, former_position: number) => void,
1309
+ ): number;
1310
+ connect_after(
1311
+ signal: 'track-removed',
1312
+ callback: (_source: this, track: Track, former_position: number) => void,
1313
+ ): number;
1314
+ emit(signal: 'track-removed', track: Track, former_position: number): void;
1315
+
1316
+ // Own virtual methods of BraseroBurn.BurnSession
1317
+
1318
+ /**
1319
+ * When the contents of `session` should be written to a
1320
+ * file then this function returns the format of the image to write.
1321
+ *
1322
+ * NOTE: before using this function a #BraseroDrive should have been
1323
+ * set with brasero_burn_session_set_burner () and it should be the
1324
+ * fake drive (see brasero_drive_is_fake ()).
1325
+ */
1326
+ vfunc_get_output_format(): ImageFormat;
1327
+ vfunc_get_output_path(image: string, toc: string): BurnResult;
1328
+ vfunc_set_output_image(format: ImageFormat, image: string, toc: string): BurnResult;
1329
+ vfunc_tag_changed(tag: string): void;
1330
+ vfunc_track_added(track: Track): void;
1331
+ vfunc_track_changed(track: Track): void;
1332
+ vfunc_track_removed(track: Track, former_position: number): void;
1333
+
1334
+ // Own methods of BraseroBurn.BurnSession
1335
+
1336
+ /**
1337
+ * Merges the current flags set in `session` with `flags`.
1338
+ * @param flags a #BraseroBurnFlag
1339
+ */
1340
+ add_flag(flags: BurnFlag): void;
1341
+ /**
1342
+ * Inserts a new track after `sibling` or appended if `sibling` is NULL. If `track` is NULL then all tracks
1343
+ * already in `session` will be removed.
1344
+ * NOTE: if there are already #BraseroTrack objects inserted in the session and if they are not
1345
+ * of the same type as `new_track` then they will be removed before the insertion of `new_track`.
1346
+ * @param new_track a #BraseroTrack or NULL.
1347
+ * @param sibling a #BraseroTrack or NULL.
1348
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully inserted or BRASERO_BURN_ERR otherwise.
1349
+ */
1350
+ add_track(new_track?: Track | null, sibling?: Track | null): BurnResult;
1351
+ can_blank(): BurnResult;
1352
+ can_burn(check_flags: boolean): BurnResult;
1353
+ get_blank_flags(supported: BurnFlag, compulsory: BurnFlag): BurnResult;
1354
+ get_burn_flags(supported: BurnFlag, compulsory: BurnFlag): BurnResult;
1355
+ get_default_output_format(): ImageFormat;
1356
+ /**
1357
+ * Returns the current flags set for `session`.
1358
+ * @returns a #BraseroBurnFlag.
1359
+ */
1360
+ get_flags(): BurnFlag;
1361
+ /**
1362
+ * Sets `type` to reflect the type of data contained in `session`
1363
+ * @param type a #BraseroTrackType or NULL
1364
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful
1365
+ */
1366
+ get_input_type(type: TrackType): BurnResult;
1367
+ /**
1368
+ * Returns the label (a string) set for `session`.
1369
+ * @returns a #gchar or NULL. Do not free after use.
1370
+ */
1371
+ get_label(): string;
1372
+ /**
1373
+ * When the contents of `session` should be written to a
1374
+ * file then this function returns the image path (and if
1375
+ * necessary a toc path).
1376
+ * `image` and `toc` should be freed if not used anymore.
1377
+ *
1378
+ * NOTE: before using this function a #BraseroDrive should have been
1379
+ * set with brasero_burn_session_set_burner () and it should be the
1380
+ * fake drive (see brasero_drive_is_fake ()).
1381
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful; BRASERO_BURN_ERR otherwise.
1382
+ */
1383
+ get_output(): [BurnResult, string, string];
1384
+ /**
1385
+ * When the contents of `session` should be written to a
1386
+ * file then this function returns the format of the image to write.
1387
+ *
1388
+ * NOTE: before using this function a #BraseroDrive should have been
1389
+ * set with brasero_burn_session_set_burner () and it should be the
1390
+ * fake drive (see brasero_drive_is_fake ()).
1391
+ * @returns a #BraseroImageFormat. The format of the image to be written.
1392
+ */
1393
+ get_output_format(): ImageFormat;
1394
+ /**
1395
+ * This function returns the type of output set for the session.
1396
+ * @param output a #BraseroTrackType or NULL
1397
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful; BRASERO_BURN_NOT_READY if no setting has been set; BRASERO_BURN_ERR otherwise.
1398
+ */
1399
+ get_output_type(output: TrackType): BurnResult;
1400
+ get_possible_output_formats(formats: ImageFormat): number;
1401
+ /**
1402
+ * Returns the speed at which the medium should be burnt.
1403
+ * NOTE: before using this function a #BraseroDrive should have been
1404
+ * set with brasero_burn_session_set_burner ().
1405
+ * @returns a #guint64 or 0.
1406
+ */
1407
+ get_rate(): number;
1408
+ /**
1409
+ * Returns the size of the data contained by `session` in bytes or in sectors
1410
+ * @param blocks a #goffset or NULL
1411
+ * @param bytes a #goffset or NULL
1412
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful BRASERO_BURN_NOT_READY if @track needs more time for processing the size BRASERO_BURN_ERR if something is wrong or if it is empty
1413
+ */
1414
+ get_size(blocks: number, bytes: number): BurnResult;
1415
+ /**
1416
+ * Sets `status` to reflect whether `session` is ready to be used.
1417
+ * @param status a #BraseroTrackStatus
1418
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful BRASERO_BURN_NOT_READY if @track needs more time for processing BRASERO_BURN_ERR if something is wrong or if it is empty
1419
+ */
1420
+ get_status(status: Status): BurnResult;
1421
+ /**
1422
+ * For the following functions:
1423
+ * brasero_burn_session_can_burn ()
1424
+ * brasero_burn_session_input_supported ()
1425
+ * brasero_burn_session_output_supported ()
1426
+ * brasero_burn_session_can_blank ()
1427
+ * this function gets whether the checks will
1428
+ * ignore the plugins with errors (return %TRUE).
1429
+ * @returns #gboolean
1430
+ */
1431
+ get_strict_support(): boolean;
1432
+ /**
1433
+ * Returns the path of the directory in which to write temporary directories and files.
1434
+ * @returns a #gchar. The path to the temporary directory.
1435
+ */
1436
+ get_tmpdir(): string;
1437
+ /**
1438
+ * Returns the list of #BraseroTrack added to `session`.
1439
+ * @returns a #GSList or #BraseroTrack object. Do not unref the objects in the list nor destroy the list.
1440
+ */
1441
+ get_tracks(): Track[];
1442
+ input_supported(input: TrackType, check_flags: boolean): BurnResult;
1443
+ /**
1444
+ * Moves `track` after `sibling;` if `sibling` is NULL then it is appended.
1445
+ * @param track a #BraseroTrack.
1446
+ * @param sibling a #BraseroTrack or NULL.
1447
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully moved or BRASERO_BURN_ERR otherwise.
1448
+ */
1449
+ move_track(track: Track, sibling?: Track | null): BurnResult;
1450
+ output_supported(output: TrackType): BurnResult;
1451
+ /**
1452
+ * Removes `flags` from the current flags set for `session`.
1453
+ * @param flags a #BraseroBurnFlag
1454
+ */
1455
+ remove_flag(flags: BurnFlag): void;
1456
+ /**
1457
+ * Removes `track` from `session`.
1458
+ * @param track a #BraseroTrack
1459
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully removed or BRASERO_BURN_ERR otherwise.
1460
+ */
1461
+ remove_track(track: Track): BurnResult;
1462
+ /**
1463
+ * Replaces the current flags set in `session` with `flags`.
1464
+ * @param flags a #BraseroBurnFlag
1465
+ */
1466
+ set_flags(flags: BurnFlag): void;
1467
+ /**
1468
+ * When the contents of `session` should be written to a
1469
+ * file, this function sets format of the image that will be
1470
+ * created.
1471
+ *
1472
+ * NOTE: after a call to this function the #BraseroDrive for
1473
+ * `session` will be the fake #BraseroDrive.
1474
+ *
1475
+ * Since 2.29.0
1476
+ * @param format a #BraseroImageFormat
1477
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set; BRASERO_BURN_ERR otherwise.
1478
+ */
1479
+ set_image_output_format(format: ImageFormat): BurnResult;
1480
+ /**
1481
+ * When the contents of `session` should be written to a
1482
+ * file, this function sets the different parameters of this
1483
+ * image like its path (and the one of the associated toc if
1484
+ * necessary) and its format.
1485
+ *
1486
+ * NOTE: after a call to this function the #BraseroDrive for
1487
+ * `session` will be the fake #BraseroDrive.
1488
+ * @param format a #BraseroImageFormat.
1489
+ * @param image a #gchar or NULL.
1490
+ * @param toc a #gchar or NULL.
1491
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set; BRASERO_BURN_ERR otherwise.
1492
+ */
1493
+ set_image_output_full(format: ImageFormat, image?: string | null, toc?: string | null): BurnResult;
1494
+ /**
1495
+ * Sets the label for `session`.
1496
+ * @param label a #gchar or %NULL
1497
+ */
1498
+ set_label(label?: string | null): void;
1499
+ /**
1500
+ * Sets the speed at which the medium should be burnt.
1501
+ * NOTE: before using this function a #BraseroDrive should have been
1502
+ * set with brasero_burn_session_set_burner ().
1503
+ * @param rate a #guint64
1504
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful; BRASERO_BURN_ERR otherwise.
1505
+ */
1506
+ set_rate(rate: number): BurnResult;
1507
+ /**
1508
+ * For the following functions:
1509
+ * brasero_burn_session_supported ()
1510
+ * brasero_burn_session_input_supported ()
1511
+ * brasero_burn_session_output_supported ()
1512
+ * brasero_burn_session_can_blank ()
1513
+ * this function sets whether these functions will
1514
+ * ignore the plugins with errors (%TRUE).
1515
+ * @param strict_check
1516
+ */
1517
+ set_strict_support(strict_check: boolean): void;
1518
+ /**
1519
+ * Sets the path of the directory in which to write temporary directories and files.
1520
+ * If set to NULL then the result of g_get_tmp_dir () will be used.
1521
+ * @param path a #gchar or NULL
1522
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set; BRASERO_BURN_ERR otherwise.
1523
+ */
1524
+ set_tmpdir(path: string): BurnResult;
1525
+ /**
1526
+ * Associates a new `tag` with `session`. This can be used
1527
+ * to pass arbitrary information for plugins, like parameters
1528
+ * for video discs, ...
1529
+ * NOTE: the #BraseroBurnSession object takes ownership of `value`.
1530
+ * See brasero-tags.h for a list of knowns tags.
1531
+ * @param tag a #gchar *
1532
+ * @param value a #GValue *
1533
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
1534
+ */
1535
+ tag_add(tag: string, value: GObject.Value | any): BurnResult;
1536
+ /**
1537
+ * Associates a new `tag` with `session`. This can be used
1538
+ * to pass arbitrary information for plugins, like parameters
1539
+ * for video discs, ...
1540
+ * See brasero-tags.h for a list of knowns tags.
1541
+ *
1542
+ * Since 2.29.0
1543
+ * @param tag a #gchar *
1544
+ * @param value a #gint
1545
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
1546
+ */
1547
+ tag_add_int(tag: string, value: number): BurnResult;
1548
+ /**
1549
+ * Retrieves a value associated with `session` through
1550
+ * brasero_session_tag_add () and stores it in `value`. Do
1551
+ * not destroy `value` afterwards as it is not a copy.
1552
+ * @param tag a #gchar *
1553
+ * @param value a #GValue
1554
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful BRASERO_BURN_ERR otherwise
1555
+ */
1556
+ tag_lookup(tag: string, value: GObject.Value | any): BurnResult;
1557
+ /**
1558
+ * Retrieves an int value associated with `session` through
1559
+ * brasero_session_tag_add () and returns it.
1560
+ *
1561
+ * Since 2.29.0
1562
+ * @param tag a #gchar
1563
+ * @returns a #gint.
1564
+ */
1565
+ tag_lookup_int(tag: string): number;
1566
+ /**
1567
+ * Removes a value associated with `session` through
1568
+ * brasero_session_tag_add ().
1569
+ * @param tag a #gchar *
1570
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful BRASERO_BURN_ERR otherwise
1571
+ */
1572
+ tag_remove(tag: string): BurnResult;
1573
+ }
1574
+
1575
+ module SessionCfg {
1576
+ // Signal callback interfaces
1577
+
1578
+ interface IsValid {
1579
+ (): void;
1580
+ }
1581
+
1582
+ interface WrongExtension {
1583
+ (): boolean;
1584
+ }
1585
+
1586
+ // Constructor properties interface
1587
+
1588
+ interface ConstructorProps extends SessionSpan.ConstructorProps {}
1589
+ }
1590
+
1591
+ class SessionCfg extends SessionSpan {
1592
+ static $gtype: GObject.GType<SessionCfg>;
1593
+
1594
+ // Constructors of BraseroBurn.SessionCfg
1595
+
1596
+ constructor(properties?: Partial<SessionCfg.ConstructorProps>, ...args: any[]);
1597
+
1598
+ _init(...args: any[]): void;
1599
+
1600
+ static ['new'](): SessionCfg;
1601
+
1602
+ // Own signals of BraseroBurn.SessionCfg
1603
+
1604
+ connect(id: string, callback: (...args: any[]) => any): number;
1605
+ connect_after(id: string, callback: (...args: any[]) => any): number;
1606
+ emit(id: string, ...args: any[]): void;
1607
+ connect(signal: 'is-valid', callback: (_source: this) => void): number;
1608
+ connect_after(signal: 'is-valid', callback: (_source: this) => void): number;
1609
+ emit(signal: 'is-valid'): void;
1610
+ connect(signal: 'wrong-extension', callback: (_source: this) => boolean): number;
1611
+ connect_after(signal: 'wrong-extension', callback: (_source: this) => boolean): number;
1612
+ emit(signal: 'wrong-extension'): void;
1613
+
1614
+ // Own methods of BraseroBurn.SessionCfg
1615
+
1616
+ /**
1617
+ * Adds all flags from `flags` that are supported.
1618
+ * @param flags a #BraseroBurnFlag
1619
+ */
1620
+ add_flags(flags: BurnFlag): void;
1621
+ /**
1622
+ * This function disables autoconfiguration
1623
+ */
1624
+ disable(): void;
1625
+ /**
1626
+ * This function (re)-enables autoconfiguration
1627
+ */
1628
+ enable(): void;
1629
+ /**
1630
+ * This function returns the current status and if
1631
+ * autoconfiguration is/was successful.
1632
+ * @returns a #BraseroSessionError.
1633
+ */
1634
+ get_error(): SessionError;
1635
+ /**
1636
+ * This function returns whether the path returned
1637
+ * by brasero_burn_session_get_output () is an
1638
+ * automatically created one.
1639
+ * @returns a #gboolean. TRUE if the path(s) creation is handled by @session, FALSE if it was set.
1640
+ */
1641
+ has_default_output_path(): boolean;
1642
+ /**
1643
+ * Checks whether a particular flag is compulsory.
1644
+ * @param flag a #BraseroBurnFlag
1645
+ * @returns a #gboolean. TRUE if it is compulsory; FALSE otherwise.
1646
+ */
1647
+ is_compulsory(flag: BurnFlag): boolean;
1648
+ /**
1649
+ * Checks whether a particular flag is supported.
1650
+ * @param flag a #BraseroBurnFlag
1651
+ * @returns a #gboolean. TRUE if it is supported; FALSE otherwise.
1652
+ */
1653
+ is_supported(flag: BurnFlag): boolean;
1654
+ /**
1655
+ * Removes all flags that are not compulsory.
1656
+ * @param flags a #BraseroBurnFlag
1657
+ */
1658
+ remove_flags(flags: BurnFlag): void;
1659
+ }
1660
+
1661
+ module SessionSpan {
1662
+ // Constructor properties interface
1663
+
1664
+ interface ConstructorProps extends BurnSession.ConstructorProps {}
1665
+ }
1666
+
1667
+ class SessionSpan extends BurnSession {
1668
+ static $gtype: GObject.GType<SessionSpan>;
1669
+
1670
+ // Constructors of BraseroBurn.SessionSpan
1671
+
1672
+ constructor(properties?: Partial<SessionSpan.ConstructorProps>, ...args: any[]);
1673
+
1674
+ _init(...args: any[]): void;
1675
+
1676
+ static ['new'](): SessionSpan;
1677
+
1678
+ // Own methods of BraseroBurn.SessionSpan
1679
+
1680
+ /**
1681
+ * Checks whether some data were not included during calls to brasero_session_span_next ().
1682
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data. BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created. BRASERO_BURN_ERR otherwise.
1683
+ */
1684
+ again(): BurnResult;
1685
+ /**
1686
+ * Returns the maximum required space (in sectors)
1687
+ * among all the possible spanned batches.
1688
+ * This means that when burningto a media
1689
+ * it will also be the minimum required
1690
+ * space to burn all the contents in several
1691
+ * batches.
1692
+ * @returns a #goffset.
1693
+ */
1694
+ get_max_space(): number;
1695
+ /**
1696
+ * Sets the next batch of data to be burnt onto the medium inserted in the #BraseroDrive
1697
+ * set for `session` (see brasero_burn_session_set_burner ()). Its free space or it capacity
1698
+ * will be used as the maximum amount of data to be burnt.
1699
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if successful.
1700
+ */
1701
+ next(): BurnResult;
1702
+ /**
1703
+ * Checks if a new #BraseroTrackData can be created from the files remaining in the tree
1704
+ * after calls to brasero_session_span_next (). The maximum size of the data will be the one
1705
+ * of the medium inserted in the #BraseroDrive set for `session` (see brasero_burn_session_set_burner ()).
1706
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data. BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created. BRASERO_BURN_ERR otherwise.
1707
+ */
1708
+ possible(): BurnResult;
1709
+ /**
1710
+ * Get the object ready for spanning a #BraseroBurnSession object. This function
1711
+ * must be called before brasero_session_span_next ().
1712
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if successful.
1713
+ */
1714
+ start(): BurnResult;
1715
+ /**
1716
+ * Ends and cleans a spanning operation started with brasero_session_span_start ().
1717
+ */
1718
+ stop(): void;
1719
+ }
1720
+
1721
+ module Status {
1722
+ // Constructor properties interface
1723
+
1724
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
1725
+ }
1726
+
1727
+ class Status extends GObject.Object {
1728
+ static $gtype: GObject.GType<Status>;
1729
+
1730
+ // Constructors of BraseroBurn.Status
1731
+
1732
+ constructor(properties?: Partial<Status.ConstructorProps>, ...args: any[]);
1733
+
1734
+ _init(...args: any[]): void;
1735
+
1736
+ static ['new'](): Status;
1737
+
1738
+ // Own methods of BraseroBurn.Status
1739
+
1740
+ /**
1741
+ * If brasero_status_get_result () returned BRASERO_BURN_NOT_READY,
1742
+ * this function returns a string describing the operation currently performed.
1743
+ * Free the string when it is not needed anymore.
1744
+ * @returns a #gchar.
1745
+ */
1746
+ get_current_action(): string;
1747
+ /**
1748
+ * If brasero_status_get_result () returned BRASERO_BURN_ERR,
1749
+ * this function returns the error.
1750
+ * @returns a #GError
1751
+ */
1752
+ get_error(): GLib.Error;
1753
+ /**
1754
+ * If brasero_status_get_result () returned BRASERO_BURN_NOT_READY,
1755
+ * this function returns the progress regarding the operation completion.
1756
+ * @returns a #gdouble
1757
+ */
1758
+ get_progress(): number;
1759
+ /**
1760
+ * After an object (see brasero_burn_track_get_status ()) has
1761
+ * been requested its status, this function returns that status.
1762
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the object is ready. BRASERO_BURN_NOT_READY if some time should be given to the object before it is ready. BRASERO_BURN_ERR if there is an error.
1763
+ */
1764
+ get_result(): BurnResult;
1765
+ /**
1766
+ * Sets the status for a request to BRASERO_BURN_OK.
1767
+ */
1768
+ set_completed(): void;
1769
+ /**
1770
+ * Sets the status for a request to BRASERO_BURN_ERR.
1771
+ * @param error a #GError or NULL.
1772
+ */
1773
+ set_error(error: GLib.Error): void;
1774
+ /**
1775
+ * Sets the status for a request to BRASERO_BURN_NOT_READY.
1776
+ * Allows to set a string describing the operation currently performed
1777
+ * as well as the progress regarding the operation completion.
1778
+ * @param progress a #gdouble or -1.0.
1779
+ * @param current_action a #gchar or NULL.
1780
+ */
1781
+ set_not_ready(progress: number, current_action: string): void;
1782
+ /**
1783
+ * Sets the status for a request to BRASERO_BURN_RUNNING.
1784
+ * Allows to set a string describing the operation currently performed
1785
+ * as well as the progress regarding the operation completion.
1786
+ * @param progress a #gdouble or -1.0.
1787
+ * @param current_action a #gchar or NULL.
1788
+ */
1789
+ set_running(progress: number, current_action: string): void;
1790
+ }
1791
+
1792
+ module SumDialog {
1793
+ // Constructor properties interface
1794
+
1795
+ interface ConstructorProps
1796
+ extends ToolDialog.ConstructorProps,
1797
+ Atk.ImplementorIface.ConstructorProps,
1798
+ Gtk.Buildable.ConstructorProps {}
1799
+ }
1800
+
1801
+ class SumDialog extends ToolDialog implements Atk.ImplementorIface, Gtk.Buildable {
1802
+ static $gtype: GObject.GType<SumDialog>;
1803
+
1804
+ // Constructors of BraseroBurn.SumDialog
1805
+
1806
+ constructor(properties?: Partial<SumDialog.ConstructorProps>, ...args: any[]);
1807
+
1808
+ _init(...args: any[]): void;
1809
+
1810
+ static ['new'](): SumDialog;
1811
+
1812
+ // Inherited methods
1813
+ /**
1814
+ * Creates a binding between `source_property` on `source` and `target_property`
1815
+ * on `target`.
1816
+ *
1817
+ * Whenever the `source_property` is changed the `target_property` is
1818
+ * updated using the same value. For instance:
1819
+ *
1820
+ *
1821
+ * ```c
1822
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
1823
+ * ```
1824
+ *
1825
+ *
1826
+ * Will result in the "sensitive" property of the widget #GObject instance to be
1827
+ * updated with the same value of the "active" property of the action #GObject
1828
+ * instance.
1829
+ *
1830
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
1831
+ * if `target_property` on `target` changes then the `source_property` on `source`
1832
+ * will be updated as well.
1833
+ *
1834
+ * The binding will automatically be removed when either the `source` or the
1835
+ * `target` instances are finalized. To remove the binding without affecting the
1836
+ * `source` and the `target` you can just call g_object_unref() on the returned
1837
+ * #GBinding instance.
1838
+ *
1839
+ * Removing the binding by calling g_object_unref() on it must only be done if
1840
+ * the binding, `source` and `target` are only used from a single thread and it
1841
+ * is clear that both `source` and `target` outlive the binding. Especially it
1842
+ * is not safe to rely on this if the binding, `source` or `target` can be
1843
+ * finalized from different threads. Keep another reference to the binding and
1844
+ * use g_binding_unbind() instead to be on the safe side.
1845
+ *
1846
+ * A #GObject can have multiple bindings.
1847
+ * @param source_property the property on @source to bind
1848
+ * @param target the target #GObject
1849
+ * @param target_property the property on @target to bind
1850
+ * @param flags flags to pass to #GBinding
1851
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
1852
+ */
1853
+ bind_property(
1854
+ source_property: string,
1855
+ target: GObject.Object,
1856
+ target_property: string,
1857
+ flags: GObject.BindingFlags,
1858
+ ): GObject.Binding;
1859
+ /**
1860
+ * Complete version of g_object_bind_property().
1861
+ *
1862
+ * Creates a binding between `source_property` on `source` and `target_property`
1863
+ * on `target,` allowing you to set the transformation functions to be used by
1864
+ * the binding.
1865
+ *
1866
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
1867
+ * if `target_property` on `target` changes then the `source_property` on `source`
1868
+ * will be updated as well. The `transform_from` function is only used in case
1869
+ * of bidirectional bindings, otherwise it will be ignored
1870
+ *
1871
+ * The binding will automatically be removed when either the `source` or the
1872
+ * `target` instances are finalized. This will release the reference that is
1873
+ * being held on the #GBinding instance; if you want to hold on to the
1874
+ * #GBinding instance, you will need to hold a reference to it.
1875
+ *
1876
+ * To remove the binding, call g_binding_unbind().
1877
+ *
1878
+ * A #GObject can have multiple bindings.
1879
+ *
1880
+ * The same `user_data` parameter will be used for both `transform_to`
1881
+ * and `transform_from` transformation functions; the `notify` function will
1882
+ * be called once, when the binding is removed. If you need different data
1883
+ * for each transformation function, please use
1884
+ * g_object_bind_property_with_closures() instead.
1885
+ * @param source_property the property on @source to bind
1886
+ * @param target the target #GObject
1887
+ * @param target_property the property on @target to bind
1888
+ * @param flags flags to pass to #GBinding
1889
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
1890
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
1891
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
1892
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
1893
+ */
1894
+ bind_property_full(
1895
+ source_property: string,
1896
+ target: GObject.Object,
1897
+ target_property: string,
1898
+ flags: GObject.BindingFlags,
1899
+ transform_to?: GObject.BindingTransformFunc | null,
1900
+ transform_from?: GObject.BindingTransformFunc | null,
1901
+ notify?: GLib.DestroyNotify | null,
1902
+ ): GObject.Binding;
1903
+ // Conflicted with GObject.Object.bind_property_full
1904
+ bind_property_full(...args: never[]): any;
1905
+ /**
1906
+ * This function is intended for #GObject implementations to re-enforce
1907
+ * a [floating][floating-ref] object reference. Doing this is seldom
1908
+ * required: all #GInitiallyUnowneds are created with a floating reference
1909
+ * which usually just needs to be sunken by calling g_object_ref_sink().
1910
+ */
1911
+ force_floating(): void;
1912
+ /**
1913
+ * Increases the freeze count on `object`. If the freeze count is
1914
+ * non-zero, the emission of "notify" signals on `object` is
1915
+ * stopped. The signals are queued until the freeze count is decreased
1916
+ * to zero. Duplicate notifications are squashed so that at most one
1917
+ * #GObject::notify signal is emitted for each property modified while the
1918
+ * object is frozen.
1919
+ *
1920
+ * This is necessary for accessors that modify multiple properties to prevent
1921
+ * premature notification while the object is still being modified.
1922
+ */
1923
+ freeze_notify(): void;
1924
+ /**
1925
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
1926
+ * @param key name of the key for that association
1927
+ * @returns the data if found, or %NULL if no such data exists.
1928
+ */
1929
+ get_data(key: string): any | null;
1930
+ get_property(property_name: string): any;
1931
+ /**
1932
+ * This function gets back user data pointers stored via
1933
+ * g_object_set_qdata().
1934
+ * @param quark A #GQuark, naming the user data pointer
1935
+ * @returns The user data pointer set, or %NULL
1936
+ */
1937
+ get_qdata(quark: GLib.Quark): any | null;
1938
+ /**
1939
+ * Gets `n_properties` properties for an `object`.
1940
+ * Obtained properties will be set to `values`. All properties must be valid.
1941
+ * Warnings will be emitted and undefined behaviour may result if invalid
1942
+ * properties are passed in.
1943
+ * @param names the names of each property to get
1944
+ * @param values the values of each property to get
1945
+ */
1946
+ getv(names: string[], values: (GObject.Value | any)[]): void;
1947
+ /**
1948
+ * Checks whether `object` has a [floating][floating-ref] reference.
1949
+ * @returns %TRUE if @object has a floating reference
1950
+ */
1951
+ is_floating(): boolean;
1952
+ /**
1953
+ * Emits a "notify" signal for the property `property_name` on `object`.
1954
+ *
1955
+ * When possible, eg. when signaling a property change from within the class
1956
+ * that registered the property, you should use g_object_notify_by_pspec()
1957
+ * instead.
1958
+ *
1959
+ * Note that emission of the notify signal may be blocked with
1960
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1961
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1962
+ * called.
1963
+ * @param property_name the name of a property installed on the class of @object.
1964
+ */
1965
+ notify(property_name: string): void;
1966
+ /**
1967
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
1968
+ *
1969
+ * This function omits the property name lookup, hence it is faster than
1970
+ * g_object_notify().
1971
+ *
1972
+ * One way to avoid using g_object_notify() from within the
1973
+ * class that registered the properties, and using g_object_notify_by_pspec()
1974
+ * instead, is to store the GParamSpec used with
1975
+ * g_object_class_install_property() inside a static array, e.g.:
1976
+ *
1977
+ *
1978
+ * ```c
1979
+ * typedef enum
1980
+ * {
1981
+ * PROP_FOO = 1,
1982
+ * PROP_LAST
1983
+ * } MyObjectProperty;
1984
+ *
1985
+ * static GParamSpec *properties[PROP_LAST];
1986
+ *
1987
+ * static void
1988
+ * my_object_class_init (MyObjectClass *klass)
1989
+ * {
1990
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
1991
+ * 0, 100,
1992
+ * 50,
1993
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
1994
+ * g_object_class_install_property (gobject_class,
1995
+ * PROP_FOO,
1996
+ * properties[PROP_FOO]);
1997
+ * }
1998
+ * ```
1999
+ *
2000
+ *
2001
+ * and then notify a change on the "foo" property with:
2002
+ *
2003
+ *
2004
+ * ```c
2005
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
2006
+ * ```
2007
+ *
2008
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
2009
+ */
2010
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
2011
+ /**
2012
+ * Increases the reference count of `object`.
2013
+ *
2014
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
2015
+ * of `object` will be propagated to the return type (using the GCC typeof()
2016
+ * extension), so any casting the caller needs to do on the return type must be
2017
+ * explicit.
2018
+ * @returns the same @object
2019
+ */
2020
+ ref(): GObject.Object;
2021
+ /**
2022
+ * Increase the reference count of `object,` and possibly remove the
2023
+ * [floating][floating-ref] reference, if `object` has a floating reference.
2024
+ *
2025
+ * In other words, if the object is floating, then this call "assumes
2026
+ * ownership" of the floating reference, converting it to a normal
2027
+ * reference by clearing the floating flag while leaving the reference
2028
+ * count unchanged. If the object is not floating, then this call
2029
+ * adds a new normal reference increasing the reference count by one.
2030
+ *
2031
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
2032
+ * under the same conditions as for g_object_ref().
2033
+ * @returns @object
2034
+ */
2035
+ ref_sink(): GObject.Object;
2036
+ /**
2037
+ * Releases all references to other objects. This can be used to break
2038
+ * reference cycles.
2039
+ *
2040
+ * This function should only be called from object system implementations.
2041
+ */
2042
+ run_dispose(): void;
2043
+ /**
2044
+ * Each object carries around a table of associations from
2045
+ * strings to pointers. This function lets you set an association.
2046
+ *
2047
+ * If the object already had an association with that name,
2048
+ * the old association will be destroyed.
2049
+ *
2050
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
2051
+ * This means a copy of `key` is kept permanently (even after `object` has been
2052
+ * finalized) — so it is recommended to only use a small, bounded set of values
2053
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
2054
+ * @param key name of the key
2055
+ * @param data data to associate with that key
2056
+ */
2057
+ set_data(key: string, data?: any | null): void;
2058
+ set_property(property_name: string, value: any): void;
2059
+ /**
2060
+ * Remove a specified datum from the object's data associations,
2061
+ * without invoking the association's destroy handler.
2062
+ * @param key name of the key
2063
+ * @returns the data if found, or %NULL if no such data exists.
2064
+ */
2065
+ steal_data(key: string): any | null;
2066
+ /**
2067
+ * This function gets back user data pointers stored via
2068
+ * g_object_set_qdata() and removes the `data` from object
2069
+ * without invoking its destroy() function (if any was
2070
+ * set).
2071
+ * Usually, calling this function is only required to update
2072
+ * user data pointers with a destroy notifier, for example:
2073
+ *
2074
+ * ```c
2075
+ * void
2076
+ * object_add_to_user_list (GObject *object,
2077
+ * const gchar *new_string)
2078
+ * {
2079
+ * // the quark, naming the object data
2080
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
2081
+ * // retrieve the old string list
2082
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
2083
+ *
2084
+ * // prepend new string
2085
+ * list = g_list_prepend (list, g_strdup (new_string));
2086
+ * // this changed 'list', so we need to set it again
2087
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
2088
+ * }
2089
+ * static void
2090
+ * free_string_list (gpointer data)
2091
+ * {
2092
+ * GList *node, *list = data;
2093
+ *
2094
+ * for (node = list; node; node = node->next)
2095
+ * g_free (node->data);
2096
+ * g_list_free (list);
2097
+ * }
2098
+ * ```
2099
+ *
2100
+ * Using g_object_get_qdata() in the above example, instead of
2101
+ * g_object_steal_qdata() would have left the destroy function set,
2102
+ * and thus the partial string list would have been freed upon
2103
+ * g_object_set_qdata_full().
2104
+ * @param quark A #GQuark, naming the user data pointer
2105
+ * @returns The user data pointer set, or %NULL
2106
+ */
2107
+ steal_qdata(quark: GLib.Quark): any | null;
2108
+ /**
2109
+ * Reverts the effect of a previous call to
2110
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
2111
+ * and when it reaches zero, queued "notify" signals are emitted.
2112
+ *
2113
+ * Duplicate notifications for each property are squashed so that at most one
2114
+ * #GObject::notify signal is emitted for each property, in the reverse order
2115
+ * in which they have been queued.
2116
+ *
2117
+ * It is an error to call this function when the freeze count is zero.
2118
+ */
2119
+ thaw_notify(): void;
2120
+ /**
2121
+ * Decreases the reference count of `object`. When its reference count
2122
+ * drops to 0, the object is finalized (i.e. its memory is freed).
2123
+ *
2124
+ * If the pointer to the #GObject may be reused in future (for example, if it is
2125
+ * an instance variable of another object), it is recommended to clear the
2126
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
2127
+ * invalid #GObject instance. Use g_clear_object() for this.
2128
+ */
2129
+ unref(): void;
2130
+ /**
2131
+ * This function essentially limits the life time of the `closure` to
2132
+ * the life time of the object. That is, when the object is finalized,
2133
+ * the `closure` is invalidated by calling g_closure_invalidate() on
2134
+ * it, in order to prevent invocations of the closure with a finalized
2135
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
2136
+ * added as marshal guards to the `closure,` to ensure that an extra
2137
+ * reference count is held on `object` during invocation of the
2138
+ * `closure`. Usually, this function will be called on closures that
2139
+ * use this `object` as closure data.
2140
+ * @param closure #GClosure to watch
2141
+ */
2142
+ watch_closure(closure: GObject.Closure): void;
2143
+ vfunc_constructed(): void;
2144
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
2145
+ vfunc_dispose(): void;
2146
+ vfunc_finalize(): void;
2147
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
2148
+ /**
2149
+ * Emits a "notify" signal for the property `property_name` on `object`.
2150
+ *
2151
+ * When possible, eg. when signaling a property change from within the class
2152
+ * that registered the property, you should use g_object_notify_by_pspec()
2153
+ * instead.
2154
+ *
2155
+ * Note that emission of the notify signal may be blocked with
2156
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
2157
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
2158
+ * called.
2159
+ * @param pspec
2160
+ */
2161
+ vfunc_notify(pspec: GObject.ParamSpec): void;
2162
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
2163
+ disconnect(id: number): void;
2164
+ set(properties: { [key: string]: any }): void;
2165
+ block_signal_handler(id: number): any;
2166
+ unblock_signal_handler(id: number): any;
2167
+ stop_emission_by_name(detailedName: string): any;
2168
+ }
2169
+
2170
+ module ToolDialog {
2171
+ // Constructor properties interface
2172
+
2173
+ interface ConstructorProps
2174
+ extends Gtk.Dialog.ConstructorProps,
2175
+ Atk.ImplementorIface.ConstructorProps,
2176
+ Gtk.Buildable.ConstructorProps {}
2177
+ }
2178
+
2179
+ class ToolDialog extends Gtk.Dialog implements Atk.ImplementorIface, Gtk.Buildable {
2180
+ static $gtype: GObject.GType<ToolDialog>;
2181
+
2182
+ // Constructors of BraseroBurn.ToolDialog
2183
+
2184
+ constructor(properties?: Partial<ToolDialog.ConstructorProps>, ...args: any[]);
2185
+
2186
+ _init(...args: any[]): void;
2187
+
2188
+ // Own virtual methods of BraseroBurn.ToolDialog
2189
+
2190
+ /**
2191
+ * Cancels any ongoing operation.
2192
+ */
2193
+ vfunc_cancel(): boolean;
2194
+
2195
+ // Own methods of BraseroBurn.ToolDialog
2196
+
2197
+ /**
2198
+ * Cancels any ongoing operation.
2199
+ * @returns a #gboolean. TRUE when cancellation was successful. FALSE otherwise.
2200
+ */
2201
+ cancel(): boolean;
2202
+
2203
+ // Inherited methods
2204
+ /**
2205
+ * Creates a binding between `source_property` on `source` and `target_property`
2206
+ * on `target`.
2207
+ *
2208
+ * Whenever the `source_property` is changed the `target_property` is
2209
+ * updated using the same value. For instance:
2210
+ *
2211
+ *
2212
+ * ```c
2213
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
2214
+ * ```
2215
+ *
2216
+ *
2217
+ * Will result in the "sensitive" property of the widget #GObject instance to be
2218
+ * updated with the same value of the "active" property of the action #GObject
2219
+ * instance.
2220
+ *
2221
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
2222
+ * if `target_property` on `target` changes then the `source_property` on `source`
2223
+ * will be updated as well.
2224
+ *
2225
+ * The binding will automatically be removed when either the `source` or the
2226
+ * `target` instances are finalized. To remove the binding without affecting the
2227
+ * `source` and the `target` you can just call g_object_unref() on the returned
2228
+ * #GBinding instance.
2229
+ *
2230
+ * Removing the binding by calling g_object_unref() on it must only be done if
2231
+ * the binding, `source` and `target` are only used from a single thread and it
2232
+ * is clear that both `source` and `target` outlive the binding. Especially it
2233
+ * is not safe to rely on this if the binding, `source` or `target` can be
2234
+ * finalized from different threads. Keep another reference to the binding and
2235
+ * use g_binding_unbind() instead to be on the safe side.
2236
+ *
2237
+ * A #GObject can have multiple bindings.
2238
+ * @param source_property the property on @source to bind
2239
+ * @param target the target #GObject
2240
+ * @param target_property the property on @target to bind
2241
+ * @param flags flags to pass to #GBinding
2242
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
2243
+ */
2244
+ bind_property(
2245
+ source_property: string,
2246
+ target: GObject.Object,
2247
+ target_property: string,
2248
+ flags: GObject.BindingFlags,
2249
+ ): GObject.Binding;
2250
+ /**
2251
+ * Complete version of g_object_bind_property().
2252
+ *
2253
+ * Creates a binding between `source_property` on `source` and `target_property`
2254
+ * on `target,` allowing you to set the transformation functions to be used by
2255
+ * the binding.
2256
+ *
2257
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
2258
+ * if `target_property` on `target` changes then the `source_property` on `source`
2259
+ * will be updated as well. The `transform_from` function is only used in case
2260
+ * of bidirectional bindings, otherwise it will be ignored
2261
+ *
2262
+ * The binding will automatically be removed when either the `source` or the
2263
+ * `target` instances are finalized. This will release the reference that is
2264
+ * being held on the #GBinding instance; if you want to hold on to the
2265
+ * #GBinding instance, you will need to hold a reference to it.
2266
+ *
2267
+ * To remove the binding, call g_binding_unbind().
2268
+ *
2269
+ * A #GObject can have multiple bindings.
2270
+ *
2271
+ * The same `user_data` parameter will be used for both `transform_to`
2272
+ * and `transform_from` transformation functions; the `notify` function will
2273
+ * be called once, when the binding is removed. If you need different data
2274
+ * for each transformation function, please use
2275
+ * g_object_bind_property_with_closures() instead.
2276
+ * @param source_property the property on @source to bind
2277
+ * @param target the target #GObject
2278
+ * @param target_property the property on @target to bind
2279
+ * @param flags flags to pass to #GBinding
2280
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
2281
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
2282
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
2283
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
2284
+ */
2285
+ bind_property_full(
2286
+ source_property: string,
2287
+ target: GObject.Object,
2288
+ target_property: string,
2289
+ flags: GObject.BindingFlags,
2290
+ transform_to?: GObject.BindingTransformFunc | null,
2291
+ transform_from?: GObject.BindingTransformFunc | null,
2292
+ notify?: GLib.DestroyNotify | null,
2293
+ ): GObject.Binding;
2294
+ // Conflicted with GObject.Object.bind_property_full
2295
+ bind_property_full(...args: never[]): any;
2296
+ /**
2297
+ * This function is intended for #GObject implementations to re-enforce
2298
+ * a [floating][floating-ref] object reference. Doing this is seldom
2299
+ * required: all #GInitiallyUnowneds are created with a floating reference
2300
+ * which usually just needs to be sunken by calling g_object_ref_sink().
2301
+ */
2302
+ force_floating(): void;
2303
+ /**
2304
+ * Increases the freeze count on `object`. If the freeze count is
2305
+ * non-zero, the emission of "notify" signals on `object` is
2306
+ * stopped. The signals are queued until the freeze count is decreased
2307
+ * to zero. Duplicate notifications are squashed so that at most one
2308
+ * #GObject::notify signal is emitted for each property modified while the
2309
+ * object is frozen.
2310
+ *
2311
+ * This is necessary for accessors that modify multiple properties to prevent
2312
+ * premature notification while the object is still being modified.
2313
+ */
2314
+ freeze_notify(): void;
2315
+ /**
2316
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
2317
+ * @param key name of the key for that association
2318
+ * @returns the data if found, or %NULL if no such data exists.
2319
+ */
2320
+ get_data(key: string): any | null;
2321
+ get_property(property_name: string): any;
2322
+ /**
2323
+ * This function gets back user data pointers stored via
2324
+ * g_object_set_qdata().
2325
+ * @param quark A #GQuark, naming the user data pointer
2326
+ * @returns The user data pointer set, or %NULL
2327
+ */
2328
+ get_qdata(quark: GLib.Quark): any | null;
2329
+ /**
2330
+ * Gets `n_properties` properties for an `object`.
2331
+ * Obtained properties will be set to `values`. All properties must be valid.
2332
+ * Warnings will be emitted and undefined behaviour may result if invalid
2333
+ * properties are passed in.
2334
+ * @param names the names of each property to get
2335
+ * @param values the values of each property to get
2336
+ */
2337
+ getv(names: string[], values: (GObject.Value | any)[]): void;
2338
+ /**
2339
+ * Checks whether `object` has a [floating][floating-ref] reference.
2340
+ * @returns %TRUE if @object has a floating reference
2341
+ */
2342
+ is_floating(): boolean;
2343
+ /**
2344
+ * Emits a "notify" signal for the property `property_name` on `object`.
2345
+ *
2346
+ * When possible, eg. when signaling a property change from within the class
2347
+ * that registered the property, you should use g_object_notify_by_pspec()
2348
+ * instead.
2349
+ *
2350
+ * Note that emission of the notify signal may be blocked with
2351
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
2352
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
2353
+ * called.
2354
+ * @param property_name the name of a property installed on the class of @object.
2355
+ */
2356
+ notify(property_name: string): void;
2357
+ /**
2358
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
2359
+ *
2360
+ * This function omits the property name lookup, hence it is faster than
2361
+ * g_object_notify().
2362
+ *
2363
+ * One way to avoid using g_object_notify() from within the
2364
+ * class that registered the properties, and using g_object_notify_by_pspec()
2365
+ * instead, is to store the GParamSpec used with
2366
+ * g_object_class_install_property() inside a static array, e.g.:
2367
+ *
2368
+ *
2369
+ * ```c
2370
+ * typedef enum
2371
+ * {
2372
+ * PROP_FOO = 1,
2373
+ * PROP_LAST
2374
+ * } MyObjectProperty;
2375
+ *
2376
+ * static GParamSpec *properties[PROP_LAST];
2377
+ *
2378
+ * static void
2379
+ * my_object_class_init (MyObjectClass *klass)
2380
+ * {
2381
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
2382
+ * 0, 100,
2383
+ * 50,
2384
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
2385
+ * g_object_class_install_property (gobject_class,
2386
+ * PROP_FOO,
2387
+ * properties[PROP_FOO]);
2388
+ * }
2389
+ * ```
2390
+ *
2391
+ *
2392
+ * and then notify a change on the "foo" property with:
2393
+ *
2394
+ *
2395
+ * ```c
2396
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
2397
+ * ```
2398
+ *
2399
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
2400
+ */
2401
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
2402
+ /**
2403
+ * Increases the reference count of `object`.
2404
+ *
2405
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
2406
+ * of `object` will be propagated to the return type (using the GCC typeof()
2407
+ * extension), so any casting the caller needs to do on the return type must be
2408
+ * explicit.
2409
+ * @returns the same @object
2410
+ */
2411
+ ref(): GObject.Object;
2412
+ /**
2413
+ * Increase the reference count of `object,` and possibly remove the
2414
+ * [floating][floating-ref] reference, if `object` has a floating reference.
2415
+ *
2416
+ * In other words, if the object is floating, then this call "assumes
2417
+ * ownership" of the floating reference, converting it to a normal
2418
+ * reference by clearing the floating flag while leaving the reference
2419
+ * count unchanged. If the object is not floating, then this call
2420
+ * adds a new normal reference increasing the reference count by one.
2421
+ *
2422
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
2423
+ * under the same conditions as for g_object_ref().
2424
+ * @returns @object
2425
+ */
2426
+ ref_sink(): GObject.Object;
2427
+ /**
2428
+ * Releases all references to other objects. This can be used to break
2429
+ * reference cycles.
2430
+ *
2431
+ * This function should only be called from object system implementations.
2432
+ */
2433
+ run_dispose(): void;
2434
+ /**
2435
+ * Each object carries around a table of associations from
2436
+ * strings to pointers. This function lets you set an association.
2437
+ *
2438
+ * If the object already had an association with that name,
2439
+ * the old association will be destroyed.
2440
+ *
2441
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
2442
+ * This means a copy of `key` is kept permanently (even after `object` has been
2443
+ * finalized) — so it is recommended to only use a small, bounded set of values
2444
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
2445
+ * @param key name of the key
2446
+ * @param data data to associate with that key
2447
+ */
2448
+ set_data(key: string, data?: any | null): void;
2449
+ set_property(property_name: string, value: any): void;
2450
+ /**
2451
+ * Remove a specified datum from the object's data associations,
2452
+ * without invoking the association's destroy handler.
2453
+ * @param key name of the key
2454
+ * @returns the data if found, or %NULL if no such data exists.
2455
+ */
2456
+ steal_data(key: string): any | null;
2457
+ /**
2458
+ * This function gets back user data pointers stored via
2459
+ * g_object_set_qdata() and removes the `data` from object
2460
+ * without invoking its destroy() function (if any was
2461
+ * set).
2462
+ * Usually, calling this function is only required to update
2463
+ * user data pointers with a destroy notifier, for example:
2464
+ *
2465
+ * ```c
2466
+ * void
2467
+ * object_add_to_user_list (GObject *object,
2468
+ * const gchar *new_string)
2469
+ * {
2470
+ * // the quark, naming the object data
2471
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
2472
+ * // retrieve the old string list
2473
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
2474
+ *
2475
+ * // prepend new string
2476
+ * list = g_list_prepend (list, g_strdup (new_string));
2477
+ * // this changed 'list', so we need to set it again
2478
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
2479
+ * }
2480
+ * static void
2481
+ * free_string_list (gpointer data)
2482
+ * {
2483
+ * GList *node, *list = data;
2484
+ *
2485
+ * for (node = list; node; node = node->next)
2486
+ * g_free (node->data);
2487
+ * g_list_free (list);
2488
+ * }
2489
+ * ```
2490
+ *
2491
+ * Using g_object_get_qdata() in the above example, instead of
2492
+ * g_object_steal_qdata() would have left the destroy function set,
2493
+ * and thus the partial string list would have been freed upon
2494
+ * g_object_set_qdata_full().
2495
+ * @param quark A #GQuark, naming the user data pointer
2496
+ * @returns The user data pointer set, or %NULL
2497
+ */
2498
+ steal_qdata(quark: GLib.Quark): any | null;
2499
+ /**
2500
+ * Reverts the effect of a previous call to
2501
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
2502
+ * and when it reaches zero, queued "notify" signals are emitted.
2503
+ *
2504
+ * Duplicate notifications for each property are squashed so that at most one
2505
+ * #GObject::notify signal is emitted for each property, in the reverse order
2506
+ * in which they have been queued.
2507
+ *
2508
+ * It is an error to call this function when the freeze count is zero.
2509
+ */
2510
+ thaw_notify(): void;
2511
+ /**
2512
+ * Decreases the reference count of `object`. When its reference count
2513
+ * drops to 0, the object is finalized (i.e. its memory is freed).
2514
+ *
2515
+ * If the pointer to the #GObject may be reused in future (for example, if it is
2516
+ * an instance variable of another object), it is recommended to clear the
2517
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
2518
+ * invalid #GObject instance. Use g_clear_object() for this.
2519
+ */
2520
+ unref(): void;
2521
+ /**
2522
+ * This function essentially limits the life time of the `closure` to
2523
+ * the life time of the object. That is, when the object is finalized,
2524
+ * the `closure` is invalidated by calling g_closure_invalidate() on
2525
+ * it, in order to prevent invocations of the closure with a finalized
2526
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
2527
+ * added as marshal guards to the `closure,` to ensure that an extra
2528
+ * reference count is held on `object` during invocation of the
2529
+ * `closure`. Usually, this function will be called on closures that
2530
+ * use this `object` as closure data.
2531
+ * @param closure #GClosure to watch
2532
+ */
2533
+ watch_closure(closure: GObject.Closure): void;
2534
+ vfunc_constructed(): void;
2535
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
2536
+ vfunc_dispose(): void;
2537
+ vfunc_finalize(): void;
2538
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
2539
+ /**
2540
+ * Emits a "notify" signal for the property `property_name` on `object`.
2541
+ *
2542
+ * When possible, eg. when signaling a property change from within the class
2543
+ * that registered the property, you should use g_object_notify_by_pspec()
2544
+ * instead.
2545
+ *
2546
+ * Note that emission of the notify signal may be blocked with
2547
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
2548
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
2549
+ * called.
2550
+ * @param pspec
2551
+ */
2552
+ vfunc_notify(pspec: GObject.ParamSpec): void;
2553
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
2554
+ disconnect(id: number): void;
2555
+ set(properties: { [key: string]: any }): void;
2556
+ block_signal_handler(id: number): any;
2557
+ unblock_signal_handler(id: number): any;
2558
+ stop_emission_by_name(detailedName: string): any;
2559
+ }
2560
+
2561
+ module Track {
2562
+ // Signal callback interfaces
2563
+
2564
+ interface Changed {
2565
+ (): void;
2566
+ }
2567
+
2568
+ // Constructor properties interface
2569
+
2570
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
2571
+ }
2572
+
2573
+ class Track extends GObject.Object {
2574
+ static $gtype: GObject.GType<Track>;
2575
+
2576
+ // Constructors of BraseroBurn.Track
2577
+
2578
+ constructor(properties?: Partial<Track.ConstructorProps>, ...args: any[]);
2579
+
2580
+ _init(...args: any[]): void;
2581
+
2582
+ // Own signals of BraseroBurn.Track
2583
+
2584
+ connect(id: string, callback: (...args: any[]) => any): number;
2585
+ connect_after(id: string, callback: (...args: any[]) => any): number;
2586
+ emit(id: string, ...args: any[]): void;
2587
+ connect(signal: 'changed', callback: (_source: this) => void): number;
2588
+ connect_after(signal: 'changed', callback: (_source: this) => void): number;
2589
+ emit(signal: 'changed'): void;
2590
+
2591
+ // Own virtual methods of BraseroBurn.Track
2592
+
2593
+ /**
2594
+ * Used internally in #BraseroTrack implementations to
2595
+ * signal a #BraseroTrack object has changed.
2596
+ */
2597
+ vfunc_changed(): void;
2598
+ /**
2599
+ * Returns the size of the data contained by `track` in bytes or in sectors
2600
+ * @param blocks a #goffset or NULL
2601
+ * @param block_size
2602
+ */
2603
+ vfunc_get_size(blocks: number, block_size: number): BurnResult;
2604
+ /**
2605
+ * Sets `status` to reflect whether `track` is ready to be used
2606
+ * @param status a #BraseroTrackStatus
2607
+ */
2608
+ vfunc_get_status(status: Status): BurnResult;
2609
+ vfunc_get_type(type: TrackType): BurnResult;
2610
+
2611
+ // Own methods of BraseroBurn.Track
2612
+
2613
+ /**
2614
+ * Used internally in #BraseroTrack implementations to
2615
+ * signal a #BraseroTrack object has changed.
2616
+ */
2617
+ changed(): void;
2618
+ /**
2619
+ * Get the current checksum (as a string) for the track
2620
+ * @returns a #gchar * (not to be freed) or NULL
2621
+ */
2622
+ get_checksum(): string;
2623
+ /**
2624
+ * Get the current checksum type for the track if any.
2625
+ * @returns a #BraseroChecksumType
2626
+ */
2627
+ get_checksum_type(): ChecksumType;
2628
+ /**
2629
+ * Returns the size of the data contained by `track` in bytes or in sectors
2630
+ * @param blocks a #goffset or NULL
2631
+ * @param bytes a #goffset or NULL
2632
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful BRASERO_BURN_NOT_READY if @track needs more time for processing the size BRASERO_BURN_ERR if something is wrong or if it is empty
2633
+ */
2634
+ get_size(blocks: number, bytes: number): BurnResult;
2635
+ /**
2636
+ * Sets `status` to reflect whether `track` is ready to be used
2637
+ * @param status a #BraseroTrackStatus
2638
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful BRASERO_BURN_NOT_READY if @track needs more time for processing BRASERO_BURN_ERR if something is wrong or if it is empty
2639
+ */
2640
+ get_status(status: Status): BurnResult;
2641
+ /**
2642
+ * Sets `type` to reflect the type of data contained in `track`
2643
+ * @param type a #BraseroTrackType or NULL
2644
+ * @returns the #BraseroBurnResult of the track
2645
+ */
2646
+ get_track_type(type: TrackType): BurnResult;
2647
+ /**
2648
+ * Sets a checksum for the track
2649
+ * @param type a #BraseroChecksumType
2650
+ * @param checksum a #gchar * holding the checksum
2651
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the checksum was previously empty or matches the new one BRASERO_BURN_ERR otherwise
2652
+ */
2653
+ set_checksum(type: ChecksumType, checksum: string): BurnResult;
2654
+ /**
2655
+ * Associates a new `tag` with a track. This can be used
2656
+ * to pass arbitrary information for plugins, like parameters
2657
+ * for video discs, ...
2658
+ * See brasero-tags.h for a list of knowns tags.
2659
+ * @param tag a #gchar *
2660
+ * @param value a #GValue
2661
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2662
+ */
2663
+ tag_add(tag: string, value: GObject.Value | any): BurnResult;
2664
+ /**
2665
+ * A wrapper around brasero_track_tag_add () to associate
2666
+ * a int value with `track`
2667
+ * See also brasero_track_tag_add ()
2668
+ * @param tag a #gchar *
2669
+ * @param value a #int
2670
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2671
+ */
2672
+ tag_add_int(tag: string, value: number): BurnResult;
2673
+ /**
2674
+ * A wrapper around brasero_track_tag_add () to associate
2675
+ * a string with `track`
2676
+ * See also brasero_track_tag_add ()
2677
+ * @param tag a #gchar *
2678
+ * @param string a #gchar *
2679
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2680
+ */
2681
+ tag_add_string(tag: string, string: string): BurnResult;
2682
+ /**
2683
+ * Adds all tags of `dest` to `src` provided they do not
2684
+ * already exists.
2685
+ * @param src a #BraseroTrack
2686
+ */
2687
+ tag_copy_missing(src: Track): void;
2688
+ /**
2689
+ * Retrieves a value associated with `track` through
2690
+ * brasero_track_tag_add () and stores it in `value`. Do
2691
+ * not destroy `value` afterwards as it is not a copy
2692
+ * @param tag a #gchar *
2693
+ * @param value a #GValue **
2694
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful BRASERO_BURN_ERR otherwise
2695
+ */
2696
+ tag_lookup(tag: string, value: GObject.Value | any): BurnResult;
2697
+ /**
2698
+ * Retrieves a int value associated with `track`. This
2699
+ * is a wrapper around brasero_track_tag_lookup ().
2700
+ * @param tag a #gchar *
2701
+ * @returns a #int; the value or 0 otherwise
2702
+ */
2703
+ tag_lookup_int(tag: string): number;
2704
+ /**
2705
+ * Retrieves a string value associated with `track`. This
2706
+ * is a wrapper around brasero_track_tag_lookup ().
2707
+ * @param tag a #gchar *
2708
+ * @returns a #gchar *. The value or NULL otherwise. Do not free the string as it is not a copy.
2709
+ */
2710
+ tag_lookup_string(tag: string): string;
2711
+ }
2712
+
2713
+ module TrackData {
2714
+ // Constructor properties interface
2715
+
2716
+ interface ConstructorProps extends Track.ConstructorProps {}
2717
+ }
2718
+
2719
+ class TrackData extends Track {
2720
+ static $gtype: GObject.GType<TrackData>;
2721
+
2722
+ // Constructors of BraseroBurn.TrackData
2723
+
2724
+ constructor(properties?: Partial<TrackData.ConstructorProps>, ...args: any[]);
2725
+
2726
+ _init(...args: any[]): void;
2727
+
2728
+ static ['new'](): TrackData;
2729
+
2730
+ // Own virtual methods of BraseroBurn.TrackData
2731
+
2732
+ /**
2733
+ * Adds one or more parameters determining the file system type
2734
+ * and various other options to create an image.
2735
+ * @param fstype a #BraseroImageFS
2736
+ */
2737
+ vfunc_add_fs(fstype: ImageFS): BurnResult;
2738
+ vfunc_get_file_num(): number;
2739
+ /**
2740
+ * Returns the parameters determining the file system type
2741
+ * and various other options to create an image.
2742
+ */
2743
+ vfunc_get_fs(): ImageFS;
2744
+ /**
2745
+ * Returns a list of #BraseroGraftPt.
2746
+ *
2747
+ * Do not free after usage as `track` retains ownership.
2748
+ */
2749
+ vfunc_get_grafts(): GraftPt[] | null;
2750
+ /**
2751
+ * Removes one or more parameters determining the file system type
2752
+ * and various other options to create an image.
2753
+ * @param fstype a #BraseroImageFS
2754
+ */
2755
+ vfunc_rm_fs(fstype: ImageFS): BurnResult;
2756
+ /**
2757
+ * Sets the lists of grafts points (`grafts)` and excluded
2758
+ * URIs (`unreadable)` to be used to create an image.
2759
+ *
2760
+ * Be careful `track` takes ownership of `grafts` and
2761
+ * `unreadable` which must not be freed afterwards.
2762
+ * @param grafts a #GSList of #BraseroGraftPt.
2763
+ * @param unreadable a #GSList of URIS as strings or %NULL.
2764
+ */
2765
+ vfunc_set_source(grafts: GraftPt[], unreadable?: string[] | null): BurnResult;
2766
+
2767
+ // Own methods of BraseroBurn.TrackData
2768
+
2769
+ /**
2770
+ * Adds one or more parameters determining the file system type
2771
+ * and various other options to create an image.
2772
+ * @param fstype a #BraseroImageFS
2773
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2774
+ */
2775
+ add_fs(fstype: ImageFS): BurnResult;
2776
+ /**
2777
+ * Returns a list of URIs which must not be included in
2778
+ * the image to be created.
2779
+ * Do not free the list or any of the URIs after
2780
+ * usage as `track` retains ownership.
2781
+ * @returns a #GSList of #gchar * or %NULL if no URI should be excluded.
2782
+ */
2783
+ get_excluded_list(): string[] | null;
2784
+ /**
2785
+ * Sets the number of files (not directories) in `file_num`.
2786
+ * @returns a #BraseroBurnResult. %TRUE if @file_num was set, %FALSE otherwise.
2787
+ */
2788
+ get_file_num(): [BurnResult, number];
2789
+ /**
2790
+ * Returns the parameters determining the file system type
2791
+ * and various other options to create an image.
2792
+ * @returns a #BraseroImageFS.
2793
+ */
2794
+ get_fs(): ImageFS;
2795
+ /**
2796
+ * Returns a list of #BraseroGraftPt.
2797
+ *
2798
+ * Do not free after usage as `track` retains ownership.
2799
+ * @returns a #GSList of #BraseroGraftPt or %NULL if empty.
2800
+ */
2801
+ get_grafts(): GraftPt[] | null;
2802
+ /**
2803
+ * Removes one or more parameters determining the file system type
2804
+ * and various other options to create an image.
2805
+ * @param fstype a #BraseroImageFS
2806
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2807
+ */
2808
+ rm_fs(fstype: ImageFS): BurnResult;
2809
+ /**
2810
+ * Sets the size of the image to be created (in sectors of 2048 bytes).
2811
+ * @param blocks a #goffset
2812
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2813
+ */
2814
+ set_data_blocks(blocks: number): BurnResult;
2815
+ /**
2816
+ * Sets the number of files (not directories) in `track`.
2817
+ * @param number a #guint64
2818
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2819
+ */
2820
+ set_file_num(number: number): BurnResult;
2821
+ /**
2822
+ * Sets the lists of grafts points (`grafts)` and excluded
2823
+ * URIs (`unreadable)` to be used to create an image.
2824
+ *
2825
+ * Be careful `track` takes ownership of `grafts` and
2826
+ * `unreadable` which must not be freed afterwards.
2827
+ * @param grafts a #GSList of #BraseroGraftPt.
2828
+ * @param unreadable a #GSList of URIS as strings or %NULL.
2829
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
2830
+ */
2831
+ set_source(grafts: GraftPt[], unreadable?: string[] | null): BurnResult;
2832
+ /**
2833
+ * Write to `grafts_path` (a path to a file) the graft points,
2834
+ * and to `excluded_path` (a path to a file) the list of paths to
2835
+ * be excluded; `emptydir` is (path) is an empty
2836
+ * directory to be used for created directories;
2837
+ * `videodir` (a path) is a directory to be used to build the
2838
+ * the video image.
2839
+ *
2840
+ * This is mostly for internal use by mkisofs and similar.
2841
+ *
2842
+ * This function takes care of file name mangling.
2843
+ * @param grafts_path a #gchar.
2844
+ * @param excluded_path a #gchar.
2845
+ * @param emptydir a #gchar.
2846
+ * @param videodir a #gchar or %NULL.
2847
+ * @returns a #BraseroBurnResult.
2848
+ */
2849
+ write_to_paths(
2850
+ grafts_path: string,
2851
+ excluded_path: string,
2852
+ emptydir: string,
2853
+ videodir?: string | null,
2854
+ ): BurnResult;
2855
+ }
2856
+
2857
+ module TrackDataCfg {
2858
+ // Signal callback interfaces
2859
+
2860
+ interface DeepDirectory {
2861
+ (object: string): boolean;
2862
+ }
2863
+
2864
+ interface IconChanged {
2865
+ (): void;
2866
+ }
2867
+
2868
+ interface ImageUri {
2869
+ (object: string): number;
2870
+ }
2871
+
2872
+ interface JolietRename {
2873
+ (): void;
2874
+ }
2875
+
2876
+ interface NameCollision {
2877
+ (object: string): boolean;
2878
+ }
2879
+
2880
+ interface RecursiveSym {
2881
+ (object: string): void;
2882
+ }
2883
+
2884
+ interface SessionAvailable {
2885
+ (object: GObject.Object, p0: boolean): void;
2886
+ }
2887
+
2888
+ interface SessionLoaded {
2889
+ (object: GObject.Object, p0: boolean): void;
2890
+ }
2891
+
2892
+ interface SourceLoaded {
2893
+ (object?: any | null): void;
2894
+ }
2895
+
2896
+ interface SourceLoading {
2897
+ (object: number): void;
2898
+ }
2899
+
2900
+ interface UnknownUri {
2901
+ (object: string): void;
2902
+ }
2903
+
2904
+ interface UnreadableUri {
2905
+ (object: any | null, p0: string): void;
2906
+ }
2907
+
2908
+ // Constructor properties interface
2909
+
2910
+ interface ConstructorProps
2911
+ extends TrackData.ConstructorProps,
2912
+ Gtk.TreeDragDest.ConstructorProps,
2913
+ Gtk.TreeDragSource.ConstructorProps,
2914
+ Gtk.TreeModel.ConstructorProps,
2915
+ Gtk.TreeSortable.ConstructorProps {}
2916
+ }
2917
+
2918
+ class TrackDataCfg
2919
+ extends TrackData
2920
+ implements Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable
2921
+ {
2922
+ static $gtype: GObject.GType<TrackDataCfg>;
2923
+
2924
+ // Constructors of BraseroBurn.TrackDataCfg
2925
+
2926
+ constructor(properties?: Partial<TrackDataCfg.ConstructorProps>, ...args: any[]);
2927
+
2928
+ _init(...args: any[]): void;
2929
+
2930
+ static ['new'](): TrackDataCfg;
2931
+
2932
+ // Own signals of BraseroBurn.TrackDataCfg
2933
+
2934
+ connect(id: string, callback: (...args: any[]) => any): number;
2935
+ connect_after(id: string, callback: (...args: any[]) => any): number;
2936
+ emit(id: string, ...args: any[]): void;
2937
+ connect(signal: 'deep-directory', callback: (_source: this, object: string) => boolean): number;
2938
+ connect_after(signal: 'deep-directory', callback: (_source: this, object: string) => boolean): number;
2939
+ emit(signal: 'deep-directory', object: string): void;
2940
+ connect(signal: 'icon-changed', callback: (_source: this) => void): number;
2941
+ connect_after(signal: 'icon-changed', callback: (_source: this) => void): number;
2942
+ emit(signal: 'icon-changed'): void;
2943
+ connect(signal: 'image-uri', callback: (_source: this, object: string) => number): number;
2944
+ connect_after(signal: 'image-uri', callback: (_source: this, object: string) => number): number;
2945
+ emit(signal: 'image-uri', object: string): void;
2946
+ connect(signal: 'joliet-rename', callback: (_source: this) => void): number;
2947
+ connect_after(signal: 'joliet-rename', callback: (_source: this) => void): number;
2948
+ emit(signal: 'joliet-rename'): void;
2949
+ connect(signal: 'name-collision', callback: (_source: this, object: string) => boolean): number;
2950
+ connect_after(signal: 'name-collision', callback: (_source: this, object: string) => boolean): number;
2951
+ emit(signal: 'name-collision', object: string): void;
2952
+ connect(signal: 'recursive-sym', callback: (_source: this, object: string) => void): number;
2953
+ connect_after(signal: 'recursive-sym', callback: (_source: this, object: string) => void): number;
2954
+ emit(signal: 'recursive-sym', object: string): void;
2955
+ connect(
2956
+ signal: 'session-available',
2957
+ callback: (_source: this, object: GObject.Object, p0: boolean) => void,
2958
+ ): number;
2959
+ connect_after(
2960
+ signal: 'session-available',
2961
+ callback: (_source: this, object: GObject.Object, p0: boolean) => void,
2962
+ ): number;
2963
+ emit(signal: 'session-available', object: GObject.Object, p0: boolean): void;
2964
+ connect(
2965
+ signal: 'session-loaded',
2966
+ callback: (_source: this, object: GObject.Object, p0: boolean) => void,
2967
+ ): number;
2968
+ connect_after(
2969
+ signal: 'session-loaded',
2970
+ callback: (_source: this, object: GObject.Object, p0: boolean) => void,
2971
+ ): number;
2972
+ emit(signal: 'session-loaded', object: GObject.Object, p0: boolean): void;
2973
+ connect(signal: 'source-loaded', callback: (_source: this, object: any | null) => void): number;
2974
+ connect_after(signal: 'source-loaded', callback: (_source: this, object: any | null) => void): number;
2975
+ emit(signal: 'source-loaded', object?: any | null): void;
2976
+ connect(signal: 'source-loading', callback: (_source: this, object: number) => void): number;
2977
+ connect_after(signal: 'source-loading', callback: (_source: this, object: number) => void): number;
2978
+ emit(signal: 'source-loading', object: number): void;
2979
+ connect(signal: 'unknown-uri', callback: (_source: this, object: string) => void): number;
2980
+ connect_after(signal: 'unknown-uri', callback: (_source: this, object: string) => void): number;
2981
+ emit(signal: 'unknown-uri', object: string): void;
2982
+ connect(signal: 'unreadable-uri', callback: (_source: this, object: any | null, p0: string) => void): number;
2983
+ connect_after(
2984
+ signal: 'unreadable-uri',
2985
+ callback: (_source: this, object: any | null, p0: string) => void,
2986
+ ): number;
2987
+ emit(signal: 'unreadable-uri', object: any | null, p0: string): void;
2988
+
2989
+ // Own methods of BraseroBurn.TrackDataCfg
2990
+
2991
+ /**
2992
+ * Add a new file (with `uri` as URI) under a directory (`parent)`.
2993
+ * If `parent` is NULL, the file is added to the root.
2994
+ * Also if `uri` is the path of a directory, this directory will be explored
2995
+ * and all its children added to the tree.
2996
+ * @param uri a #gchar
2997
+ * @param parent a #GtkTreePath or NULL
2998
+ * @returns a #gboolean. TRUE if the operation was successful, FALSE otherwise
2999
+ */
3000
+ add(uri: string, parent: Gtk.TreePath): boolean;
3001
+ /**
3002
+ * Add a new empty directory (with `name` as name) under another directory (`parent)`.
3003
+ * If `parent` is NULL, the file is added to the root.
3004
+ * @param name a #gchar
3005
+ * @param parent a #GtkTreePath or NULL
3006
+ * @returns a #GtkTreePath which should be destroyed when not needed; NULL if the operation was not successful.
3007
+ */
3008
+ add_empty_directory(name: string, parent: Gtk.TreePath): Gtk.TreePath;
3009
+ /**
3010
+ * Prevents `uri` to be filtered while automatic exploration
3011
+ * of added directories is performed.
3012
+ * @param uri a #gchar
3013
+ */
3014
+ dont_filter_uri(uri: string): void;
3015
+ /**
3016
+ * Returns a path pointing to the currently selected icon file.
3017
+ * @returns a #gchar or NULL.
3018
+ */
3019
+ get_icon_path(): string;
3020
+ /**
3021
+ * Removes a file or a directory (as well as its children) from the tree.
3022
+ * NOTE: some files cannot be removed like files from an imported session.
3023
+ * @param treepath a #GtkTreePath
3024
+ * @returns a #gboolean. TRUE if the operation was successful, FALSE otherwise
3025
+ */
3026
+ remove(treepath: Gtk.TreePath): boolean;
3027
+ /**
3028
+ * Renames the file in the tree pointed by `treepath`.
3029
+ * @param newname a #gchar
3030
+ * @param treepath a #GtkTreePath
3031
+ * @returns a #gboolean. TRUE if the operation was successful, FALSE otherwise
3032
+ */
3033
+ rename(newname: string, treepath: Gtk.TreePath): boolean;
3034
+ /**
3035
+ * Completely empties `track` and unloads any currently loaded session
3036
+ * @returns a #gboolean. TRUE if the operation was successful, FALSE otherwise
3037
+ */
3038
+ reset(): boolean;
3039
+ /**
3040
+ * Removes a file from the filtered file list (see brasero_track_data_cfg_get_filtered_model ())
3041
+ * and re-adds it wherever it should be in the tree.
3042
+ * `treepath` is a #GtkTreePath associated with the #GtkTreeModel which holds the
3043
+ * filtered files not the main tree.
3044
+ * @param treepath a #GtkTreePath
3045
+ */
3046
+ restore(treepath: Gtk.TreePath): void;
3047
+ /**
3048
+ * Sets the current icon.
3049
+ * @param icon_path a #gchar
3050
+ * @returns a #gboolean. TRUE if the operation was successful, FALSE otherwise
3051
+ */
3052
+ set_icon(icon_path: string): boolean;
3053
+ /**
3054
+ * Creates a new #BraseroTrackData (stored in `new_track)` from the files contained in `track`. The sum of their sizes
3055
+ * does not exceed `sectors`. This allows to burn a tree on multiple discs. This function can be
3056
+ * called repeatedly; in this case if some files were left out after the previous calls, the newly created BraseroTrackData
3057
+ * is created with all or part of the remaining files.
3058
+ * @param sectors a #goffset
3059
+ * @param new_track a #BraseroTrackData
3060
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data. BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created. BRASERO_BURN_ERR otherwise.
3061
+ */
3062
+ span(sectors: number, new_track: TrackData): BurnResult;
3063
+ /**
3064
+ * Checks whether some files were not included during calls to brasero_track_data_cfg_span ().
3065
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data. BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created. BRASERO_BURN_ERR otherwise.
3066
+ */
3067
+ span_again(): BurnResult;
3068
+ /**
3069
+ * Returns the maximum required space (in sectors)
3070
+ * among all the possible spanned batches.
3071
+ * This means that when burningto a media
3072
+ * it will also be the minimum required
3073
+ * space to burn all the contents in several
3074
+ * batches.
3075
+ * @returns a #goffset.
3076
+ */
3077
+ span_max_space(): number;
3078
+ /**
3079
+ * Checks if a new #BraseroTrackData can be created from the files remaining in the tree
3080
+ * after calls to brasero_track_data_cfg_span ().
3081
+ * @param sectors a #goffset
3082
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data. BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created. BRASERO_BURN_ERR otherwise.
3083
+ */
3084
+ span_possible(sectors: number): BurnResult;
3085
+ /**
3086
+ * Resets the list of files that were included after calls to brasero_track_data_cfg_span ().
3087
+ */
3088
+ span_stop(): void;
3089
+ /**
3090
+ * Unload the contents of the last session of the currently loaded medium.
3091
+ * See brasero_track_data_cfg_load_medium ().
3092
+ */
3093
+ unload_current_medium(): void;
3094
+
3095
+ // Inherited methods
3096
+ /**
3097
+ * Asks the #GtkTreeDragDest to insert a row before the path `dest,`
3098
+ * deriving the contents of the row from `selection_data`. If `dest` is
3099
+ * outside the tree so that inserting before it is impossible, %FALSE
3100
+ * will be returned. Also, %FALSE may be returned if the new row is
3101
+ * not created for some model-specific reason. Should robustly handle
3102
+ * a `dest` no longer found in the model!
3103
+ * @param dest row to drop in front of
3104
+ * @param selection_data data to drop
3105
+ * @returns whether a new row was created before position @dest
3106
+ */
3107
+ drag_data_received(dest: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3108
+ /**
3109
+ * Determines whether a drop is possible before the given `dest_path,`
3110
+ * at the same depth as `dest_path`. i.e., can we drop the data in
3111
+ * `selection_data` at that location. `dest_path` does not have to
3112
+ * exist; the return value will almost certainly be %FALSE if the
3113
+ * parent of `dest_path` doesn’t exist, though.
3114
+ * @param dest_path destination row
3115
+ * @param selection_data the data being dragged
3116
+ * @returns %TRUE if a drop is possible before @dest_path
3117
+ */
3118
+ row_drop_possible(dest_path: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3119
+ /**
3120
+ * Asks the #GtkTreeDragDest to insert a row before the path `dest,`
3121
+ * deriving the contents of the row from `selection_data`. If `dest` is
3122
+ * outside the tree so that inserting before it is impossible, %FALSE
3123
+ * will be returned. Also, %FALSE may be returned if the new row is
3124
+ * not created for some model-specific reason. Should robustly handle
3125
+ * a `dest` no longer found in the model!
3126
+ * @param dest row to drop in front of
3127
+ * @param selection_data data to drop
3128
+ */
3129
+ vfunc_drag_data_received(dest: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3130
+ /**
3131
+ * Determines whether a drop is possible before the given `dest_path,`
3132
+ * at the same depth as `dest_path`. i.e., can we drop the data in
3133
+ * `selection_data` at that location. `dest_path` does not have to
3134
+ * exist; the return value will almost certainly be %FALSE if the
3135
+ * parent of `dest_path` doesn’t exist, though.
3136
+ * @param dest_path destination row
3137
+ * @param selection_data the data being dragged
3138
+ */
3139
+ vfunc_row_drop_possible(dest_path: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3140
+ /**
3141
+ * Asks the #GtkTreeDragSource to delete the row at `path,` because
3142
+ * it was moved somewhere else via drag-and-drop. Returns %FALSE
3143
+ * if the deletion fails because `path` no longer exists, or for
3144
+ * some model-specific reason. Should robustly handle a `path` no
3145
+ * longer found in the model!
3146
+ * @param path row that was being dragged
3147
+ * @returns %TRUE if the row was successfully deleted
3148
+ */
3149
+ drag_data_delete(path: Gtk.TreePath): boolean;
3150
+ /**
3151
+ * Asks the #GtkTreeDragSource to fill in `selection_data` with a
3152
+ * representation of the row at `path`. `selection_data->`target gives
3153
+ * the required type of the data. Should robustly handle a `path` no
3154
+ * longer found in the model!
3155
+ * @param path row that was dragged
3156
+ * @param selection_data a #GtkSelectionData to fill with data from the dragged row
3157
+ * @returns %TRUE if data of the required type was provided
3158
+ */
3159
+ drag_data_get(path: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3160
+ /**
3161
+ * Asks the #GtkTreeDragSource whether a particular row can be used as
3162
+ * the source of a DND operation. If the source doesn’t implement
3163
+ * this interface, the row is assumed draggable.
3164
+ * @param path row on which user is initiating a drag
3165
+ * @returns %TRUE if the row can be dragged
3166
+ */
3167
+ row_draggable(path: Gtk.TreePath): boolean;
3168
+ /**
3169
+ * Asks the #GtkTreeDragSource to delete the row at `path,` because
3170
+ * it was moved somewhere else via drag-and-drop. Returns %FALSE
3171
+ * if the deletion fails because `path` no longer exists, or for
3172
+ * some model-specific reason. Should robustly handle a `path` no
3173
+ * longer found in the model!
3174
+ * @param path row that was being dragged
3175
+ */
3176
+ vfunc_drag_data_delete(path: Gtk.TreePath): boolean;
3177
+ /**
3178
+ * Asks the #GtkTreeDragSource to fill in `selection_data` with a
3179
+ * representation of the row at `path`. `selection_data->`target gives
3180
+ * the required type of the data. Should robustly handle a `path` no
3181
+ * longer found in the model!
3182
+ * @param path row that was dragged
3183
+ * @param selection_data a #GtkSelectionData to fill with data from the dragged row
3184
+ */
3185
+ vfunc_drag_data_get(path: Gtk.TreePath, selection_data: Gtk.SelectionData): boolean;
3186
+ /**
3187
+ * Asks the #GtkTreeDragSource whether a particular row can be used as
3188
+ * the source of a DND operation. If the source doesn’t implement
3189
+ * this interface, the row is assumed draggable.
3190
+ * @param path row on which user is initiating a drag
3191
+ */
3192
+ vfunc_row_draggable(path: Gtk.TreePath): boolean;
3193
+ /**
3194
+ * Creates a new #GtkTreeModel, with `child_model` as the child_model
3195
+ * and `root` as the virtual root.
3196
+ * @param root A #GtkTreePath or %NULL.
3197
+ * @returns A new #GtkTreeModel.
3198
+ */
3199
+ filter_new(root?: Gtk.TreePath | null): Gtk.TreeModel;
3200
+ /**
3201
+ * Calls func on each node in model in a depth-first fashion.
3202
+ *
3203
+ * If `func` returns %TRUE, then the tree ceases to be walked,
3204
+ * and gtk_tree_model_foreach() returns.
3205
+ * @param func a function to be called on each row
3206
+ */
3207
+ foreach(func: Gtk.TreeModelForeachFunc): void;
3208
+ /**
3209
+ * Returns the type of the column.
3210
+ * @param index_ the column index
3211
+ * @returns the type of the column
3212
+ */
3213
+ get_column_type(index_: number): GObject.GType;
3214
+ /**
3215
+ * Returns a set of flags supported by this interface.
3216
+ *
3217
+ * The flags are a bitwise combination of #GtkTreeModelFlags.
3218
+ * The flags supported should not change during the lifetime
3219
+ * of the `tree_model`.
3220
+ * @returns the flags supported by this interface
3221
+ */
3222
+ get_flags(): Gtk.TreeModelFlags;
3223
+ /**
3224
+ * Sets `iter` to a valid iterator pointing to `path`. If `path` does
3225
+ * not exist, `iter` is set to an invalid iterator and %FALSE is returned.
3226
+ * @param path the #GtkTreePath-struct
3227
+ * @returns %TRUE, if @iter was set
3228
+ */
3229
+ get_iter(path: Gtk.TreePath): [boolean, Gtk.TreeIter];
3230
+ /**
3231
+ * Initializes `iter` with the first iterator in the tree
3232
+ * (the one at the path "0") and returns %TRUE. Returns
3233
+ * %FALSE if the tree is empty.
3234
+ * @returns %TRUE, if @iter was set
3235
+ */
3236
+ get_iter_first(): [boolean, Gtk.TreeIter];
3237
+ /**
3238
+ * Sets `iter` to a valid iterator pointing to `path_string,` if it
3239
+ * exists. Otherwise, `iter` is left invalid and %FALSE is returned.
3240
+ * @param path_string a string representation of a #GtkTreePath-struct
3241
+ * @returns %TRUE, if @iter was set
3242
+ */
3243
+ get_iter_from_string(path_string: string): [boolean, Gtk.TreeIter];
3244
+ /**
3245
+ * Returns the number of columns supported by `tree_model`.
3246
+ * @returns the number of columns
3247
+ */
3248
+ get_n_columns(): number;
3249
+ /**
3250
+ * Returns a newly-created #GtkTreePath-struct referenced by `iter`.
3251
+ *
3252
+ * This path should be freed with gtk_tree_path_free().
3253
+ * @param iter the #GtkTreeIter-struct
3254
+ * @returns a newly-created #GtkTreePath-struct
3255
+ */
3256
+ get_path(iter: Gtk.TreeIter): Gtk.TreePath;
3257
+ /**
3258
+ * Generates a string representation of the iter.
3259
+ *
3260
+ * This string is a “:” separated list of numbers.
3261
+ * For example, “4:10:0:3” would be an acceptable
3262
+ * return value for this string.
3263
+ * @param iter a #GtkTreeIter-struct
3264
+ * @returns a newly-allocated string. Must be freed with g_free().
3265
+ */
3266
+ get_string_from_iter(iter: Gtk.TreeIter): string;
3267
+ /**
3268
+ * Initializes and sets `value` to that at `column`.
3269
+ *
3270
+ * When done with `value,` g_value_unset() needs to be called
3271
+ * to free any allocated memory.
3272
+ * @param iter the #GtkTreeIter-struct
3273
+ * @param column the column to lookup the value at
3274
+ */
3275
+ get_value(iter: Gtk.TreeIter, column: number): unknown;
3276
+ /**
3277
+ * Sets `iter` to point to the first child of `parent`.
3278
+ *
3279
+ * If `parent` has no children, %FALSE is returned and `iter` is
3280
+ * set to be invalid. `parent` will remain a valid node after this
3281
+ * function has been called.
3282
+ *
3283
+ * If `parent` is %NULL returns the first node, equivalent to
3284
+ * `gtk_tree_model_get_iter_first (tree_model, iter);`
3285
+ * @param parent the #GtkTreeIter-struct, or %NULL
3286
+ * @returns %TRUE, if @iter has been set to the first child
3287
+ */
3288
+ iter_children(parent?: Gtk.TreeIter | null): [boolean, Gtk.TreeIter];
3289
+ /**
3290
+ * Returns %TRUE if `iter` has children, %FALSE otherwise.
3291
+ * @param iter the #GtkTreeIter-struct to test for children
3292
+ * @returns %TRUE if @iter has children
3293
+ */
3294
+ iter_has_child(iter: Gtk.TreeIter): boolean;
3295
+ /**
3296
+ * Returns the number of children that `iter` has.
3297
+ *
3298
+ * As a special case, if `iter` is %NULL, then the number
3299
+ * of toplevel nodes is returned.
3300
+ * @param iter the #GtkTreeIter-struct, or %NULL
3301
+ * @returns the number of children of @iter
3302
+ */
3303
+ iter_n_children(iter?: Gtk.TreeIter | null): number;
3304
+ /**
3305
+ * Sets `iter` to point to the node following it at the current level.
3306
+ *
3307
+ * If there is no next `iter,` %FALSE is returned and `iter` is set
3308
+ * to be invalid.
3309
+ * @param iter the #GtkTreeIter-struct
3310
+ * @returns %TRUE if @iter has been changed to the next node
3311
+ */
3312
+ iter_next(iter: Gtk.TreeIter): boolean;
3313
+ /**
3314
+ * Sets `iter` to be the child of `parent,` using the given index.
3315
+ *
3316
+ * The first index is 0. If `n` is too big, or `parent` has no children,
3317
+ * `iter` is set to an invalid iterator and %FALSE is returned. `parent`
3318
+ * will remain a valid node after this function has been called. As a
3319
+ * special case, if `parent` is %NULL, then the `n-th` root node
3320
+ * is set.
3321
+ * @param parent the #GtkTreeIter-struct to get the child from, or %NULL.
3322
+ * @param n the index of the desired child
3323
+ * @returns %TRUE, if @parent has an @n-th child
3324
+ */
3325
+ iter_nth_child(parent: Gtk.TreeIter | null, n: number): [boolean, Gtk.TreeIter];
3326
+ /**
3327
+ * Sets `iter` to be the parent of `child`.
3328
+ *
3329
+ * If `child` is at the toplevel, and doesn’t have a parent, then
3330
+ * `iter` is set to an invalid iterator and %FALSE is returned.
3331
+ * `child` will remain a valid node after this function has been
3332
+ * called.
3333
+ *
3334
+ * `iter` will be initialized before the lookup is performed, so `child`
3335
+ * and `iter` cannot point to the same memory location.
3336
+ * @param child the #GtkTreeIter-struct
3337
+ * @returns %TRUE, if @iter is set to the parent of @child
3338
+ */
3339
+ iter_parent(child: Gtk.TreeIter): [boolean, Gtk.TreeIter];
3340
+ /**
3341
+ * Sets `iter` to point to the previous node at the current level.
3342
+ *
3343
+ * If there is no previous `iter,` %FALSE is returned and `iter` is
3344
+ * set to be invalid.
3345
+ * @param iter the #GtkTreeIter-struct
3346
+ * @returns %TRUE if @iter has been changed to the previous node
3347
+ */
3348
+ iter_previous(iter: Gtk.TreeIter): boolean;
3349
+ /**
3350
+ * Lets the tree ref the node.
3351
+ *
3352
+ * This is an optional method for models to implement.
3353
+ * To be more specific, models may ignore this call as it exists
3354
+ * primarily for performance reasons.
3355
+ *
3356
+ * This function is primarily meant as a way for views to let
3357
+ * caching models know when nodes are being displayed (and hence,
3358
+ * whether or not to cache that node). Being displayed means a node
3359
+ * is in an expanded branch, regardless of whether the node is currently
3360
+ * visible in the viewport. For example, a file-system based model
3361
+ * would not want to keep the entire file-hierarchy in memory,
3362
+ * just the sections that are currently being displayed by
3363
+ * every current view.
3364
+ *
3365
+ * A model should be expected to be able to get an iter independent
3366
+ * of its reffed state.
3367
+ * @param iter the #GtkTreeIter-struct
3368
+ */
3369
+ ref_node(iter: Gtk.TreeIter): void;
3370
+ /**
3371
+ * Emits the #GtkTreeModel::row-changed signal on `tree_model`.
3372
+ * @param path a #GtkTreePath-struct pointing to the changed row
3373
+ * @param iter a valid #GtkTreeIter-struct pointing to the changed row
3374
+ */
3375
+ row_changed(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3376
+ /**
3377
+ * Emits the #GtkTreeModel::row-deleted signal on `tree_model`.
3378
+ *
3379
+ * This should be called by models after a row has been removed.
3380
+ * The location pointed to by `path` should be the location that
3381
+ * the row previously was at. It may not be a valid location anymore.
3382
+ *
3383
+ * Nodes that are deleted are not unreffed, this means that any
3384
+ * outstanding references on the deleted node should not be released.
3385
+ * @param path a #GtkTreePath-struct pointing to the previous location of the deleted row
3386
+ */
3387
+ row_deleted(path: Gtk.TreePath): void;
3388
+ /**
3389
+ * Emits the #GtkTreeModel::row-has-child-toggled signal on
3390
+ * `tree_model`. This should be called by models after the child
3391
+ * state of a node changes.
3392
+ * @param path a #GtkTreePath-struct pointing to the changed row
3393
+ * @param iter a valid #GtkTreeIter-struct pointing to the changed row
3394
+ */
3395
+ row_has_child_toggled(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3396
+ /**
3397
+ * Emits the #GtkTreeModel::row-inserted signal on `tree_model`.
3398
+ * @param path a #GtkTreePath-struct pointing to the inserted row
3399
+ * @param iter a valid #GtkTreeIter-struct pointing to the inserted row
3400
+ */
3401
+ row_inserted(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3402
+ /**
3403
+ * Emits the #GtkTreeModel::rows-reordered signal on `tree_model`.
3404
+ *
3405
+ * This should be called by models when their rows have been
3406
+ * reordered.
3407
+ * @param path a #GtkTreePath-struct pointing to the tree node whose children have been reordered
3408
+ * @param iter a valid #GtkTreeIter-struct pointing to the node whose children have been reordered, or %NULL if the depth of @path is 0
3409
+ * @param new_order an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. @new_order`[newpos] = oldpos`
3410
+ */
3411
+ rows_reordered(path: Gtk.TreePath, iter: Gtk.TreeIter | null, new_order: number[]): void;
3412
+ /**
3413
+ * Lets the tree unref the node.
3414
+ *
3415
+ * This is an optional method for models to implement.
3416
+ * To be more specific, models may ignore this call as it exists
3417
+ * primarily for performance reasons. For more information on what
3418
+ * this means, see gtk_tree_model_ref_node().
3419
+ *
3420
+ * Please note that nodes that are deleted are not unreffed.
3421
+ * @param iter the #GtkTreeIter-struct
3422
+ */
3423
+ unref_node(iter: Gtk.TreeIter): void;
3424
+ /**
3425
+ * Returns the type of the column.
3426
+ * @param index_ the column index
3427
+ */
3428
+ vfunc_get_column_type(index_: number): GObject.GType;
3429
+ /**
3430
+ * Returns a set of flags supported by this interface.
3431
+ *
3432
+ * The flags are a bitwise combination of #GtkTreeModelFlags.
3433
+ * The flags supported should not change during the lifetime
3434
+ * of the `tree_model`.
3435
+ */
3436
+ vfunc_get_flags(): Gtk.TreeModelFlags;
3437
+ /**
3438
+ * Sets `iter` to a valid iterator pointing to `path`. If `path` does
3439
+ * not exist, `iter` is set to an invalid iterator and %FALSE is returned.
3440
+ * @param path the #GtkTreePath-struct
3441
+ */
3442
+ vfunc_get_iter(path: Gtk.TreePath): [boolean, Gtk.TreeIter];
3443
+ /**
3444
+ * Returns the number of columns supported by `tree_model`.
3445
+ */
3446
+ vfunc_get_n_columns(): number;
3447
+ /**
3448
+ * Returns a newly-created #GtkTreePath-struct referenced by `iter`.
3449
+ *
3450
+ * This path should be freed with gtk_tree_path_free().
3451
+ * @param iter the #GtkTreeIter-struct
3452
+ */
3453
+ vfunc_get_path(iter: Gtk.TreeIter): Gtk.TreePath;
3454
+ /**
3455
+ * Initializes and sets `value` to that at `column`.
3456
+ *
3457
+ * When done with `value,` g_value_unset() needs to be called
3458
+ * to free any allocated memory.
3459
+ * @param iter the #GtkTreeIter-struct
3460
+ * @param column the column to lookup the value at
3461
+ */
3462
+ vfunc_get_value(iter: Gtk.TreeIter, column: number): unknown;
3463
+ /**
3464
+ * Sets `iter` to point to the first child of `parent`.
3465
+ *
3466
+ * If `parent` has no children, %FALSE is returned and `iter` is
3467
+ * set to be invalid. `parent` will remain a valid node after this
3468
+ * function has been called.
3469
+ *
3470
+ * If `parent` is %NULL returns the first node, equivalent to
3471
+ * `gtk_tree_model_get_iter_first (tree_model, iter);`
3472
+ * @param parent the #GtkTreeIter-struct, or %NULL
3473
+ */
3474
+ vfunc_iter_children(parent?: Gtk.TreeIter | null): [boolean, Gtk.TreeIter];
3475
+ /**
3476
+ * Returns %TRUE if `iter` has children, %FALSE otherwise.
3477
+ * @param iter the #GtkTreeIter-struct to test for children
3478
+ */
3479
+ vfunc_iter_has_child(iter: Gtk.TreeIter): boolean;
3480
+ /**
3481
+ * Returns the number of children that `iter` has.
3482
+ *
3483
+ * As a special case, if `iter` is %NULL, then the number
3484
+ * of toplevel nodes is returned.
3485
+ * @param iter the #GtkTreeIter-struct, or %NULL
3486
+ */
3487
+ vfunc_iter_n_children(iter?: Gtk.TreeIter | null): number;
3488
+ /**
3489
+ * Sets `iter` to point to the node following it at the current level.
3490
+ *
3491
+ * If there is no next `iter,` %FALSE is returned and `iter` is set
3492
+ * to be invalid.
3493
+ * @param iter the #GtkTreeIter-struct
3494
+ */
3495
+ vfunc_iter_next(iter: Gtk.TreeIter): boolean;
3496
+ /**
3497
+ * Sets `iter` to be the child of `parent,` using the given index.
3498
+ *
3499
+ * The first index is 0. If `n` is too big, or `parent` has no children,
3500
+ * `iter` is set to an invalid iterator and %FALSE is returned. `parent`
3501
+ * will remain a valid node after this function has been called. As a
3502
+ * special case, if `parent` is %NULL, then the `n-th` root node
3503
+ * is set.
3504
+ * @param parent the #GtkTreeIter-struct to get the child from, or %NULL.
3505
+ * @param n the index of the desired child
3506
+ */
3507
+ vfunc_iter_nth_child(parent: Gtk.TreeIter | null, n: number): [boolean, Gtk.TreeIter];
3508
+ /**
3509
+ * Sets `iter` to be the parent of `child`.
3510
+ *
3511
+ * If `child` is at the toplevel, and doesn’t have a parent, then
3512
+ * `iter` is set to an invalid iterator and %FALSE is returned.
3513
+ * `child` will remain a valid node after this function has been
3514
+ * called.
3515
+ *
3516
+ * `iter` will be initialized before the lookup is performed, so `child`
3517
+ * and `iter` cannot point to the same memory location.
3518
+ * @param child the #GtkTreeIter-struct
3519
+ */
3520
+ vfunc_iter_parent(child: Gtk.TreeIter): [boolean, Gtk.TreeIter];
3521
+ /**
3522
+ * Sets `iter` to point to the previous node at the current level.
3523
+ *
3524
+ * If there is no previous `iter,` %FALSE is returned and `iter` is
3525
+ * set to be invalid.
3526
+ * @param iter the #GtkTreeIter-struct
3527
+ */
3528
+ vfunc_iter_previous(iter: Gtk.TreeIter): boolean;
3529
+ /**
3530
+ * Lets the tree ref the node.
3531
+ *
3532
+ * This is an optional method for models to implement.
3533
+ * To be more specific, models may ignore this call as it exists
3534
+ * primarily for performance reasons.
3535
+ *
3536
+ * This function is primarily meant as a way for views to let
3537
+ * caching models know when nodes are being displayed (and hence,
3538
+ * whether or not to cache that node). Being displayed means a node
3539
+ * is in an expanded branch, regardless of whether the node is currently
3540
+ * visible in the viewport. For example, a file-system based model
3541
+ * would not want to keep the entire file-hierarchy in memory,
3542
+ * just the sections that are currently being displayed by
3543
+ * every current view.
3544
+ *
3545
+ * A model should be expected to be able to get an iter independent
3546
+ * of its reffed state.
3547
+ * @param iter the #GtkTreeIter-struct
3548
+ */
3549
+ vfunc_ref_node(iter: Gtk.TreeIter): void;
3550
+ /**
3551
+ * Emits the #GtkTreeModel::row-changed signal on `tree_model`.
3552
+ * @param path a #GtkTreePath-struct pointing to the changed row
3553
+ * @param iter a valid #GtkTreeIter-struct pointing to the changed row
3554
+ */
3555
+ vfunc_row_changed(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3556
+ /**
3557
+ * Emits the #GtkTreeModel::row-deleted signal on `tree_model`.
3558
+ *
3559
+ * This should be called by models after a row has been removed.
3560
+ * The location pointed to by `path` should be the location that
3561
+ * the row previously was at. It may not be a valid location anymore.
3562
+ *
3563
+ * Nodes that are deleted are not unreffed, this means that any
3564
+ * outstanding references on the deleted node should not be released.
3565
+ * @param path a #GtkTreePath-struct pointing to the previous location of the deleted row
3566
+ */
3567
+ vfunc_row_deleted(path: Gtk.TreePath): void;
3568
+ /**
3569
+ * Emits the #GtkTreeModel::row-has-child-toggled signal on
3570
+ * `tree_model`. This should be called by models after the child
3571
+ * state of a node changes.
3572
+ * @param path a #GtkTreePath-struct pointing to the changed row
3573
+ * @param iter a valid #GtkTreeIter-struct pointing to the changed row
3574
+ */
3575
+ vfunc_row_has_child_toggled(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3576
+ /**
3577
+ * Emits the #GtkTreeModel::row-inserted signal on `tree_model`.
3578
+ * @param path a #GtkTreePath-struct pointing to the inserted row
3579
+ * @param iter a valid #GtkTreeIter-struct pointing to the inserted row
3580
+ */
3581
+ vfunc_row_inserted(path: Gtk.TreePath, iter: Gtk.TreeIter): void;
3582
+ /**
3583
+ * Lets the tree unref the node.
3584
+ *
3585
+ * This is an optional method for models to implement.
3586
+ * To be more specific, models may ignore this call as it exists
3587
+ * primarily for performance reasons. For more information on what
3588
+ * this means, see gtk_tree_model_ref_node().
3589
+ *
3590
+ * Please note that nodes that are deleted are not unreffed.
3591
+ * @param iter the #GtkTreeIter-struct
3592
+ */
3593
+ vfunc_unref_node(iter: Gtk.TreeIter): void;
3594
+ /**
3595
+ * Fills in `sort_column_id` and `order` with the current sort column and the
3596
+ * order. It returns %TRUE unless the `sort_column_id` is
3597
+ * %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or
3598
+ * %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.
3599
+ * @returns %TRUE if the sort column is not one of the special sort column ids.
3600
+ */
3601
+ get_sort_column_id(): [boolean, number, Gtk.SortType];
3602
+ /**
3603
+ * Returns %TRUE if the model has a default sort function. This is used
3604
+ * primarily by GtkTreeViewColumns in order to determine if a model can
3605
+ * go back to the default state, or not.
3606
+ * @returns %TRUE, if the model has a default sort function
3607
+ */
3608
+ has_default_sort_func(): boolean;
3609
+ /**
3610
+ * Sets the default comparison function used when sorting to be `sort_func`.
3611
+ * If the current sort column id of `sortable` is
3612
+ * %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using
3613
+ * this function.
3614
+ *
3615
+ * If `sort_func` is %NULL, then there will be no default comparison function.
3616
+ * This means that once the model has been sorted, it can’t go back to the
3617
+ * default state. In this case, when the current sort column id of `sortable`
3618
+ * is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
3619
+ * @param sort_func The comparison function
3620
+ * @param destroy Destroy notifier of @user_data, or %NULL
3621
+ */
3622
+ set_default_sort_func(sort_func: Gtk.TreeIterCompareFunc, destroy?: GLib.DestroyNotify | null): void;
3623
+ /**
3624
+ * Sets the current sort column to be `sort_column_id`. The `sortable` will
3625
+ * resort itself to reflect this change, after emitting a
3626
+ * #GtkTreeSortable::sort-column-changed signal. `sort_column_id` may either be
3627
+ * a regular column id, or one of the following special values:
3628
+ *
3629
+ * - %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function
3630
+ * will be used, if it is set
3631
+ *
3632
+ * - %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: no sorting will occur
3633
+ * @param sort_column_id the sort column id to set
3634
+ * @param order The sort order of the column
3635
+ */
3636
+ set_sort_column_id(sort_column_id: number, order: Gtk.SortType): void;
3637
+ /**
3638
+ * Sets the comparison function used when sorting to be `sort_func`. If the
3639
+ * current sort column id of `sortable` is the same as `sort_column_id,` then
3640
+ * the model will sort using this function.
3641
+ * @param sort_column_id the sort column id to set the function for
3642
+ * @param sort_func The comparison function
3643
+ * @param destroy Destroy notifier of @user_data, or %NULL
3644
+ */
3645
+ set_sort_func(
3646
+ sort_column_id: number,
3647
+ sort_func: Gtk.TreeIterCompareFunc,
3648
+ destroy?: GLib.DestroyNotify | null,
3649
+ ): void;
3650
+ /**
3651
+ * Emits a #GtkTreeSortable::sort-column-changed signal on `sortable`.
3652
+ */
3653
+ sort_column_changed(): void;
3654
+ /**
3655
+ * Fills in `sort_column_id` and `order` with the current sort column and the
3656
+ * order. It returns %TRUE unless the `sort_column_id` is
3657
+ * %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or
3658
+ * %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.
3659
+ */
3660
+ vfunc_get_sort_column_id(): [boolean, number, Gtk.SortType];
3661
+ /**
3662
+ * Returns %TRUE if the model has a default sort function. This is used
3663
+ * primarily by GtkTreeViewColumns in order to determine if a model can
3664
+ * go back to the default state, or not.
3665
+ */
3666
+ vfunc_has_default_sort_func(): boolean;
3667
+ /**
3668
+ * Sets the default comparison function used when sorting to be `sort_func`.
3669
+ * If the current sort column id of `sortable` is
3670
+ * %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using
3671
+ * this function.
3672
+ *
3673
+ * If `sort_func` is %NULL, then there will be no default comparison function.
3674
+ * This means that once the model has been sorted, it can’t go back to the
3675
+ * default state. In this case, when the current sort column id of `sortable`
3676
+ * is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
3677
+ * @param sort_func The comparison function
3678
+ * @param destroy Destroy notifier of @user_data, or %NULL
3679
+ */
3680
+ vfunc_set_default_sort_func(sort_func: Gtk.TreeIterCompareFunc, destroy?: GLib.DestroyNotify | null): void;
3681
+ /**
3682
+ * Sets the current sort column to be `sort_column_id`. The `sortable` will
3683
+ * resort itself to reflect this change, after emitting a
3684
+ * #GtkTreeSortable::sort-column-changed signal. `sort_column_id` may either be
3685
+ * a regular column id, or one of the following special values:
3686
+ *
3687
+ * - %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function
3688
+ * will be used, if it is set
3689
+ *
3690
+ * - %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: no sorting will occur
3691
+ * @param sort_column_id the sort column id to set
3692
+ * @param order The sort order of the column
3693
+ */
3694
+ vfunc_set_sort_column_id(sort_column_id: number, order: Gtk.SortType): void;
3695
+ /**
3696
+ * Sets the comparison function used when sorting to be `sort_func`. If the
3697
+ * current sort column id of `sortable` is the same as `sort_column_id,` then
3698
+ * the model will sort using this function.
3699
+ * @param sort_column_id the sort column id to set the function for
3700
+ * @param sort_func The comparison function
3701
+ * @param destroy Destroy notifier of @user_data, or %NULL
3702
+ */
3703
+ vfunc_set_sort_func(
3704
+ sort_column_id: number,
3705
+ sort_func: Gtk.TreeIterCompareFunc,
3706
+ destroy?: GLib.DestroyNotify | null,
3707
+ ): void;
3708
+ /**
3709
+ * Emits a #GtkTreeSortable::sort-column-changed signal on `sortable`.
3710
+ */
3711
+ vfunc_sort_column_changed(): void;
3712
+ /**
3713
+ * Creates a binding between `source_property` on `source` and `target_property`
3714
+ * on `target`.
3715
+ *
3716
+ * Whenever the `source_property` is changed the `target_property` is
3717
+ * updated using the same value. For instance:
3718
+ *
3719
+ *
3720
+ * ```c
3721
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
3722
+ * ```
3723
+ *
3724
+ *
3725
+ * Will result in the "sensitive" property of the widget #GObject instance to be
3726
+ * updated with the same value of the "active" property of the action #GObject
3727
+ * instance.
3728
+ *
3729
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
3730
+ * if `target_property` on `target` changes then the `source_property` on `source`
3731
+ * will be updated as well.
3732
+ *
3733
+ * The binding will automatically be removed when either the `source` or the
3734
+ * `target` instances are finalized. To remove the binding without affecting the
3735
+ * `source` and the `target` you can just call g_object_unref() on the returned
3736
+ * #GBinding instance.
3737
+ *
3738
+ * Removing the binding by calling g_object_unref() on it must only be done if
3739
+ * the binding, `source` and `target` are only used from a single thread and it
3740
+ * is clear that both `source` and `target` outlive the binding. Especially it
3741
+ * is not safe to rely on this if the binding, `source` or `target` can be
3742
+ * finalized from different threads. Keep another reference to the binding and
3743
+ * use g_binding_unbind() instead to be on the safe side.
3744
+ *
3745
+ * A #GObject can have multiple bindings.
3746
+ * @param source_property the property on @source to bind
3747
+ * @param target the target #GObject
3748
+ * @param target_property the property on @target to bind
3749
+ * @param flags flags to pass to #GBinding
3750
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
3751
+ */
3752
+ bind_property(
3753
+ source_property: string,
3754
+ target: GObject.Object,
3755
+ target_property: string,
3756
+ flags: GObject.BindingFlags,
3757
+ ): GObject.Binding;
3758
+ /**
3759
+ * Complete version of g_object_bind_property().
3760
+ *
3761
+ * Creates a binding between `source_property` on `source` and `target_property`
3762
+ * on `target,` allowing you to set the transformation functions to be used by
3763
+ * the binding.
3764
+ *
3765
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
3766
+ * if `target_property` on `target` changes then the `source_property` on `source`
3767
+ * will be updated as well. The `transform_from` function is only used in case
3768
+ * of bidirectional bindings, otherwise it will be ignored
3769
+ *
3770
+ * The binding will automatically be removed when either the `source` or the
3771
+ * `target` instances are finalized. This will release the reference that is
3772
+ * being held on the #GBinding instance; if you want to hold on to the
3773
+ * #GBinding instance, you will need to hold a reference to it.
3774
+ *
3775
+ * To remove the binding, call g_binding_unbind().
3776
+ *
3777
+ * A #GObject can have multiple bindings.
3778
+ *
3779
+ * The same `user_data` parameter will be used for both `transform_to`
3780
+ * and `transform_from` transformation functions; the `notify` function will
3781
+ * be called once, when the binding is removed. If you need different data
3782
+ * for each transformation function, please use
3783
+ * g_object_bind_property_with_closures() instead.
3784
+ * @param source_property the property on @source to bind
3785
+ * @param target the target #GObject
3786
+ * @param target_property the property on @target to bind
3787
+ * @param flags flags to pass to #GBinding
3788
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
3789
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
3790
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
3791
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
3792
+ */
3793
+ bind_property_full(
3794
+ source_property: string,
3795
+ target: GObject.Object,
3796
+ target_property: string,
3797
+ flags: GObject.BindingFlags,
3798
+ transform_to?: GObject.BindingTransformFunc | null,
3799
+ transform_from?: GObject.BindingTransformFunc | null,
3800
+ notify?: GLib.DestroyNotify | null,
3801
+ ): GObject.Binding;
3802
+ // Conflicted with GObject.Object.bind_property_full
3803
+ bind_property_full(...args: never[]): any;
3804
+ /**
3805
+ * This function is intended for #GObject implementations to re-enforce
3806
+ * a [floating][floating-ref] object reference. Doing this is seldom
3807
+ * required: all #GInitiallyUnowneds are created with a floating reference
3808
+ * which usually just needs to be sunken by calling g_object_ref_sink().
3809
+ */
3810
+ force_floating(): void;
3811
+ /**
3812
+ * Increases the freeze count on `object`. If the freeze count is
3813
+ * non-zero, the emission of "notify" signals on `object` is
3814
+ * stopped. The signals are queued until the freeze count is decreased
3815
+ * to zero. Duplicate notifications are squashed so that at most one
3816
+ * #GObject::notify signal is emitted for each property modified while the
3817
+ * object is frozen.
3818
+ *
3819
+ * This is necessary for accessors that modify multiple properties to prevent
3820
+ * premature notification while the object is still being modified.
3821
+ */
3822
+ freeze_notify(): void;
3823
+ /**
3824
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
3825
+ * @param key name of the key for that association
3826
+ * @returns the data if found, or %NULL if no such data exists.
3827
+ */
3828
+ get_data(key: string): any | null;
3829
+ get_property(property_name: string): any;
3830
+ /**
3831
+ * This function gets back user data pointers stored via
3832
+ * g_object_set_qdata().
3833
+ * @param quark A #GQuark, naming the user data pointer
3834
+ * @returns The user data pointer set, or %NULL
3835
+ */
3836
+ get_qdata(quark: GLib.Quark): any | null;
3837
+ /**
3838
+ * Gets `n_properties` properties for an `object`.
3839
+ * Obtained properties will be set to `values`. All properties must be valid.
3840
+ * Warnings will be emitted and undefined behaviour may result if invalid
3841
+ * properties are passed in.
3842
+ * @param names the names of each property to get
3843
+ * @param values the values of each property to get
3844
+ */
3845
+ getv(names: string[], values: (GObject.Value | any)[]): void;
3846
+ /**
3847
+ * Checks whether `object` has a [floating][floating-ref] reference.
3848
+ * @returns %TRUE if @object has a floating reference
3849
+ */
3850
+ is_floating(): boolean;
3851
+ /**
3852
+ * Emits a "notify" signal for the property `property_name` on `object`.
3853
+ *
3854
+ * When possible, eg. when signaling a property change from within the class
3855
+ * that registered the property, you should use g_object_notify_by_pspec()
3856
+ * instead.
3857
+ *
3858
+ * Note that emission of the notify signal may be blocked with
3859
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
3860
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
3861
+ * called.
3862
+ * @param property_name the name of a property installed on the class of @object.
3863
+ */
3864
+ notify(property_name: string): void;
3865
+ /**
3866
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
3867
+ *
3868
+ * This function omits the property name lookup, hence it is faster than
3869
+ * g_object_notify().
3870
+ *
3871
+ * One way to avoid using g_object_notify() from within the
3872
+ * class that registered the properties, and using g_object_notify_by_pspec()
3873
+ * instead, is to store the GParamSpec used with
3874
+ * g_object_class_install_property() inside a static array, e.g.:
3875
+ *
3876
+ *
3877
+ * ```c
3878
+ * typedef enum
3879
+ * {
3880
+ * PROP_FOO = 1,
3881
+ * PROP_LAST
3882
+ * } MyObjectProperty;
3883
+ *
3884
+ * static GParamSpec *properties[PROP_LAST];
3885
+ *
3886
+ * static void
3887
+ * my_object_class_init (MyObjectClass *klass)
3888
+ * {
3889
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
3890
+ * 0, 100,
3891
+ * 50,
3892
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
3893
+ * g_object_class_install_property (gobject_class,
3894
+ * PROP_FOO,
3895
+ * properties[PROP_FOO]);
3896
+ * }
3897
+ * ```
3898
+ *
3899
+ *
3900
+ * and then notify a change on the "foo" property with:
3901
+ *
3902
+ *
3903
+ * ```c
3904
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
3905
+ * ```
3906
+ *
3907
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
3908
+ */
3909
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
3910
+ /**
3911
+ * Increases the reference count of `object`.
3912
+ *
3913
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
3914
+ * of `object` will be propagated to the return type (using the GCC typeof()
3915
+ * extension), so any casting the caller needs to do on the return type must be
3916
+ * explicit.
3917
+ * @returns the same @object
3918
+ */
3919
+ ref(): GObject.Object;
3920
+ /**
3921
+ * Increase the reference count of `object,` and possibly remove the
3922
+ * [floating][floating-ref] reference, if `object` has a floating reference.
3923
+ *
3924
+ * In other words, if the object is floating, then this call "assumes
3925
+ * ownership" of the floating reference, converting it to a normal
3926
+ * reference by clearing the floating flag while leaving the reference
3927
+ * count unchanged. If the object is not floating, then this call
3928
+ * adds a new normal reference increasing the reference count by one.
3929
+ *
3930
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
3931
+ * under the same conditions as for g_object_ref().
3932
+ * @returns @object
3933
+ */
3934
+ ref_sink(): GObject.Object;
3935
+ /**
3936
+ * Releases all references to other objects. This can be used to break
3937
+ * reference cycles.
3938
+ *
3939
+ * This function should only be called from object system implementations.
3940
+ */
3941
+ run_dispose(): void;
3942
+ /**
3943
+ * Each object carries around a table of associations from
3944
+ * strings to pointers. This function lets you set an association.
3945
+ *
3946
+ * If the object already had an association with that name,
3947
+ * the old association will be destroyed.
3948
+ *
3949
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
3950
+ * This means a copy of `key` is kept permanently (even after `object` has been
3951
+ * finalized) — so it is recommended to only use a small, bounded set of values
3952
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
3953
+ * @param key name of the key
3954
+ * @param data data to associate with that key
3955
+ */
3956
+ set_data(key: string, data?: any | null): void;
3957
+ set_property(property_name: string, value: any): void;
3958
+ /**
3959
+ * Remove a specified datum from the object's data associations,
3960
+ * without invoking the association's destroy handler.
3961
+ * @param key name of the key
3962
+ * @returns the data if found, or %NULL if no such data exists.
3963
+ */
3964
+ steal_data(key: string): any | null;
3965
+ /**
3966
+ * This function gets back user data pointers stored via
3967
+ * g_object_set_qdata() and removes the `data` from object
3968
+ * without invoking its destroy() function (if any was
3969
+ * set).
3970
+ * Usually, calling this function is only required to update
3971
+ * user data pointers with a destroy notifier, for example:
3972
+ *
3973
+ * ```c
3974
+ * void
3975
+ * object_add_to_user_list (GObject *object,
3976
+ * const gchar *new_string)
3977
+ * {
3978
+ * // the quark, naming the object data
3979
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
3980
+ * // retrieve the old string list
3981
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
3982
+ *
3983
+ * // prepend new string
3984
+ * list = g_list_prepend (list, g_strdup (new_string));
3985
+ * // this changed 'list', so we need to set it again
3986
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
3987
+ * }
3988
+ * static void
3989
+ * free_string_list (gpointer data)
3990
+ * {
3991
+ * GList *node, *list = data;
3992
+ *
3993
+ * for (node = list; node; node = node->next)
3994
+ * g_free (node->data);
3995
+ * g_list_free (list);
3996
+ * }
3997
+ * ```
3998
+ *
3999
+ * Using g_object_get_qdata() in the above example, instead of
4000
+ * g_object_steal_qdata() would have left the destroy function set,
4001
+ * and thus the partial string list would have been freed upon
4002
+ * g_object_set_qdata_full().
4003
+ * @param quark A #GQuark, naming the user data pointer
4004
+ * @returns The user data pointer set, or %NULL
4005
+ */
4006
+ steal_qdata(quark: GLib.Quark): any | null;
4007
+ /**
4008
+ * Reverts the effect of a previous call to
4009
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
4010
+ * and when it reaches zero, queued "notify" signals are emitted.
4011
+ *
4012
+ * Duplicate notifications for each property are squashed so that at most one
4013
+ * #GObject::notify signal is emitted for each property, in the reverse order
4014
+ * in which they have been queued.
4015
+ *
4016
+ * It is an error to call this function when the freeze count is zero.
4017
+ */
4018
+ thaw_notify(): void;
4019
+ /**
4020
+ * Decreases the reference count of `object`. When its reference count
4021
+ * drops to 0, the object is finalized (i.e. its memory is freed).
4022
+ *
4023
+ * If the pointer to the #GObject may be reused in future (for example, if it is
4024
+ * an instance variable of another object), it is recommended to clear the
4025
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
4026
+ * invalid #GObject instance. Use g_clear_object() for this.
4027
+ */
4028
+ unref(): void;
4029
+ /**
4030
+ * This function essentially limits the life time of the `closure` to
4031
+ * the life time of the object. That is, when the object is finalized,
4032
+ * the `closure` is invalidated by calling g_closure_invalidate() on
4033
+ * it, in order to prevent invocations of the closure with a finalized
4034
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
4035
+ * added as marshal guards to the `closure,` to ensure that an extra
4036
+ * reference count is held on `object` during invocation of the
4037
+ * `closure`. Usually, this function will be called on closures that
4038
+ * use this `object` as closure data.
4039
+ * @param closure #GClosure to watch
4040
+ */
4041
+ watch_closure(closure: GObject.Closure): void;
4042
+ vfunc_constructed(): void;
4043
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
4044
+ vfunc_dispose(): void;
4045
+ vfunc_finalize(): void;
4046
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
4047
+ /**
4048
+ * Emits a "notify" signal for the property `property_name` on `object`.
4049
+ *
4050
+ * When possible, eg. when signaling a property change from within the class
4051
+ * that registered the property, you should use g_object_notify_by_pspec()
4052
+ * instead.
4053
+ *
4054
+ * Note that emission of the notify signal may be blocked with
4055
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
4056
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
4057
+ * called.
4058
+ * @param pspec
4059
+ */
4060
+ vfunc_notify(pspec: GObject.ParamSpec): void;
4061
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
4062
+ disconnect(id: number): void;
4063
+ set(properties: { [key: string]: any }): void;
4064
+ block_signal_handler(id: number): any;
4065
+ unblock_signal_handler(id: number): any;
4066
+ stop_emission_by_name(detailedName: string): any;
4067
+ }
4068
+
4069
+ module TrackDisc {
4070
+ // Constructor properties interface
4071
+
4072
+ interface ConstructorProps extends Track.ConstructorProps {}
4073
+ }
4074
+
4075
+ class TrackDisc extends Track {
4076
+ static $gtype: GObject.GType<TrackDisc>;
4077
+
4078
+ // Constructors of BraseroBurn.TrackDisc
4079
+
4080
+ constructor(properties?: Partial<TrackDisc.ConstructorProps>, ...args: any[]);
4081
+
4082
+ _init(...args: any[]): void;
4083
+
4084
+ static ['new'](): TrackDisc;
4085
+
4086
+ // Own methods of BraseroBurn.TrackDisc
4087
+
4088
+ /**
4089
+ * Gets the track number which will be used
4090
+ * to copy only one specific session on a multisession disc
4091
+ * @returns a #guint. 0 if none is set, any other number otherwise.
4092
+ */
4093
+ get_track_num(): number;
4094
+ /**
4095
+ * Sets a track number which can be used
4096
+ * to copy only one specific session on a multisession disc
4097
+ * @param num a #guint
4098
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.
4099
+ */
4100
+ set_track_num(num: number): BurnResult;
4101
+ }
4102
+
4103
+ module TrackImage {
4104
+ // Constructor properties interface
4105
+
4106
+ interface ConstructorProps extends Track.ConstructorProps {}
4107
+ }
4108
+
4109
+ class TrackImage extends Track {
4110
+ static $gtype: GObject.GType<TrackImage>;
4111
+
4112
+ // Constructors of BraseroBurn.TrackImage
4113
+
4114
+ constructor(properties?: Partial<TrackImage.ConstructorProps>, ...args: any[]);
4115
+
4116
+ _init(...args: any[]): void;
4117
+
4118
+ static ['new'](): TrackImage;
4119
+
4120
+ // Own virtual methods of BraseroBurn.TrackImage
4121
+
4122
+ /**
4123
+ * Sets the image size (in sectors).
4124
+ * @param blocks a #goffset
4125
+ */
4126
+ vfunc_set_block_num(blocks: number): BurnResult;
4127
+ /**
4128
+ * Sets the image source path (and its toc if need be)
4129
+ * as well as its format.
4130
+ * @param image a #gchar or NULL
4131
+ * @param toc a #gchar or NULL
4132
+ * @param format a #BraseroImageFormat
4133
+ */
4134
+ vfunc_set_source(image: string, toc: string, format: ImageFormat): BurnResult;
4135
+
4136
+ // Own methods of BraseroBurn.TrackImage
4137
+
4138
+ /**
4139
+ * This function returns the format of the
4140
+ * source image.
4141
+ * @returns a #BraseroImageFormat
4142
+ */
4143
+ get_format(): ImageFormat;
4144
+ /**
4145
+ * This function returns the path or the URI (if `uri` is TRUE) of the
4146
+ * source image file.
4147
+ * @param uri a #gboolean
4148
+ * @returns a #gchar
4149
+ */
4150
+ get_source(uri: boolean): string;
4151
+ /**
4152
+ * This function returns the path or the URI (if `uri` is TRUE) of the
4153
+ * source toc file.
4154
+ * @param uri a #gboolean
4155
+ * @returns a #gchar
4156
+ */
4157
+ get_toc_source(uri: boolean): string;
4158
+ /**
4159
+ * This function returns whether the data bytes need swapping. Some .bin files
4160
+ * associated with .cue files are little endian for audio whereas they should
4161
+ * be big endian.
4162
+ * @returns a #gboolean
4163
+ */
4164
+ need_byte_swap(): boolean;
4165
+ /**
4166
+ * Sets the image size (in sectors).
4167
+ * @param blocks a #goffset
4168
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4169
+ */
4170
+ set_block_num(blocks: number): BurnResult;
4171
+ /**
4172
+ * Sets the image source path (and its toc if need be)
4173
+ * as well as its format.
4174
+ * @param image a #gchar or NULL
4175
+ * @param toc a #gchar or NULL
4176
+ * @param format a #BraseroImageFormat
4177
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4178
+ */
4179
+ set_source(image: string, toc: string, format: ImageFormat): BurnResult;
4180
+ }
4181
+
4182
+ module TrackImageCfg {
4183
+ // Constructor properties interface
4184
+
4185
+ interface ConstructorProps extends TrackImage.ConstructorProps {}
4186
+ }
4187
+
4188
+ class TrackImageCfg extends TrackImage {
4189
+ static $gtype: GObject.GType<TrackImageCfg>;
4190
+
4191
+ // Constructors of BraseroBurn.TrackImageCfg
4192
+
4193
+ constructor(properties?: Partial<TrackImageCfg.ConstructorProps>, ...args: any[]);
4194
+
4195
+ _init(...args: any[]): void;
4196
+
4197
+ static ['new'](): TrackImageCfg;
4198
+
4199
+ // Own methods of BraseroBurn.TrackImageCfg
4200
+
4201
+ /**
4202
+ * This function allows to prevents the identification of the format of the image.
4203
+ * It does not cancel size retrieval.
4204
+ * If `format` is BRASERO_IMAGE_FORMAT_NONE then the format of the image
4205
+ * will be retrieved.
4206
+ * @param format a #BraseroImageFormat
4207
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4208
+ */
4209
+ force_format(format: ImageFormat): BurnResult;
4210
+ /**
4211
+ * This function returns the #BraseroImageFormat that was set for the image.
4212
+ * See brasero_track_image_cfg_force_format ().
4213
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4214
+ */
4215
+ get_forced_format(): ImageFormat;
4216
+ /**
4217
+ * Sets the image uri or path (absolute or relative). `track` will then identify its format and retrieve its size.
4218
+ * @param uri a #gchar
4219
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4220
+ */
4221
+ set_source(uri: string): BurnResult;
4222
+ }
4223
+
4224
+ module TrackStream {
4225
+ // Constructor properties interface
4226
+
4227
+ interface ConstructorProps extends Track.ConstructorProps {}
4228
+ }
4229
+
4230
+ class TrackStream extends Track {
4231
+ static $gtype: GObject.GType<TrackStream>;
4232
+
4233
+ // Constructors of BraseroBurn.TrackStream
4234
+
4235
+ constructor(properties?: Partial<TrackStream.ConstructorProps>, ...args: any[]);
4236
+
4237
+ _init(...args: any[]): void;
4238
+
4239
+ static ['new'](): TrackStream;
4240
+
4241
+ // Own virtual methods of BraseroBurn.TrackStream
4242
+
4243
+ /**
4244
+ * Sets the boundaries of the stream (where it starts, ends in the file;
4245
+ * how long is the gap with the next track) in nano seconds.
4246
+ * @param start a #gint64 or -1 to ignore
4247
+ * @param end a #gint64 or -1 to ignore
4248
+ * @param gap a #gint64 or -1 to ignore
4249
+ */
4250
+ vfunc_set_boundaries(start: number, end: number, gap: number): BurnResult;
4251
+ /**
4252
+ * Sets the format of the stream.
4253
+ * @param format a #BraseroStreamFormat
4254
+ */
4255
+ vfunc_set_format(format: StreamFormat): BurnResult;
4256
+ /**
4257
+ * Sets the stream (song or video) uri.
4258
+ *
4259
+ * Note: it resets the end point of the track to 0 but keeps start point and gap
4260
+ * unchanged.
4261
+ * @param uri a #gchar
4262
+ */
4263
+ vfunc_set_source(uri: string): BurnResult;
4264
+
4265
+ // Own methods of BraseroBurn.TrackStream
4266
+
4267
+ /**
4268
+ * This function returns end time in the stream (in nano seconds).
4269
+ * @returns a #guint64.
4270
+ */
4271
+ get_end(): number;
4272
+ /**
4273
+ * This function returns the format of the stream.
4274
+ * @returns a #BraseroStreamFormat.
4275
+ */
4276
+ get_format(): StreamFormat;
4277
+ /**
4278
+ * This function returns length of the gap (in nano seconds).
4279
+ * @returns a #guint64.
4280
+ */
4281
+ get_gap(): number;
4282
+ /**
4283
+ * This function returns the length of the stream (in nano seconds)
4284
+ * taking into account the start and end time as well as the length
4285
+ * of the gap. It stores it in `length`.
4286
+ * @param length a #guint64
4287
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if @length was set.
4288
+ */
4289
+ get_length(length: number): BurnResult;
4290
+ /**
4291
+ * This function returns the path or the URI (if `uri` is TRUE)
4292
+ * of the stream (song or video file).
4293
+ *
4294
+ * Note: this function resets any length previously set to 0.
4295
+ * @param uri a #gboolean
4296
+ * @returns a #gchar.
4297
+ */
4298
+ get_source(uri: boolean): string;
4299
+ /**
4300
+ * This function returns start time in the stream (in nano seconds).
4301
+ * @returns a #guint64.
4302
+ */
4303
+ get_start(): number;
4304
+ /**
4305
+ * Sets the boundaries of the stream (where it starts, ends in the file;
4306
+ * how long is the gap with the next track) in nano seconds.
4307
+ * @param start a #gint64 or -1 to ignore
4308
+ * @param end a #gint64 or -1 to ignore
4309
+ * @param gap a #gint64 or -1 to ignore
4310
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4311
+ */
4312
+ set_boundaries(start: number, end: number, gap: number): BurnResult;
4313
+ /**
4314
+ * Sets the format of the stream.
4315
+ * @param format a #BraseroStreamFormat
4316
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4317
+ */
4318
+ set_format(format: StreamFormat): BurnResult;
4319
+ /**
4320
+ * Sets the stream (song or video) uri.
4321
+ *
4322
+ * Note: it resets the end point of the track to 0 but keeps start point and gap
4323
+ * unchanged.
4324
+ * @param uri a #gchar
4325
+ * @returns a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.
4326
+ */
4327
+ set_source(uri: string): BurnResult;
4328
+ }
4329
+
4330
+ module TrackStreamCfg {
4331
+ // Constructor properties interface
4332
+
4333
+ interface ConstructorProps extends TrackStream.ConstructorProps {}
4334
+ }
4335
+
4336
+ class TrackStreamCfg extends TrackStream {
4337
+ static $gtype: GObject.GType<TrackStreamCfg>;
4338
+
4339
+ // Constructors of BraseroBurn.TrackStreamCfg
4340
+
4341
+ constructor(properties?: Partial<TrackStreamCfg.ConstructorProps>, ...args: any[]);
4342
+
4343
+ _init(...args: any[]): void;
4344
+
4345
+ static ['new'](): TrackStreamCfg;
4346
+ }
4347
+
4348
+ type BurnClass = typeof Burn;
4349
+ type BurnDialogClass = typeof BurnDialog;
4350
+ type BurnOptionsClass = typeof BurnOptions;
4351
+ type BurnSessionClass = typeof BurnSession;
4352
+ /**
4353
+ * A pair of strings describing:
4354
+ * `uri` the actual current location of the file
4355
+ * `path` the path of the file on the future ISO9660/UDF/... filesystem
4356
+ */
4357
+ class GraftPt {
4358
+ static $gtype: GObject.GType<GraftPt>;
4359
+
4360
+ // Own fields of BraseroBurn.GraftPt
4361
+
4362
+ uri: string;
4363
+ path: string;
4364
+
4365
+ // Constructors of BraseroBurn.GraftPt
4366
+
4367
+ constructor(
4368
+ properties?: Partial<{
4369
+ uri: string;
4370
+ path: string;
4371
+ }>,
4372
+ );
4373
+ _init(...args: any[]): void;
4374
+ }
4375
+
4376
+ type SessionCfgClass = typeof SessionCfg;
4377
+ type SessionSpanClass = typeof SessionSpan;
4378
+ type StatusClass = typeof Status;
4379
+ type SumDialogClass = typeof SumDialog;
4380
+ type ToolDialogClass = typeof ToolDialog;
4381
+ type TrackClass = typeof Track;
4382
+ type TrackDataCfgClass = typeof TrackDataCfg;
4383
+ type TrackDataClass = typeof TrackData;
4384
+ type TrackDiscClass = typeof TrackDisc;
4385
+ type TrackImageCfgClass = typeof TrackImageCfg;
4386
+ type TrackImageClass = typeof TrackImage;
4387
+ type TrackStreamCfgClass = typeof TrackStreamCfg;
4388
+ type TrackStreamClass = typeof TrackStream;
4389
+ abstract class TrackType {
4390
+ static $gtype: GObject.GType<TrackType>;
4391
+
4392
+ // Constructors of BraseroBurn.TrackType
4393
+
4394
+ _init(...args: any[]): void;
4395
+
4396
+ // Own methods of BraseroBurn.TrackType
4397
+
4398
+ /**
4399
+ * Returns TRUE if `type_A` and `type_B` represents
4400
+ * the same type and subtype.
4401
+ * @param type_B a #BraseroTrackType.
4402
+ * @returns a #gboolean
4403
+ */
4404
+ equal(type_B: TrackType): boolean;
4405
+ /**
4406
+ * Frees #BraseroTrackType structure.
4407
+ */
4408
+ free(): void;
4409
+ /**
4410
+ * Returns the parameters for the image generation
4411
+ * when brasero_track_type_get_has_data () returned
4412
+ * TRUE.
4413
+ * @returns a #BraseroImageFS
4414
+ */
4415
+ get_data_fs(): ImageFS;
4416
+ /**
4417
+ * Returns TRUE if DATA type (see brasero_track_data_new ()) was set.
4418
+ * @returns a #gboolean
4419
+ */
4420
+ get_has_data(): boolean;
4421
+ /**
4422
+ * Returns TRUE if IMAGE type (see brasero_track_image_new ()) was set.
4423
+ * @returns a #gboolean
4424
+ */
4425
+ get_has_image(): boolean;
4426
+ /**
4427
+ * Returns TRUE if MEDIUM type (see brasero_track_disc_new ()) was set.
4428
+ * @returns a #gboolean
4429
+ */
4430
+ get_has_medium(): boolean;
4431
+ /**
4432
+ * This function returns %TRUE if IMAGE type (see brasero_track_stream_new ()) was set.
4433
+ * @returns a #gboolean
4434
+ */
4435
+ get_has_stream(): boolean;
4436
+ /**
4437
+ * Returns the format of an image when
4438
+ * brasero_track_type_get_has_image () returned
4439
+ * TRUE.
4440
+ * @returns a #BraseroImageFormat
4441
+ */
4442
+ get_image_format(): ImageFormat;
4443
+ /**
4444
+ * Returns the format for a stream (song or video)
4445
+ * when brasero_track_type_get_has_stream () returned
4446
+ * TRUE.
4447
+ * @returns a #BraseroStreamFormat
4448
+ */
4449
+ get_stream_format(): StreamFormat;
4450
+ /**
4451
+ * Returns TRUE if no type was set.
4452
+ * @returns a #gboolean
4453
+ */
4454
+ is_empty(): boolean;
4455
+ /**
4456
+ * Sets the #BraseroImageFS. Must be called
4457
+ * after brasero_track_type_set_has_data ().
4458
+ * @param fs_type a #BraseroImageFS
4459
+ */
4460
+ set_data_fs(fs_type: ImageFS): void;
4461
+ /**
4462
+ * Set DATA type for `type`.
4463
+ */
4464
+ set_has_data(): void;
4465
+ /**
4466
+ * Set IMAGE type for `type`.
4467
+ */
4468
+ set_has_image(): void;
4469
+ /**
4470
+ * Set MEDIUM type for `type`.
4471
+ */
4472
+ set_has_medium(): void;
4473
+ /**
4474
+ * Set STREAM type for `type`
4475
+ */
4476
+ set_has_stream(): void;
4477
+ /**
4478
+ * Sets the #BraseroImageFormat. Must be called
4479
+ * after brasero_track_type_set_has_image ().
4480
+ * @param format a #BraseroImageFormat
4481
+ */
4482
+ set_image_format(format: ImageFormat): void;
4483
+ /**
4484
+ * Sets the #BraseroStreamFormat. Must be called
4485
+ * after brasero_track_type_set_has_stream ().
4486
+ * @param format a #BraseroImageFormat
4487
+ */
4488
+ set_stream_format(format: StreamFormat): void;
4489
+ }
4490
+
4491
+ /**
4492
+ * Name of the imported GIR library
4493
+ * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
4494
+ */
4495
+ const __name__: string;
4496
+ /**
4497
+ * Version of the imported GIR library
4498
+ * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
4499
+ */
4500
+ const __version__: string;
4501
+ }
4502
+
4503
+ export default BraseroBurn;
4504
+ // END