@gtkx/ffi 0.8.0 → 0.9.0

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.
Files changed (319) hide show
  1. package/dist/cairo/cairo.js +1 -1
  2. package/dist/codegen/ffi-generator.js +37 -12
  3. package/dist/generated/adw/index.d.ts +0 -1
  4. package/dist/generated/adw/index.js +0 -1
  5. package/dist/generated/adw/preferences-group.d.ts +0 -11
  6. package/dist/generated/adw/preferences-group.js +0 -36
  7. package/dist/generated/atspi/device.d.ts +0 -15
  8. package/dist/generated/atspi/device.js +0 -65
  9. package/dist/generated/atspi/functions.d.ts +4 -14
  10. package/dist/generated/atspi/functions.js +0 -48
  11. package/dist/generated/atspi/index.d.ts +0 -2
  12. package/dist/generated/atspi/index.js +0 -2
  13. package/dist/generated/gdk/cursor.d.ts +1 -12
  14. package/dist/generated/gdk/cursor.js +22 -55
  15. package/dist/generated/gdk/functions.d.ts +0 -26
  16. package/dist/generated/gdk/functions.js +0 -74
  17. package/dist/generated/gdk/texture.d.ts +0 -10
  18. package/dist/generated/gdk/texture.js +0 -36
  19. package/dist/generated/gdkpixbuf/pixbuf.d.ts +0 -49
  20. package/dist/generated/gdkpixbuf/pixbuf.js +0 -166
  21. package/dist/generated/gio/app-info.d.ts +0 -15
  22. package/dist/generated/gio/app-info.js +0 -50
  23. package/dist/generated/gio/async-initable.d.ts +0 -44
  24. package/dist/generated/gio/async-initable.js +0 -69
  25. package/dist/generated/gio/buffered-input-stream.d.ts +0 -14
  26. package/dist/generated/gio/buffered-input-stream.js +0 -44
  27. package/dist/generated/gio/bytes-icon.d.ts +0 -10
  28. package/dist/generated/gio/bytes-icon.js +0 -36
  29. package/dist/generated/gio/cancellable.d.ts +0 -41
  30. package/dist/generated/gio/cancellable.js +0 -62
  31. package/dist/generated/gio/data-input-stream.d.ts +0 -59
  32. package/dist/generated/gio/data-input-stream.js +0 -149
  33. package/dist/generated/gio/dbus-connection.d.ts +1 -374
  34. package/dist/generated/gio/dbus-connection.js +0 -761
  35. package/dist/generated/gio/dbus-object-manager-client.d.ts +1 -120
  36. package/dist/generated/gio/dbus-object-manager-client.js +0 -354
  37. package/dist/generated/gio/dbus-proxy.d.ts +0 -163
  38. package/dist/generated/gio/dbus-proxy.js +0 -379
  39. package/dist/generated/gio/drive.d.ts +1 -62
  40. package/dist/generated/gio/drive.js +0 -200
  41. package/dist/generated/gio/dtls-connection.d.ts +0 -29
  42. package/dist/generated/gio/dtls-connection.js +0 -115
  43. package/dist/generated/gio/file-enumerator.d.ts +0 -85
  44. package/dist/generated/gio/file-enumerator.js +0 -141
  45. package/dist/generated/gio/file-icon.d.ts +0 -10
  46. package/dist/generated/gio/file-icon.js +0 -36
  47. package/dist/generated/gio/file-input-stream.d.ts +0 -19
  48. package/dist/generated/gio/file-input-stream.js +0 -49
  49. package/dist/generated/gio/file-iostream.d.ts +0 -14
  50. package/dist/generated/gio/file-iostream.js +0 -44
  51. package/dist/generated/gio/file-output-stream.d.ts +0 -14
  52. package/dist/generated/gio/file-output-stream.js +0 -44
  53. package/dist/generated/gio/file.d.ts +1 -661
  54. package/dist/generated/gio/file.js +58 -1899
  55. package/dist/generated/gio/functions.d.ts +0 -261
  56. package/dist/generated/gio/functions.js +0 -666
  57. package/dist/generated/gio/index.d.ts +0 -2
  58. package/dist/generated/gio/index.js +0 -2
  59. package/dist/generated/gio/input-stream.d.ts +0 -127
  60. package/dist/generated/gio/input-stream.js +0 -293
  61. package/dist/generated/gio/iostream.d.ts +0 -34
  62. package/dist/generated/gio/iostream.js +0 -93
  63. package/dist/generated/gio/list-store.d.ts +0 -46
  64. package/dist/generated/gio/list-store.js +0 -139
  65. package/dist/generated/gio/loadable-icon.d.ts +0 -10
  66. package/dist/generated/gio/loadable-icon.js +0 -36
  67. package/dist/generated/gio/mount.d.ts +0 -74
  68. package/dist/generated/gio/mount.js +0 -243
  69. package/dist/generated/gio/network-monitor.d.ts +0 -16
  70. package/dist/generated/gio/network-monitor.js +0 -42
  71. package/dist/generated/gio/output-stream.d.ts +0 -200
  72. package/dist/generated/gio/output-stream.js +0 -469
  73. package/dist/generated/gio/permission.d.ts +0 -20
  74. package/dist/generated/gio/permission.js +0 -64
  75. package/dist/generated/gio/proxy-resolver.d.ts +0 -9
  76. package/dist/generated/gio/proxy-resolver.js +0 -35
  77. package/dist/generated/gio/proxy.d.ts +0 -9
  78. package/dist/generated/gio/proxy.js +0 -39
  79. package/dist/generated/gio/resolver.d.ts +0 -59
  80. package/dist/generated/gio/resolver.js +0 -205
  81. package/dist/generated/gio/settings.d.ts +0 -33
  82. package/dist/generated/gio/settings.js +0 -53
  83. package/dist/generated/gio/simple-proxy-resolver.d.ts +0 -9
  84. package/dist/generated/gio/simple-proxy-resolver.js +0 -35
  85. package/dist/generated/gio/socket-address-enumerator.d.ts +0 -10
  86. package/dist/generated/gio/socket-address-enumerator.js +0 -32
  87. package/dist/generated/gio/socket-client.d.ts +0 -57
  88. package/dist/generated/gio/socket-client.js +0 -173
  89. package/dist/generated/gio/socket-connection.d.ts +0 -17
  90. package/dist/generated/gio/socket-connection.js +0 -43
  91. package/dist/generated/gio/socket-listener.d.ts +0 -22
  92. package/dist/generated/gio/socket-listener.js +0 -66
  93. package/dist/generated/gio/subprocess.d.ts +0 -36
  94. package/dist/generated/gio/subprocess.js +0 -139
  95. package/dist/generated/gio/tls-connection.d.ts +0 -9
  96. package/dist/generated/gio/tls-connection.js +0 -35
  97. package/dist/generated/gio/tls-database.d.ts +0 -51
  98. package/dist/generated/gio/tls-database.js +0 -205
  99. package/dist/generated/gio/tls-interaction.d.ts +0 -38
  100. package/dist/generated/gio/tls-interaction.js +0 -94
  101. package/dist/generated/gio/unix-connection.d.ts +0 -26
  102. package/dist/generated/gio/unix-connection.js +0 -70
  103. package/dist/generated/gio/vfs.d.ts +0 -30
  104. package/dist/generated/gio/vfs.js +0 -71
  105. package/dist/generated/gio/volume.d.ts +0 -32
  106. package/dist/generated/gio/volume.js +0 -117
  107. package/dist/generated/giounix/desktop-app-info.d.ts +0 -58
  108. package/dist/generated/giounix/desktop-app-info.js +0 -226
  109. package/dist/generated/glib/byte-array.d.ts +0 -23
  110. package/dist/generated/glib/byte-array.js +0 -62
  111. package/dist/generated/glib/error.d.ts +0 -36
  112. package/dist/generated/glib/error.js +0 -82
  113. package/dist/generated/glib/functions.d.ts +1 -811
  114. package/dist/generated/glib/functions.js +55 -1787
  115. package/dist/generated/glib/hash-table.d.ts +0 -64
  116. package/dist/generated/glib/hash-table.js +0 -148
  117. package/dist/generated/glib/main-context.d.ts +0 -17
  118. package/dist/generated/glib/main-context.js +0 -37
  119. package/dist/generated/glib/option-group.d.ts +0 -12
  120. package/dist/generated/glib/option-group.js +0 -39
  121. package/dist/generated/glib/regex.d.ts +0 -54
  122. package/dist/generated/glib/regex.js +0 -107
  123. package/dist/generated/glib/source.d.ts +0 -27
  124. package/dist/generated/glib/source.js +0 -43
  125. package/dist/generated/glib/thread.d.ts +2 -46
  126. package/dist/generated/glib/thread.js +5 -50
  127. package/dist/generated/glib/tree.d.ts +2 -74
  128. package/dist/generated/glib/tree.js +4 -192
  129. package/dist/generated/glibunix/functions.d.ts +0 -2
  130. package/dist/generated/glibunix/functions.js +0 -45
  131. package/dist/generated/gobject/binding-group.d.ts +0 -17
  132. package/dist/generated/gobject/binding-group.js +0 -59
  133. package/dist/generated/gobject/functions.d.ts +0 -40
  134. package/dist/generated/gobject/functions.js +0 -95
  135. package/dist/generated/gobject/object.d.ts +0 -33
  136. package/dist/generated/gobject/object.js +0 -77
  137. package/dist/generated/gobject/signal-group.d.ts +0 -23
  138. package/dist/generated/gobject/signal-group.js +0 -70
  139. package/dist/generated/gobject/value-array.d.ts +0 -19
  140. package/dist/generated/gobject/value-array.js +0 -70
  141. package/dist/generated/gsk/path.d.ts +1 -41
  142. package/dist/generated/gsk/path.js +0 -96
  143. package/dist/generated/gsk/render-node.d.ts +0 -9
  144. package/dist/generated/gsk/render-node.js +0 -32
  145. package/dist/generated/gst/buffer-list.d.ts +0 -10
  146. package/dist/generated/gst/buffer-list.js +0 -31
  147. package/dist/generated/gst/buffer.d.ts +0 -10
  148. package/dist/generated/gst/buffer.js +0 -31
  149. package/dist/generated/gst/bus.d.ts +0 -43
  150. package/dist/generated/gst/bus.js +0 -88
  151. package/dist/generated/gst/caps.d.ts +0 -26
  152. package/dist/generated/gst/caps.js +0 -89
  153. package/dist/generated/gst/clock.d.ts +0 -15
  154. package/dist/generated/gst/clock.js +0 -35
  155. package/dist/generated/gst/element.d.ts +0 -49
  156. package/dist/generated/gst/element.js +0 -117
  157. package/dist/generated/gst/functions.d.ts +1 -80
  158. package/dist/generated/gst/functions.js +0 -234
  159. package/dist/generated/gst/index.d.ts +0 -1
  160. package/dist/generated/gst/index.js +0 -1
  161. package/dist/generated/gst/iterator.d.ts +0 -56
  162. package/dist/generated/gst/iterator.js +0 -168
  163. package/dist/generated/gst/pad.d.ts +1 -145
  164. package/dist/generated/gst/pad.js +0 -440
  165. package/dist/generated/gst/plugin.d.ts +0 -41
  166. package/dist/generated/gst/plugin.js +0 -132
  167. package/dist/generated/gst/promise.d.ts +0 -9
  168. package/dist/generated/gst/promise.js +1 -27
  169. package/dist/generated/gst/registry.d.ts +0 -21
  170. package/dist/generated/gst/registry.js +0 -73
  171. package/dist/generated/gst/structure.d.ts +0 -52
  172. package/dist/generated/gst/structure.js +0 -178
  173. package/dist/generated/gst/tag-list.d.ts +0 -7
  174. package/dist/generated/gst/tag-list.js +0 -28
  175. package/dist/generated/gst/task-pool.d.ts +0 -6
  176. package/dist/generated/gst/task-pool.js +0 -38
  177. package/dist/generated/gst/type-find.d.ts +0 -15
  178. package/dist/generated/gst/type-find.js +0 -58
  179. package/dist/generated/gstbase/collect-pads.d.ts +0 -108
  180. package/dist/generated/gstbase/collect-pads.js +0 -243
  181. package/dist/generated/gstbase/functions.d.ts +0 -45
  182. package/dist/generated/gstbase/functions.js +0 -132
  183. package/dist/generated/gtk/assistant.d.ts +0 -13
  184. package/dist/generated/gtk/assistant.js +0 -34
  185. package/dist/generated/gtk/builder-cscope.d.ts +0 -13
  186. package/dist/generated/gtk/builder-cscope.js +0 -28
  187. package/dist/generated/gtk/cell-area.d.ts +0 -31
  188. package/dist/generated/gtk/cell-area.js +0 -114
  189. package/dist/generated/gtk/cell-layout.d.ts +0 -14
  190. package/dist/generated/gtk/cell-layout.js +0 -39
  191. package/dist/generated/gtk/cell-view.d.ts +0 -14
  192. package/dist/generated/gtk/cell-view.js +0 -39
  193. package/dist/generated/gtk/combo-box.d.ts +0 -25
  194. package/dist/generated/gtk/combo-box.js +0 -72
  195. package/dist/generated/gtk/drawing-area.d.ts +2 -1
  196. package/dist/generated/gtk/drawing-area.js +6 -1
  197. package/dist/generated/gtk/entry-completion.d.ts +0 -24
  198. package/dist/generated/gtk/entry-completion.js +0 -69
  199. package/dist/generated/gtk/expression.d.ts +0 -14
  200. package/dist/generated/gtk/expression.js +0 -45
  201. package/dist/generated/gtk/flow-box.d.ts +0 -68
  202. package/dist/generated/gtk/flow-box.js +0 -150
  203. package/dist/generated/gtk/font-button.d.ts +0 -8
  204. package/dist/generated/gtk/font-button.js +0 -29
  205. package/dist/generated/gtk/font-chooser-dialog.d.ts +0 -8
  206. package/dist/generated/gtk/font-chooser-dialog.js +0 -29
  207. package/dist/generated/gtk/font-chooser-widget.d.ts +0 -8
  208. package/dist/generated/gtk/font-chooser-widget.js +0 -29
  209. package/dist/generated/gtk/font-chooser.d.ts +0 -8
  210. package/dist/generated/gtk/font-chooser.js +0 -29
  211. package/dist/generated/gtk/functions.d.ts +0 -23
  212. package/dist/generated/gtk/functions.js +0 -69
  213. package/dist/generated/gtk/icon-view.d.ts +0 -21
  214. package/dist/generated/gtk/icon-view.js +0 -62
  215. package/dist/generated/gtk/index.d.ts +0 -7
  216. package/dist/generated/gtk/index.js +0 -7
  217. package/dist/generated/gtk/list-box.d.ts +0 -99
  218. package/dist/generated/gtk/list-box.js +0 -203
  219. package/dist/generated/gtk/list-store.d.ts +0 -33
  220. package/dist/generated/gtk/list-store.js +0 -95
  221. package/dist/generated/gtk/menu-button.d.ts +0 -18
  222. package/dist/generated/gtk/menu-button.js +0 -40
  223. package/dist/generated/gtk/print-job.d.ts +0 -7
  224. package/dist/generated/gtk/print-job.js +0 -27
  225. package/dist/generated/gtk/print-settings.d.ts +0 -6
  226. package/dist/generated/gtk/print-settings.js +0 -22
  227. package/dist/generated/gtk/scale.d.ts +0 -14
  228. package/dist/generated/gtk/scale.js +0 -36
  229. package/dist/generated/gtk/text-buffer.d.ts +0 -19
  230. package/dist/generated/gtk/text-buffer.js +0 -42
  231. package/dist/generated/gtk/text-iter.d.ts +0 -19
  232. package/dist/generated/gtk/text-iter.js +0 -81
  233. package/dist/generated/gtk/text-tag-table.d.ts +0 -9
  234. package/dist/generated/gtk/text-tag-table.js +0 -25
  235. package/dist/generated/gtk/tree-model-filter.d.ts +0 -68
  236. package/dist/generated/gtk/tree-model-filter.js +0 -137
  237. package/dist/generated/gtk/tree-model-sort.d.ts +0 -33
  238. package/dist/generated/gtk/tree-model-sort.js +0 -95
  239. package/dist/generated/gtk/tree-model.d.ts +0 -9
  240. package/dist/generated/gtk/tree-model.js +0 -25
  241. package/dist/generated/gtk/tree-selection.d.ts +0 -20
  242. package/dist/generated/gtk/tree-selection.js +0 -57
  243. package/dist/generated/gtk/tree-sortable.d.ts +0 -24
  244. package/dist/generated/gtk/tree-sortable.js +0 -70
  245. package/dist/generated/gtk/tree-store.d.ts +0 -33
  246. package/dist/generated/gtk/tree-store.js +0 -95
  247. package/dist/generated/gtk/tree-view-column.d.ts +0 -14
  248. package/dist/generated/gtk/tree-view-column.js +0 -39
  249. package/dist/generated/gtk/tree-view.d.ts +0 -54
  250. package/dist/generated/gtk/tree-view.js +0 -167
  251. package/dist/generated/gtk/widget.d.ts +0 -32
  252. package/dist/generated/gtk/widget.js +0 -50
  253. package/dist/generated/gtksource/functions.d.ts +0 -21
  254. package/dist/generated/gtksource/functions.js +0 -49
  255. package/dist/generated/harfbuzz/functions.d.ts +0 -448
  256. package/dist/generated/harfbuzz/functions.js +3736 -5611
  257. package/dist/generated/javascriptcore/class.d.ts +0 -94
  258. package/dist/generated/javascriptcore/class.js +0 -272
  259. package/dist/generated/javascriptcore/context.d.ts +0 -13
  260. package/dist/generated/javascriptcore/context.js +0 -34
  261. package/dist/generated/javascriptcore/functions.d.ts +0 -7
  262. package/dist/generated/javascriptcore/functions.js +0 -19
  263. package/dist/generated/javascriptcore/value.d.ts +0 -72
  264. package/dist/generated/javascriptcore/value.js +0 -202
  265. package/dist/generated/json/array.d.ts +0 -11
  266. package/dist/generated/json/array.js +0 -32
  267. package/dist/generated/json/object.d.ts +0 -14
  268. package/dist/generated/json/object.js +0 -35
  269. package/dist/generated/pango/attr-list.d.ts +0 -8
  270. package/dist/generated/pango/attr-list.js +0 -37
  271. package/dist/generated/pango/fontset.d.ts +0 -9
  272. package/dist/generated/pango/fontset.js +0 -25
  273. package/dist/generated/pango/functions.d.ts +0 -13
  274. package/dist/generated/pango/functions.js +0 -55
  275. package/dist/generated/pangocairo/functions.d.ts +0 -11
  276. package/dist/generated/pangocairo/functions.js +0 -33
  277. package/dist/generated/soup/auth-domain-basic.d.ts +0 -17
  278. package/dist/generated/soup/auth-domain-basic.js +0 -37
  279. package/dist/generated/soup/auth-domain-digest.d.ts +0 -17
  280. package/dist/generated/soup/auth-domain-digest.js +0 -37
  281. package/dist/generated/soup/auth-domain.d.ts +0 -44
  282. package/dist/generated/soup/auth-domain.js +0 -84
  283. package/dist/generated/soup/logger.d.ts +0 -32
  284. package/dist/generated/soup/logger.js +0 -92
  285. package/dist/generated/soup/message-headers.d.ts +0 -17
  286. package/dist/generated/soup/message-headers.js +0 -38
  287. package/dist/generated/soup/server.d.ts +0 -99
  288. package/dist/generated/soup/server.js +0 -184
  289. package/dist/generated/vte/terminal.d.ts +0 -168
  290. package/dist/generated/vte/terminal.js +0 -483
  291. package/dist/generated/webkit/web-context.d.ts +0 -44
  292. package/dist/generated/webkit/web-context.js +0 -68
  293. package/package.json +3 -3
  294. package/dist/generated/adw/callback-animation-target.d.ts +0 -19
  295. package/dist/generated/adw/callback-animation-target.js +0 -64
  296. package/dist/generated/atspi/device-listener.d.ts +0 -26
  297. package/dist/generated/atspi/device-listener.js +0 -104
  298. package/dist/generated/atspi/event-listener.d.ts +0 -155
  299. package/dist/generated/atspi/event-listener.js +0 -496
  300. package/dist/generated/gio/simple-async-result.d.ts +0 -328
  301. package/dist/generated/gio/simple-async-result.js +0 -588
  302. package/dist/generated/gio/task.d.ts +0 -936
  303. package/dist/generated/gio/task.js +0 -1460
  304. package/dist/generated/gst/task.d.ts +0 -128
  305. package/dist/generated/gst/task.js +0 -363
  306. package/dist/generated/gtk/callback-action.d.ts +0 -16
  307. package/dist/generated/gtk/callback-action.js +0 -61
  308. package/dist/generated/gtk/cclosure-expression.d.ts +0 -20
  309. package/dist/generated/gtk/cclosure-expression.js +0 -68
  310. package/dist/generated/gtk/custom-filter.d.ts +0 -35
  311. package/dist/generated/gtk/custom-filter.js +0 -119
  312. package/dist/generated/gtk/custom-layout.d.ts +0 -26
  313. package/dist/generated/gtk/custom-layout.js +0 -71
  314. package/dist/generated/gtk/custom-sorter.d.ts +0 -34
  315. package/dist/generated/gtk/custom-sorter.js +0 -114
  316. package/dist/generated/gtk/map-list-model.d.ts +0 -173
  317. package/dist/generated/gtk/map-list-model.js +0 -361
  318. package/dist/generated/gtk/tree-list-model.d.ts +0 -145
  319. package/dist/generated/gtk/tree-list-model.js +0 -310
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { call } from "@gtkx/native";
6
6
  const LIB = "libcairo.so.2";
7
- const CAIRO_T = { type: "int", size: 64, unsigned: true };
7
+ const CAIRO_T = { type: "boxed", innerType: "cairo_t", lib: LIB, borrowed: true };
8
8
  /**
9
9
  * Begin a new sub-path. After this call the current point will be (x, y).
10
10
  */
@@ -187,6 +187,9 @@ const hasRefParameter = (params, typeMapper) => {
187
187
  return result;
188
188
  };
189
189
  const isVararg = (param) => param.name === "..." || param.name === "";
190
+ const hasUnsupportedCallbacks = (params, typeMapper) => {
191
+ return params.some((p) => typeMapper.hasUnsupportedCallback(p));
192
+ };
190
193
  /**
191
194
  * Generates TypeScript FFI bindings from GIR namespace definitions.
192
195
  * Creates classes, methods, properties, and signal handlers that call
@@ -239,6 +242,7 @@ export class CodeGenerator {
239
242
  async generateNamespace(namespace) {
240
243
  const files = new Map();
241
244
  this.currentSharedLibrary = namespace.sharedLibrary;
245
+ this.typeMapper.clearSkippedClasses();
242
246
  this.registerEnumsAndBitfields(namespace);
243
247
  this.registerRecords(namespace);
244
248
  this.registerInterfaces(namespace);
@@ -255,7 +259,13 @@ export class CodeGenerator {
255
259
  }
256
260
  const sortedClasses = this.topologicalSortClasses(namespace.classes, classMap);
257
261
  for (const cls of sortedClasses) {
258
- files.set(`${toKebabCase(cls.name)}.ts`, await this.generateClass(cls, namespace.sharedLibrary, classMap, interfaceMap));
262
+ const generatedClass = await this.generateClass(cls, namespace.sharedLibrary, classMap, interfaceMap);
263
+ if (generatedClass !== null) {
264
+ files.set(`${toKebabCase(cls.name)}.ts`, generatedClass);
265
+ }
266
+ else {
267
+ this.typeMapper.registerSkippedClass(cls.name);
268
+ }
259
269
  }
260
270
  for (const iface of namespace.interfaces) {
261
271
  files.set(`${toKebabCase(iface.name)}.ts`, await this.generateInterface(iface, namespace.sharedLibrary, classMap));
@@ -356,6 +366,12 @@ export class CodeGenerator {
356
366
  });
357
367
  }
358
368
  async generateClass(cls, sharedLibrary, classMap, interfaceMap) {
369
+ if (cls.constructors.length > 0) {
370
+ const hasAnySupportedConstructor = cls.constructors.some((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
371
+ if (!hasAnySupportedConstructor) {
372
+ return null;
373
+ }
374
+ }
359
375
  this.resetState();
360
376
  this.cyclicReturnTypes = this.computeCyclicReturnTypes(cls, classMap);
361
377
  const asyncMethods = new Set();
@@ -644,18 +660,19 @@ export class CodeGenerator {
644
660
  return { signals: allSignals, hasCrossNamespaceParent: false };
645
661
  }
646
662
  generateConstructors(cls, sharedLibrary, hasParent) {
647
- const mainConstructor = cls.constructors.find((c) => !c.parameters.some(isVararg));
663
+ const supportedConstructors = cls.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
664
+ const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
648
665
  const sections = [];
649
666
  if (mainConstructor && hasParent) {
650
667
  sections.push(this.generateConstructorWithFlag(mainConstructor, sharedLibrary));
651
- for (const ctor of cls.constructors) {
668
+ for (const ctor of supportedConstructors) {
652
669
  if (ctor !== mainConstructor) {
653
670
  sections.push(this.generateStaticFactoryMethod(ctor, cls.name, sharedLibrary));
654
671
  }
655
672
  }
656
673
  }
657
674
  else {
658
- for (const ctor of cls.constructors) {
675
+ for (const ctor of supportedConstructors) {
659
676
  sections.push(this.generateStaticFactoryMethod(ctor, cls.name, sharedLibrary));
660
677
  }
661
678
  if (hasParent && cls.glibGetType && !cls.abstract) {
@@ -765,8 +782,9 @@ ${allArgs}
765
782
  return `${lines.join("\n")}\n`;
766
783
  }
767
784
  generateStaticFunctions(functions, sharedLibrary, className) {
785
+ const supportedFunctions = functions.filter((f) => !hasUnsupportedCallbacks(f.parameters, this.typeMapper));
768
786
  const sections = [];
769
- for (const func of functions) {
787
+ for (const func of supportedFunctions) {
770
788
  sections.push(this.generateStaticFunction(func, sharedLibrary, className));
771
789
  }
772
790
  return sections.join("\n");
@@ -856,6 +874,9 @@ ${allArgs ? `${allArgs},` : ""}
856
874
  if (generatedMethods.has(methodKey))
857
875
  continue;
858
876
  generatedMethods.add(methodKey);
877
+ if (hasUnsupportedCallbacks(method.parameters, this.typeMapper)) {
878
+ continue;
879
+ }
859
880
  if (asyncMethods.has(method.name) || finishMethods.has(method.name)) {
860
881
  const asyncWrapper = this.generateAsyncWrapper(method, methods, sharedLibrary, className);
861
882
  if (asyncWrapper) {
@@ -1489,7 +1510,8 @@ ${allArgs ? `${allArgs},` : ""}
1489
1510
  return this.formatCode(imports + sections.join("\n"));
1490
1511
  }
1491
1512
  generateRecordInitInterface(record) {
1492
- const mainConstructor = record.constructors.find((c) => !c.parameters.some(isVararg));
1513
+ const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
1514
+ const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
1493
1515
  if (mainConstructor)
1494
1516
  return null;
1495
1517
  const initFields = this.getWritableFields(record.fields);
@@ -1501,7 +1523,8 @@ ${allArgs ? `${allArgs},` : ""}
1501
1523
  generateRecordConstructors(record, sharedLibrary) {
1502
1524
  const recordName = normalizeClassName(record.name, this.options.namespace);
1503
1525
  const sections = [];
1504
- const mainConstructor = record.constructors.find((c) => !c.parameters.some(isVararg));
1526
+ const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
1527
+ const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
1505
1528
  if (mainConstructor) {
1506
1529
  const ctorDoc = formatMethodDoc(mainConstructor.doc, mainConstructor.parameters);
1507
1530
  const filteredParams = mainConstructor.parameters.filter((p) => !isVararg(p));
@@ -1530,7 +1553,7 @@ ${allArgs ? `${allArgs},` : ""}
1530
1553
  `);
1531
1554
  }
1532
1555
  }
1533
- for (const ctor of record.constructors) {
1556
+ for (const ctor of supportedConstructors) {
1534
1557
  if (ctor !== mainConstructor) {
1535
1558
  sections.push(this.generateRecordStaticFactoryMethod(ctor, recordName, sharedLibrary));
1536
1559
  }
@@ -1571,7 +1594,8 @@ ${allArgs ? `${allArgs},` : ""}
1571
1594
  }
1572
1595
  generateRecordCreatePtr(record, sharedLibrary) {
1573
1596
  const recordName = normalizeClassName(record.name, this.options.namespace);
1574
- const mainConstructor = record.constructors.find((c) => !c.parameters.some(isVararg));
1597
+ const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
1598
+ const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
1575
1599
  if (!mainConstructor) {
1576
1600
  if (record.glibTypeName && record.fields.length > 0) {
1577
1601
  const structSize = this.calculateStructSize(record.fields);
@@ -1789,10 +1813,11 @@ ${args}
1789
1813
  }
1790
1814
  async generateFunctions(functions, sharedLibrary) {
1791
1815
  this.resetState();
1792
- this.usesRef = functions.some((f) => hasRefParameter(f.parameters, this.typeMapper));
1793
- this.usesCall = functions.length > 0;
1816
+ const supportedFunctions = functions.filter((f) => !hasUnsupportedCallbacks(f.parameters, this.typeMapper));
1817
+ this.usesRef = supportedFunctions.some((f) => hasRefParameter(f.parameters, this.typeMapper));
1818
+ this.usesCall = supportedFunctions.length > 0;
1794
1819
  const sections = [];
1795
- for (const func of functions) {
1820
+ for (const func of supportedFunctions) {
1796
1821
  sections.push(this.generateFunction(func, sharedLibrary));
1797
1822
  }
1798
1823
  const imports = this.generateImports();
@@ -20,7 +20,6 @@ export * from "./breakpoint.js";
20
20
  export * from "./breakpoint-bin.js";
21
21
  export * from "./button-content.js";
22
22
  export * from "./button-row.js";
23
- export * from "./callback-animation-target.js";
24
23
  export * from "./carousel.js";
25
24
  export * from "./carousel-indicator-dots.js";
26
25
  export * from "./carousel-indicator-lines.js";
@@ -20,7 +20,6 @@ export * from "./breakpoint.js";
20
20
  export * from "./breakpoint-bin.js";
21
21
  export * from "./button-content.js";
22
22
  export * from "./button-row.js";
23
- export * from "./callback-animation-target.js";
24
23
  export * from "./carousel.js";
25
24
  export * from "./carousel-indicator-dots.js";
26
25
  export * from "./carousel-indicator-lines.js";
@@ -1,5 +1,4 @@
1
1
  import * as GObject from "../gobject/index.js";
2
- import * as Gio from "../gio/index.js";
3
2
  import * as Gtk from "../gtk/index.js";
4
3
  /**
5
4
  * A group of preference rows.
@@ -47,16 +46,6 @@ export declare class PreferencesGroup extends Gtk.Widget {
47
46
  * @param child - the widget to add
48
47
  */
49
48
  add(child: Gtk.Widget): void;
50
- /**
51
- * Binds `model` to @self.
52
- *
53
- * See [method@Gtk.ListBox.bind_model].
54
- * @param model - a list model to bind
55
- * @param createRowFunc - a function creating a row for each item, or `NULL` in case `model` is `NULL`
56
- * @param userData - user data passed to @create_row_func
57
- * @param userDataFreeFunc - function for freeing @user_data
58
- */
59
- bindModel(userDataFreeFunc: () => void, model?: Gio.ListModel | null, createRowFunc?: (...args: unknown[]) => unknown | null, userData?: number | null): void;
60
49
  /**
61
50
  * Gets the description of @self.
62
51
  */
@@ -74,42 +74,6 @@ export class PreferencesGroup extends Gtk.Widget {
74
74
  },
75
75
  ], { type: "undefined" });
76
76
  }
77
- /**
78
- * Binds `model` to @self.
79
- *
80
- * See [method@Gtk.ListBox.bind_model].
81
- * @param model - a list model to bind
82
- * @param createRowFunc - a function creating a row for each item, or `NULL` in case `model` is `NULL`
83
- * @param userData - user data passed to @create_row_func
84
- * @param userDataFreeFunc - function for freeing @user_data
85
- */
86
- bindModel(userDataFreeFunc, model, createRowFunc, userData) {
87
- call("libadwaita-1.so.0", "adw_preferences_group_bind_model", [
88
- {
89
- type: { type: "gobject" },
90
- value: this.id,
91
- },
92
- {
93
- type: { type: "gobject", borrowed: true },
94
- value: model?.id ?? model,
95
- optional: true,
96
- },
97
- {
98
- type: { type: "callback" },
99
- value: createRowFunc,
100
- optional: true,
101
- },
102
- {
103
- type: { type: "int", size: 64, unsigned: true },
104
- value: userData,
105
- optional: true,
106
- },
107
- {
108
- type: { type: "callback", trampoline: "destroy" },
109
- value: userDataFreeFunc,
110
- },
111
- ], { type: "undefined" });
112
- }
113
77
  /**
114
78
  * Gets the description of @self.
115
79
  */
@@ -12,21 +12,6 @@ export declare class Device extends GObject.GObject {
12
12
  * @param appId - The application ID of the application that created this device.
13
13
  */
14
14
  static newFull(appId?: string | null): Device;
15
- /**
16
- * @param kd - a #AtspiKeyDefinition specifying the key code to grab.
17
- * @param callback - the function to call when the
18
- * @param userData - Data to be passed to @callback.
19
- * @param callbackDestroyed - callback function to be called when `callback` is
20
- */
21
- addKeyGrab(kd: KeyDefinition, callbackDestroyed: () => void, callback?: (...args: unknown[]) => unknown | null, userData?: number | null): number;
22
- /**
23
- * Add a callback that will receive a notification whenever a key is
24
- * pressed or released.
25
- * @param callback - the
26
- * @param userData - Data to be passed to @callback.
27
- * @param callbackDestroyed - callback function to be called when `callback` is destroyed.
28
- */
29
- addKeyWatcher(callback: (...args: unknown[]) => unknown, callbackDestroyed: () => void, userData?: number | null): void;
30
15
  clearKeyGrabs(): void;
31
16
  /**
32
17
  * Synthesizes a mouse event at a specific screen coordinate.
@@ -39,71 +39,6 @@ export class Device extends GObject.GObject {
39
39
  ], { type: "gobject", borrowed: false });
40
40
  return getObject(ptr);
41
41
  }
42
- /**
43
- * @param kd - a #AtspiKeyDefinition specifying the key code to grab.
44
- * @param callback - the function to call when the
45
- * @param userData - Data to be passed to @callback.
46
- * @param callbackDestroyed - callback function to be called when `callback` is
47
- */
48
- addKeyGrab(kd, callbackDestroyed, callback, userData) {
49
- return call("libatspi.so.0", "atspi_device_add_key_grab", [
50
- {
51
- type: { type: "gobject" },
52
- value: this.id,
53
- },
54
- {
55
- type: {
56
- type: "boxed",
57
- borrowed: true,
58
- innerType: "AtspiKeyDefinition",
59
- lib: "libatspi.so.0",
60
- },
61
- value: kd?.id ?? kd,
62
- },
63
- {
64
- type: { type: "callback" },
65
- value: callback,
66
- optional: true,
67
- },
68
- {
69
- type: { type: "int", size: 64, unsigned: true },
70
- value: userData,
71
- optional: true,
72
- },
73
- {
74
- type: { type: "callback", trampoline: "destroy" },
75
- value: callbackDestroyed,
76
- },
77
- ], { type: "int", size: 32, unsigned: true });
78
- }
79
- /**
80
- * Add a callback that will receive a notification whenever a key is
81
- * pressed or released.
82
- * @param callback - the
83
- * @param userData - Data to be passed to @callback.
84
- * @param callbackDestroyed - callback function to be called when `callback` is destroyed.
85
- */
86
- addKeyWatcher(callback, callbackDestroyed, userData) {
87
- call("libatspi.so.0", "atspi_device_add_key_watcher", [
88
- {
89
- type: { type: "gobject" },
90
- value: this.id,
91
- },
92
- {
93
- type: { type: "callback" },
94
- value: callback,
95
- },
96
- {
97
- type: { type: "int", size: 64, unsigned: true },
98
- value: userData,
99
- optional: true,
100
- },
101
- {
102
- type: { type: "callback", trampoline: "destroy" },
103
- value: callbackDestroyed,
104
- },
105
- ], { type: "undefined" });
106
- }
107
42
  clearKeyGrabs() {
108
43
  call("libatspi.so.0", "atspi_device_clear_key_grabs", [
109
44
  {
@@ -1,7 +1,6 @@
1
1
  import { Ref } from "@gtkx/native";
2
2
  import { KeyListenerSyncType, KeySynthType, Role } from "./enums.js";
3
3
  import { Accessible } from "./accessible.js";
4
- import { DeviceListener } from "./device-listener.js";
5
4
  import * as GLib from "../glib/index.js";
6
5
  /**
7
6
  * Removes a device event listener from the registry's listener queue,
@@ -9,7 +8,7 @@ import * as GLib from "../glib/index.js";
9
8
  * @param listener - a pointer to the #AtspiDeviceListener for which
10
9
  * @param filter - Unused parameter.
11
10
  */
12
- export declare const deregisterDeviceEventListener: (listener: DeviceListener, filter?: number | null) => boolean;
11
+ export declare const deregisterDeviceEventListener: (listener: unknown, filter?: number | null) => boolean;
13
12
  /**
14
13
  * Removes a keystroke event listener from the registry's listener queue,
15
14
  * ceasing notification of events with modifiers matching @modmask.
@@ -18,7 +17,7 @@ export declare const deregisterDeviceEventListener: (listener: DeviceListener, f
18
17
  * @param modmask - the key modifier mask for which this listener is to be
19
18
  * @param eventTypes - an #AtspiKeyMaskType mask indicating which
20
19
  */
21
- export declare const deregisterKeystrokeListener: (listener: DeviceListener, modmask: number, eventTypes: number, keySet?: GLib.Array | null) => boolean;
20
+ export declare const deregisterKeystrokeListener: (listener: unknown, modmask: number, eventTypes: number, keySet?: GLib.Array | null) => boolean;
22
21
  /**
23
22
  * Starts/enters the main event loop for the AT-SPI services.
24
23
  *
@@ -56,15 +55,6 @@ export declare const generateKeyboardEvent: (keyval: number, synthType: KeySynth
56
55
  * @param name - a string indicating which mouse event to be synthesized
57
56
  */
58
57
  export declare const generateMouseEvent: (x: number, y: number, name: string) => boolean;
59
- /**
60
- * Like atspi_generate_mouse_event, but asynchronous.
61
- * @param x - a #glong indicating the screen x coordinate of the mouse event.
62
- * @param y - a #glong indicating the screen y coordinate of the mouse event.
63
- * @param name - a string indicating which mouse event to be synthesized
64
- * @param callback - a callback to be called when a
65
- * @param callbackData - data to be passed to @callback.
66
- */
67
- export declare const generateMouseEventAsync: (x: number, y: number, name: string, callback: (...args: unknown[]) => unknown, callbackData?: number | null) => void;
68
58
  /**
69
59
  * Gets the virtual desktop indicated by index @i.
70
60
  * NOTE: currently multiple virtual desktops are not implemented;
@@ -108,7 +98,7 @@ export declare const isInitialized: () => boolean;
108
98
  /**
109
99
  * This function does nothing and should not be called.
110
100
  */
111
- export declare const registerDeviceEventListener: (listener: DeviceListener, eventTypes: number, filter?: number | null) => boolean;
101
+ export declare const registerDeviceEventListener: (listener: unknown, eventTypes: number, filter?: number | null) => boolean;
112
102
  /**
113
103
  * Registers a listener for keystroke events, either pre-emptively for
114
104
  * all windows (%ATSPI_KEYLISTENER_ALL_WINDOWS),
@@ -123,7 +113,7 @@ export declare const registerDeviceEventListener: (listener: DeviceListener, eve
123
113
  * @param eventTypes - an #AtspiKeyMaskType mask indicating which
124
114
  * @param syncType - an #AtspiKeyListenerSyncType parameter indicating
125
115
  */
126
- export declare const registerKeystrokeListener: (listener: DeviceListener, modmask: number, eventTypes: number, syncType: KeyListenerSyncType, keySet?: GLib.Array | null) => boolean;
116
+ export declare const registerKeystrokeListener: (listener: unknown, modmask: number, eventTypes: number, syncType: KeyListenerSyncType, keySet?: GLib.Array | null) => boolean;
127
117
  /**
128
118
  * Gets the localized description string describing the #AtspiRole @role.
129
119
  * @param role - an #AtspiRole object to query.
@@ -197,54 +197,6 @@ export const generateMouseEvent = (x, y, name) => {
197
197
  }
198
198
  return result;
199
199
  };
200
- /**
201
- * Like atspi_generate_mouse_event, but asynchronous.
202
- * @param x - a #glong indicating the screen x coordinate of the mouse event.
203
- * @param y - a #glong indicating the screen y coordinate of the mouse event.
204
- * @param name - a string indicating which mouse event to be synthesized
205
- * @param callback - a callback to be called when a
206
- * @param callbackData - data to be passed to @callback.
207
- */
208
- export const generateMouseEventAsync = (x, y, name, callback, callbackData) => {
209
- const error = { value: null };
210
- call("libatspi.so.0", "atspi_generate_mouse_event_async", [
211
- {
212
- type: { type: "int", size: 64, unsigned: false },
213
- value: x,
214
- },
215
- {
216
- type: { type: "int", size: 64, unsigned: false },
217
- value: y,
218
- },
219
- {
220
- type: { type: "string" },
221
- value: name,
222
- },
223
- {
224
- type: { type: "callback" },
225
- value: callback,
226
- },
227
- {
228
- type: { type: "int", size: 64, unsigned: true },
229
- value: callbackData,
230
- optional: true,
231
- },
232
- {
233
- type: {
234
- type: "ref",
235
- innerType: {
236
- type: "boxed",
237
- innerType: "GError",
238
- lib: "libglib-2.0.so.0",
239
- },
240
- },
241
- value: error,
242
- },
243
- ], { type: "undefined" });
244
- if (error.value !== null) {
245
- throw new NativeError(error.value);
246
- }
247
- };
248
200
  /**
249
201
  * Gets the virtual desktop indicated by index @i.
250
202
  * NOTE: currently multiple virtual desktops are not implemented;
@@ -12,9 +12,7 @@ export * from "./application.js";
12
12
  export * from "./device.js";
13
13
  export * from "./device-a11y-manager.js";
14
14
  export * from "./device-legacy.js";
15
- export * from "./device-listener.js";
16
15
  export * from "./device-x11.js";
17
- export * from "./event-listener.js";
18
16
  export * from "./hyperlink.js";
19
17
  export * from "./match-rule.js";
20
18
  export * from "./relation.js";
@@ -12,9 +12,7 @@ export * from "./application.js";
12
12
  export * from "./device.js";
13
13
  export * from "./device-a11y-manager.js";
14
14
  export * from "./device-legacy.js";
15
- export * from "./device-listener.js";
16
15
  export * from "./device-x11.js";
17
- export * from "./event-listener.js";
18
16
  export * from "./hyperlink.js";
19
17
  export * from "./match-rule.js";
20
18
  export * from "./relation.js";
@@ -38,17 +38,6 @@ import * as GObject from "../gobject/index.js";
38
38
  */
39
39
  export declare class Cursor extends GObject.GObject {
40
40
  static readonly glibTypeName: string;
41
- /**
42
- * Creates a new callback-based cursor object.
43
- *
44
- * Cursors of this kind produce textures for the cursor
45
- * image on demand, when the `callback` is called.
46
- * @param callback - the `GdkCursorGetTextureCallback`
47
- * @param data - data to pass to @callback
48
- * @param destroy - destroy notify for @data
49
- * @param fallback - the `GdkCursor` to fall back to when
50
- */
51
- constructor(callback: (...args: unknown[]) => unknown, destroy: () => void, data?: number | null, fallback?: Cursor | null);
52
41
  /**
53
42
  * Creates a new cursor by looking up `name` in the current cursor
54
43
  * theme.
@@ -98,7 +87,7 @@ export declare class Cursor extends GObject.GObject {
98
87
  * @param name - the name of the cursor
99
88
  * @param fallback - %NULL or the `GdkCursor` to fall back to when
100
89
  */
101
- static newFromName(name: string, fallback?: Cursor | null): Cursor;
90
+ constructor(name: string, fallback?: Cursor | null);
102
91
  /**
103
92
  * Creates a new cursor from a `GdkTexture`.
104
93
  * @param texture - the texture providing the pixel data
@@ -40,48 +40,6 @@ import * as GObject from "../gobject/index.js";
40
40
  */
41
41
  export class Cursor extends GObject.GObject {
42
42
  static glibTypeName = "GdkCursor";
43
- /**
44
- * Creates a new callback-based cursor object.
45
- *
46
- * Cursors of this kind produce textures for the cursor
47
- * image on demand, when the `callback` is called.
48
- * @param callback - the `GdkCursorGetTextureCallback`
49
- * @param data - data to pass to @callback
50
- * @param destroy - destroy notify for @data
51
- * @param fallback - the `GdkCursor` to fall back to when
52
- */
53
- constructor(callback, destroy, data, fallback) {
54
- if (!isInstantiating) {
55
- setInstantiating(true);
56
- // @ts-ignore
57
- super();
58
- setInstantiating(false);
59
- this.id = call("libgtk-4.so.1", "gdk_cursor_new_from_callback", [
60
- {
61
- type: { type: "callback" },
62
- value: callback,
63
- },
64
- {
65
- type: { type: "int", size: 64, unsigned: true },
66
- value: data,
67
- optional: true,
68
- },
69
- {
70
- type: { type: "callback", trampoline: "destroy" },
71
- value: destroy,
72
- },
73
- {
74
- type: { type: "gobject", borrowed: true },
75
- value: fallback?.id ?? fallback,
76
- optional: true,
77
- },
78
- ], { type: "gobject", borrowed: true });
79
- }
80
- else {
81
- // @ts-ignore
82
- super();
83
- }
84
- }
85
43
  /**
86
44
  * Creates a new cursor by looking up `name` in the current cursor
87
45
  * theme.
@@ -131,19 +89,28 @@ export class Cursor extends GObject.GObject {
131
89
  * @param name - the name of the cursor
132
90
  * @param fallback - %NULL or the `GdkCursor` to fall back to when
133
91
  */
134
- static newFromName(name, fallback) {
135
- const ptr = call("libgtk-4.so.1", "gdk_cursor_new_from_name", [
136
- {
137
- type: { type: "string" },
138
- value: name,
139
- },
140
- {
141
- type: { type: "gobject", borrowed: true },
142
- value: fallback?.id ?? fallback,
143
- optional: true,
144
- },
145
- ], { type: "gobject", borrowed: false });
146
- return getObject(ptr);
92
+ constructor(name, fallback) {
93
+ if (!isInstantiating) {
94
+ setInstantiating(true);
95
+ // @ts-ignore
96
+ super();
97
+ setInstantiating(false);
98
+ this.id = call("libgtk-4.so.1", "gdk_cursor_new_from_name", [
99
+ {
100
+ type: { type: "string" },
101
+ value: name,
102
+ },
103
+ {
104
+ type: { type: "gobject", borrowed: true },
105
+ value: fallback?.id ?? fallback,
106
+ optional: true,
107
+ },
108
+ ], { type: "gobject", borrowed: true });
109
+ }
110
+ else {
111
+ // @ts-ignore
112
+ super();
113
+ }
147
114
  }
148
115
  /**
149
116
  * Creates a new cursor from a `GdkTexture`.
@@ -172,32 +172,6 @@ export declare const contentDeserializeFinish: (result: Gio.AsyncResult, value:
172
172
  * @param string - the string to parse
173
173
  */
174
174
  export declare const contentFormatsParse: (string: string) => ContentFormats | null;
175
- /**
176
- * Registers a function to deserialize object of a given type.
177
- *
178
- * Since 4.20, when looking up a deserializer to use, GTK will
179
- * use the last registered deserializer for a given mime type,
180
- * so applications can override the built-in deserializers.
181
- * @param mimeType - the mime type which the function can deserialize from
182
- * @param type - the type of objects that the function creates
183
- * @param deserialize - the callback
184
- * @param data - data that `deserialize` can access
185
- * @param notify - destroy notify for @data
186
- */
187
- export declare const contentRegisterDeserializer: (mimeType: string, type: number, deserialize: (...args: unknown[]) => unknown, notify: () => void, data?: number | null) => void;
188
- /**
189
- * Registers a function to serialize objects of a given type.
190
- *
191
- * Since 4.20, when looking up a serializer to use, GTK will
192
- * use the last registered serializer for a given mime type,
193
- * so applications can override the built-in serializers.
194
- * @param type - the type of objects that the function can serialize
195
- * @param mimeType - the mime type to serialize to
196
- * @param serialize - the callback
197
- * @param data - data that `serialize` can access
198
- * @param notify - destroy notify for @data
199
- */
200
- export declare const contentRegisterSerializer: (type: number, mimeType: string, serialize: (...args: unknown[]) => unknown, notify: () => void, data?: number | null) => void;
201
175
  /**
202
176
  * Serialize content and write it to the given output stream, asynchronously.
203
177
  *