From b490e4d1f0be8d12a89212da9253e6d9091a56fa Mon Sep 17 00:00:00 2001 From: Yannick Inizan Date: Tue, 6 Oct 2015 11:03:26 +0200 Subject: [PATCH] webvideosrc : Source element for web video services. with given URI, parse HTML content, retrieve video links and rank these links by quality. Change video quality before playing by set 'quality' webvideosrc property. --- configure.ac | 9 + ext/Makefile.am | 12 +- ext/webvideo/Makefile.am | 45 + ext/webvideo/WebVideo.vala | 66 + ext/webvideo/WebVideoSrc.vala | 132 + ext/webvideo/fix.c | 215 ++ ext/webvideo/services/Dailymotion.vala | 47 + ext/webvideo/services/Uptobox.vala | 28 + ext/webvideo/services/Youtube.vala | 136 + ext/webvideo/utils/Uri.vala | 54 + ext/webvideo/utils/Utils.vala | 67 + ext/webvideo/vapis/gio-2.0.vapi | 4259 ++++++++++++++++++++++ ext/webvideo/vapis/glib-2.0.vapi | 5320 ++++++++++++++++++++++++++++ ext/webvideo/vapis/gstreamer-1.0.vapi | 3346 +++++++++++++++++ ext/webvideo/vapis/gstreamer-base-1.0.deps | 1 + ext/webvideo/vapis/gstreamer-base-1.0.vapi | 745 ++++ ext/webvideo/vapis/gxml-0.6.deps | 5 + ext/webvideo/vapis/gxml-0.6.vapi | 697 ++++ po/af.po | 2 +- po/az.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/da.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/eo.po | 2 +- po/es.po | 2 +- po/eu.po | 2 +- po/fi.po | 2 +- po/fr.po | 2 +- po/gl.po | 2 +- po/hr.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/ky.po | 2 +- po/lt.po | 2 +- po/lv.po | 2 +- po/mt.po | 2 +- po/nb.po | 2 +- po/nl.po | 2 +- po/or.po | 2 +- po/pl.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sq.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- 58 files changed, 15222 insertions(+), 42 deletions(-) create mode 100644 ext/webvideo/Makefile.am create mode 100644 ext/webvideo/WebVideo.vala create mode 100644 ext/webvideo/WebVideoSrc.vala create mode 100644 ext/webvideo/fix.c create mode 100644 ext/webvideo/services/Dailymotion.vala create mode 100644 ext/webvideo/services/Uptobox.vala create mode 100644 ext/webvideo/services/Youtube.vala create mode 100644 ext/webvideo/utils/Uri.vala create mode 100644 ext/webvideo/utils/Utils.vala create mode 100644 ext/webvideo/vapis/gio-2.0.vapi create mode 100644 ext/webvideo/vapis/glib-2.0.vapi create mode 100644 ext/webvideo/vapis/gstreamer-1.0.vapi create mode 100644 ext/webvideo/vapis/gstreamer-base-1.0.deps create mode 100644 ext/webvideo/vapis/gstreamer-base-1.0.vapi create mode 100644 ext/webvideo/vapis/gxml-0.6.deps create mode 100644 ext/webvideo/vapis/gxml-0.6.vapi diff --git a/configure.ac b/configure.ac index 2424dcb..62c8078 100644 --- a/configure.ac +++ b/configure.ac @@ -3205,6 +3205,13 @@ AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [ AG_GST_PKG_CHECK_MODULES(X265, x265) ]) +dnl *** webvideo *** +translit(dnm, m, l) AM_CONDITIONAL(USE_WEBVIDEO, true) +AG_GST_CHECK_FEATURE(WEBVIDEO, [web videos plug-in], webvideo, [ + AM_PROG_VALAC + AG_GST_PKG_CHECK_MODULES(WEBVIDEO, json-glib-1.0 gxml-0.6) +]) + else dnl not building plugins with external dependencies, @@ -3292,6 +3299,7 @@ AM_CONDITIONAL(USE_WEBP, false) AM_CONDITIONAL(USE_OPENH264, false) AM_CONDITIONAL(USE_X265, false) AM_CONDITIONAL(USE_DTLS, false) +AM_CONDITIONAL(USE_WEBVIDEO, false) fi dnl of EXT plugins @@ -3595,6 +3603,7 @@ ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/Makefile +ext/webvideo/Makefile po/Makefile.in docs/Makefile docs/plugins/Makefile diff --git a/ext/Makefile.am b/ext/Makefile.am index 33ddba7..f416721 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -430,6 +430,12 @@ else DTLS_DIR= endif +if USE_WEBVIDEO +WEBVIDEO_DIR=webvideo +else +WEBVIDEO_DIR= +endif + SUBDIRS=\ $(VOAACENC_DIR) \ $(ASSRENDER_DIR) \ @@ -501,7 +507,8 @@ SUBDIRS=\ $(HLS_DIR) \ $(WEBP_DIR) \ $(X265_DIR) \ - $(DTLS_DIR) + $(DTLS_DIR) \ + $(WEBVIDEO_DIR) DIST_SUBDIRS = \ assrender \ @@ -570,6 +577,7 @@ DIST_SUBDIRS = \ rtmp \ webp \ x265 \ - dtls + dtls \ + webvideo include $(top_srcdir)/common/parallel-subdirs.mak diff --git a/ext/webvideo/Makefile.am b/ext/webvideo/Makefile.am new file mode 100644 index 0000000..6eebe94 --- /dev/null +++ b/ext/webvideo/Makefile.am @@ -0,0 +1,45 @@ +# preamble +NULL = +BUILT_SOURCES = +CLEANFILES = +EXTRA_DIST = +DISTCLEANFILES = +lib_LTLIBRARIES = + +#sources +libgstwebvideo_la_VALASOURCES = utils/Uri.vala utils/Utils.vala \ + WebVideoSrc.vala WebVideo.vala \ + services/Youtube.vala \ + services/Dailymotion.vala \ + services/Uptobox.vala + +libgstwebvideo_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ + $(WEBVIDEO_CFLAGS) \ + $(GST_CFLAGS) \ + $(GST_BASE_CFLAGS) \ + $(GST_PLUGINS_BASE_CFLAGS) \ + -Wno-error + +libgstwebvideo_la_LIBADD = $(WEBVIDEO_LIBS) \ + $(GST_BASE_LIBS) \ + $(GST_PLUGINS_BASE_LIBS) + +libgstwebvideo_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +libgstwebvideo_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) + +libgstwebvideo_la_TMPSOURCES = utils/Uri.c utils/Utils.c \ + WebVideoSrc.c WebVideo.c \ + services/Youtube.c \ + services/Dailymotion.c \ + services/Uptobox.c + +libgstwebvideo_la_SOURCES = $(libgstwebvideo_la_TMPSOURCES) fix.c + +utils/Uri.c: plugin.stamp + +plugin.stamp: $(libgstwebvideo_la_VALASOURCES) + valac --enable-experimental --vapidir=$(srcdir)/vapis --pkg gstreamer-base-1.0 --pkg json-glib-1.0 --pkg gxml-0.6 -C $(libgstwebvideo_la_VALASOURCES) -H webvideosrc.h + +plugin_LTLIBRARIES=libgstwebvideo.la diff --git a/ext/webvideo/WebVideo.vala b/ext/webvideo/WebVideo.vala new file mode 100644 index 0000000..10b3964 --- /dev/null +++ b/ext/webvideo/WebVideo.vala @@ -0,0 +1,66 @@ +namespace Video { + public enum Quality { + NONE, + LOW, + STANDARD, + HIGH, + HD, + HD2 + } + + public errordomain VideoError { + NULL, + INVALID, + NOT_FOUND + } + + public struct Item { + public string url; + public Quality quality; + } + + public class WebVideo : GLib.Object { + construct { + notify["quality"].connect (() => { + for (var i = (int)quality; i >= 0; i--) { + foreach (var item in urls) + if ((int)item.quality == i) { + this.uri = item.url; + return; + } + } + }); + urls = new Gee.ArrayList(); + } + + internal Gee.ArrayList urls { get; private set; } + public ByteArray picture { get; protected set; } + public Quality quality { get; set; } + public string title { get; protected set; } + public string uri { get; private set; } + + public static bool uri_is_valid (string uri) { + return ("://uptobox.com" in uri || "://uptostream.com" in uri || + "youtube.com" in uri || "youtu.be" in uri || + "dailymotion" in uri); + } + + public static WebVideo? guess (string uri) { + if ("://uptobox.com" in uri || "://uptostream.com" in uri) + return new Uptobox (uri); + var url = new MeeGst.Uri (uri); + if (uri.has_prefix ("youtube://")) + url = new MeeGst.Uri ("http://www.youtube.com/watch?v=" + uri.split ("youtube://")[1]); + else if ("youtu.be" in uri) + url = new MeeGst.Uri ("http://www.youtube.com/watch?v=" + uri.split ("/")[uri.split ("/").length - 1]); + if ("youtube.com" in uri || "youtu.be" in uri || uri.has_prefix ("youtube://")) + if (url.parameters["v"] == null) + return null; + else + return new Youtube (url); + if ("dailymotion" in uri) + return new Dailymotion (uri); + return null; + } + } +} diff --git a/ext/webvideo/WebVideoSrc.vala b/ext/webvideo/WebVideoSrc.vala new file mode 100644 index 0000000..68afe27 --- /dev/null +++ b/ext/webvideo/WebVideoSrc.vala @@ -0,0 +1,132 @@ +using Video; + +public static extern Type web_video_src_real_type(); +public static extern Gst.FlowReturn web_video_src_rcreate (WebVideoSrc src, uint64 offset, uint size, out Gst.Buffer buffer); + +public class WebVideoSrc : Gst.Base.Src { + + public static bool init (Gst.Plugin plugin) { + Gst.StaticCaps caps = { null, "text/html" }; + if (!Gst.TypeFind.register (plugin, "text/html", Gst.Rank.PRIMARY, find => { + var data = (string)find.peek (0, 100); + if ("ytcfg" in data || "ytcsi" in data) + find.suggest (Gst.TypeFindProbability.MAXIMUM, caps.get()); + }, "html,htm", caps.get())) + return false; + return Gst.Element.register (plugin, "webvideosrc", 1024, web_video_src_real_type()); + } + + class construct { + Gst.StaticCaps caps = { null, "text/html" }; + Gst.StaticPadTemplate src_template = { + "src", + Gst.PadDirection.SRC, + Gst.PadPresence.ALWAYS, + caps + }; + add_pad_template (src_template.get()); + set_static_metadata ("WebVideoSrc", "Video", "Web video source element", "Yannick Inizan "); + } + + WebVideo video; + public FileInputStream stream; + public Cancellable cancel; + public Gst.Buffer cache; + public uint64 position; + + construct { + cancel = new Cancellable(); + notify["location"].connect (() => { + video = WebVideo.guess (location); + if (video == null) + return; + video.quality = quality; + if (video is Youtube) + provider = "youtube"; + if (video is Dailymotion) + provider = "dailymotion"; + if (video is Uptobox) + provider = "uptobox"; + started.connect (() => { + var list = new Gst.TagList.empty(); + list.add (Gst.TagMergeMode.APPEND, "title", video.title); + var sample = new Gst.Sample (new Gst.Buffer.wrapped (video.picture.data), null, null, null); + list.add (Gst.TagMergeMode.APPEND, "image", sample); + var msg = new Gst.Message.tag (this, list); + post_message (msg); + }); + }); + notify["quality"].connect (() => { + if (video != null) { + video.quality = quality; + } + }); + } + + public string location { get; set; } + public string provider { get; private set; } + public Quality quality { get; set; default = Quality.STANDARD; } + + public signal void started(); + + public override bool start() { + position = 0; + stream = File.new_for_uri (video.uri).read(); + started(); + return true; + } + + public override bool stop() { + stream.close(); + return true; + } + + public override bool get_size (out uint64 size) { + size = (uint64)stream.query_info ("standard::*").get_size(); + return true; + } + + public override bool is_seekable() { + return true; + } + + public override bool unlock() { + cancel.cancel(); + return true; + } + + public override bool unlock_stop() { + cancel.reset(); + return true; + } + + public override Gst.FlowReturn create (uint64 offset, uint size, out Gst.Buffer buffer) { + return web_video_src_rcreate (this, offset, size, out buffer); + } + + // URIHandler section + + public string? get_uri() { + return location; + } + + /* + public bool set_uri (string uri) throws GLib.Error { + if (!WebVideo.uri_is_valid (uri)) + return false; + if (WebVideo.guess (uri) == null) + throw new Gst.URIError.BAD_URI ("invalid URI"); + location = uri; + return true; + } + */ + + [CCode (array_length = false, array_null_terminated = true)] + public static string[]? get_protocols (GLib.Type gtype) { + return new string[]{"http", "https", "youtube", "dailymotion"}; + } + + public static Gst.URIType get_type_uri (GLib.Type gtype) { + return Gst.URIType.SRC; + } +} diff --git a/ext/webvideo/fix.c b/ext/webvideo/fix.c new file mode 100644 index 0000000..9c7c374 --- /dev/null +++ b/ext/webvideo/fix.c @@ -0,0 +1,215 @@ +#include +#include + +#include "webvideosrc.h" + +#ifndef PACKAGE +#define PACKAGE "webvideosrc" +#endif + +GstFlowReturn +gst_gio_seek (gpointer element, GSeekable * stream, guint64 offset, + GCancellable * cancel) +{ + gboolean success; + GstFlowReturn ret; + GError *err = NULL; + + GST_LOG_OBJECT (element, "seeking to offset %" G_GINT64_FORMAT, offset); + + success = g_seekable_seek (stream, offset, G_SEEK_SET, cancel, &err); + + if (success) + return GST_FLOW_OK; + return GST_FLOW_ERROR; +} + +gboolean +web_video_src_set_uri (GstURIHandler * handler, const gchar * uri, + GError ** error) +{ + GstElement *element = GST_ELEMENT (handler); + g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE); + if (!video_web_video_uri_is_valid (uri)) { + g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI, + "URI not supported"); + return FALSE; + } + if (GST_STATE (element) == GST_STATE_PLAYING + || GST_STATE (element) == GST_STATE_PAUSED) { + g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_STATE, + "Changing the 'location' property while the element is running is not supported"); + return FALSE; + } + web_video_src_set_location ((WebVideoSrc *) handler, uri); + return TRUE; +} + +GstFlowReturn +web_video_src_rcreate (WebVideoSrc * src, guint64 offset, guint size, + GstBuffer ** buf_return) +{ + GstBuffer *buf; + GstFlowReturn ret = GST_FLOW_OK; + + g_return_val_if_fail (G_IS_INPUT_STREAM (src->stream), GST_FLOW_ERROR); + + /* If we have the requested part in our cache take a subbuffer of that, + * otherwise fill the cache again with at least 4096 bytes from the + * requested offset and return a subbuffer of that. + * + * We need caching because every read/seek operation will need to go + * over DBus if our backend is GVfs and this is painfully slow. */ + if (src->cache && offset >= GST_BUFFER_OFFSET (src->cache) && + offset + size <= GST_BUFFER_OFFSET_END (src->cache)) { + GST_DEBUG_OBJECT (src, "Creating subbuffer from cached buffer: offset %" + G_GUINT64_FORMAT " length %u", offset, size); + + buf = gst_buffer_copy_region (src->cache, GST_BUFFER_COPY_ALL, + offset - GST_BUFFER_OFFSET (src->cache), size); + + GST_BUFFER_OFFSET (buf) = offset; + GST_BUFFER_OFFSET_END (buf) = offset + size; + } else { + guint cachesize = MAX (4096, size); + GstMapInfo map; + gssize read, streamread, res; + guint64 readoffset; + gboolean success, eos; + GError *err = NULL; + GstBuffer *newbuffer; + GstMemory *mem; + + newbuffer = gst_buffer_new (); + + /* copy any overlapping data from the cached buffer */ + if (src->cache && offset >= GST_BUFFER_OFFSET (src->cache) && + offset <= GST_BUFFER_OFFSET_END (src->cache)) { + read = GST_BUFFER_OFFSET_END (src->cache) - offset; + GST_LOG_OBJECT (src, + "Copying %" G_GSSIZE_FORMAT " bytes from cached buffer at %" + G_GUINT64_FORMAT, read, offset - GST_BUFFER_OFFSET (src->cache)); + gst_buffer_copy_into (newbuffer, src->cache, GST_BUFFER_COPY_MEMORY, + offset - GST_BUFFER_OFFSET (src->cache), read); + } else { + read = 0; + } + + if (src->cache) + gst_buffer_unref (src->cache); + src->cache = newbuffer; + + readoffset = offset + read; + GST_LOG_OBJECT (src, + "Reading %u bytes from offset %" G_GUINT64_FORMAT, cachesize, + readoffset); + + if (G_UNLIKELY (readoffset != src->position)) { + if (!G_IS_SEEKABLE (src->stream)) + return GST_FLOW_NOT_SUPPORTED; + + GST_DEBUG_OBJECT (src, "Seeking to position %" G_GUINT64_FORMAT, + readoffset); + ret = + gst_gio_seek (src, G_SEEKABLE (src->stream), readoffset, src->cancel); + + if (ret == GST_FLOW_OK) + src->position = readoffset; + else + return ret; + } + + mem = gst_allocator_alloc (NULL, cachesize, NULL); + if (mem == NULL) { + GST_ERROR_OBJECT (src, "Failed to allocate %u bytes", cachesize); + return GST_FLOW_ERROR; + } + + gst_memory_map (mem, &map, GST_MAP_WRITE); + streamread = 0; + while (size - read > 0 && (res = + g_input_stream_read (G_INPUT_STREAM (src->stream), + map.data + streamread, cachesize - streamread, src->cancel, + &err)) > 0) { + read += res; + streamread += res; + src->position += res; + } + gst_memory_unmap (mem, &map); + gst_buffer_append_memory (src->cache, mem); + + success = (read >= 0); + eos = (cachesize > 0 && read == 0); + + if (!success) { + GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), + ("Could not read from stream: %s", err->message)); + g_clear_error (&err); + } + + if (success && !eos) { + GST_BUFFER_OFFSET (src->cache) = offset; + GST_BUFFER_OFFSET_END (src->cache) = offset + read; + + GST_DEBUG_OBJECT (src, "Read successful"); + GST_DEBUG_OBJECT (src, "Creating subbuffer from new " + "cached buffer: offset %" G_GUINT64_FORMAT " length %u", offset, + size); + + buf = + gst_buffer_copy_region (src->cache, GST_BUFFER_COPY_ALL, 0, MIN (size, + read)); + + GST_BUFFER_OFFSET (buf) = offset; + GST_BUFFER_OFFSET_END (buf) = offset + MIN (size, read); + } else { + GST_DEBUG_OBJECT (src, "Read not successful"); + gst_buffer_unref (src->cache); + src->cache = NULL; + buf = NULL; + } + + if (eos) + ret = GST_FLOW_EOS; + } + + *buf_return = buf; + + return ret; +} + + +static void +web_video_src_interface_init (gpointer g_iface, gpointer iface_data) +{ + GstURIHandlerInterface *iface = (GstURIHandlerInterface *) g_iface; + iface->get_uri = web_video_src_get_uri; + iface->set_uri = web_video_src_set_uri; + iface->get_protocols = web_video_src_get_protocols; + iface->get_type = web_video_src_get_type_uri; +} + +GType +web_video_src_real_type (void) +{ + static volatile gsize type_id = 0; + if (g_once_init_enter (&type_id)) { + static const GInterfaceInfo gst_uri_handler_info = { + web_video_src_interface_init, + NULL, + NULL + }; + GType web_video_src_type_id = web_video_src_get_type (); + g_type_add_interface_static (web_video_src_type_id, + gst_uri_handler_get_type (), &gst_uri_handler_info); + g_once_init_leave (&type_id, web_video_src_type_id); + } + return type_id; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + webvideosrc, + "Web video source element", + web_video_src_init, + "1.4", "LGPL", "MyPlugins", "https://github.com/inizan-yannick/gst-plugins") diff --git a/ext/webvideo/services/Dailymotion.vala b/ext/webvideo/services/Dailymotion.vala new file mode 100644 index 0000000..4f6e68f --- /dev/null +++ b/ext/webvideo/services/Dailymotion.vala @@ -0,0 +1,47 @@ +namespace Video { + public class Dailymotion : WebVideo { + public Dailymotion (string uri) { + var id = uri.split ("/")[uri.split ("/").length - 1].split ("_")[0]; + var stream = new DataInputStream (File.new_for_uri ("http://www.dailymotion.com/embed/video/" + id).read()); + string? line = null; + var locator = "('player'), "; + while (true) { + string l = stream.read_line(); + if (l == null) + break; + if (locator in l) { + line = l; + line = line.substring (line.index_of (locator) + locator.length); + line = line.substring (0, line.length - 2); + break; + } + } + if (line == null) + return; + var parser = new Json.Parser(); + parser.load_from_data (line); + var metadata = parser.get_root().get_object().get_object_member ("metadata"); + title = metadata.get_string_member ("title"); + uint8[] data; + File.new_for_uri (metadata.get_string_member ("poster_url").replace ("\\/", "/")).load_contents (null, out data, null); + picture = new ByteArray.take (data); + metadata.get_object_member ("qualities").foreach_member ((object, name, node) => { + Quality q = Quality.STANDARD; + if (name == "240") + q = Quality.LOW; + else if (name == "380") + q = Quality.STANDARD; + else if (name == "480") + q = Quality.HIGH; + else if (name == "720") + q = Quality.HD; + else if (name == "1080") + q = Quality.HD2; + else return; + if (node.get_array().get_length() > 0) + urls.add ({ node.get_array().get_object_element (0).get_string_member ("url").replace ("\\/", "/"), q }); + }); + quality = Quality.STANDARD; + } + } +} diff --git a/ext/webvideo/services/Uptobox.vala b/ext/webvideo/services/Uptobox.vala new file mode 100644 index 0000000..e53a915 --- /dev/null +++ b/ext/webvideo/services/Uptobox.vala @@ -0,0 +1,28 @@ +namespace Video { + public class Uptobox : WebVideo { + public Uptobox (string uri) { + string url = uri.replace ("uptobox.com", "uptostream.com"); + var document = new HtmlDocument.from_uri (url, HtmlDocument.default_options); + title = (document.get_element_by_id ("titleVid") as GXml.Element).content.strip(); + var video = document.get_elements_by_tag_name ("video")[0]; + var img_url = video.attrs["poster"].value; + uint8[] data; + File.new_for_uri (img_url).load_contents (null, out data, null); + picture = new ByteArray.take (data); + video.get_elements_by_tag_name ("source").foreach (source => { + Quality q = Quality.LOW; + if (source.attrs["data-res"].value == "360p") + q = Quality.STANDARD; + if (source.attrs["data-res"].value == "480p") + q = Quality.HIGH; + if (source.attrs["data-res"].value == "720p") + q = Quality.HD; + if (source.attrs["data-res"].value == "1080p") + q = Quality.HD2; + urls.add ({ source.attrs["src"].value, q }); + return true; + }); + quality = Quality.STANDARD; + } + } +} diff --git a/ext/webvideo/services/Youtube.vala b/ext/webvideo/services/Youtube.vala new file mode 100644 index 0000000..da081d7 --- /dev/null +++ b/ext/webvideo/services/Youtube.vala @@ -0,0 +1,136 @@ +namespace Video { + public class Youtube : WebVideo { + public Youtube (MeeGst.Uri url) { + base(); + var video_id = url.parameters["v"]; + uint8[] data; + var document = new HtmlDocument.from_uri ("http://www.youtube.com/watch?v=" + video_id, HtmlDocument.default_options); + foreach (var meta in document.get_elements_by_tag_name ("meta")) { + var e = meta as GXml.xElement; + if (e.get_attribute ("property") == "og:title") + title = e.get_attribute ("content"); + if (e.get_attribute ("property") == "og:image") { + File.new_for_uri (e.get_attribute ("content")).load_contents (null, out data, null); + picture = new ByteArray.take (data); + } + } + File.new_for_uri ("http://www.youtube.com/watch?v=" + url.parameters["v"]).load_contents (null, out data, null); + var table = ((string)data).split("\""); + string? _map = null; + string? js_url = null; + for (var i = 0; i < table.length; i++) { + if (table[i] == "url_encoded_fmt_stream_map") + _map = table[i+2]; + if (table[i] == "js") + js_url = "http:" + table[i+2].replace ("\\/", "/"); + } + if (_map == null) { + string ruri = @"https://www.youtube.com/get_video_info?sts=1588&asv=3&hl=en&gl=US&el=embedded&video_id=$video_id&eurl=https%3A%2F%2Fyoutube.googleapis.com%2Fv%2F$video_id"; + File.new_for_uri (ruri).load_contents (null, out data, null); + var durl = new MeeGst.Uri ("http://www.dummy.com?" + (string)data); + if (durl.parameters["url_encoded_fmt_stream_map"] != null) + _map = GLib.Uri.unescape_string (durl.parameters["url_encoded_fmt_stream_map"]); + } + if (_map != null) { + string[] map = _map.replace ("\\u0026", "&").split (","); + foreach (string s in map) { + string[] t = s.split ("&"); + string _quality = ""; + string u = ""; + string? signature = null; + foreach (var val in t) { + var t1 = val.split ("=")[0]; + var t2 = val.split ("=")[1]; + if (t1 == "sig") + signature = "&signature=" + t2; + if (t1 == "s") { + if (js_url == null) + return; + try { + signature = "&signature=" + descramble (t2, js_url); + } catch { + continue; + } + } + if (t1 == "quality") + _quality = t2; + if (t1 == "url") + u = GLib.Uri.unescape_string (t2); + } + Quality q = Quality.NONE; + if(_quality == "hd1080") + q = Quality.HD2; + else if(_quality == "hd720") + q = Quality.HD; + else if(_quality == "large") + q = Quality.HIGH; + else if(_quality == "medium") + q = Quality.STANDARD; + else if(_quality == "small") + q = Quality.LOW; + urls.add ({ u + signature, q }); + } + quality = Quality.STANDARD; + } + } + + string descramble (string signature, string js_url) throws GLib.Error { + string sig = signature; + var stream = new DataInputStream (File.new_for_uri (js_url).read()); + string? descrambler = null; + Gee.ArrayList lines = new Gee.ArrayList(); + while (descrambler == null) { + string? line = stream.read_line(); + if (line == null) + error ("can't read line."); + lines.add (line); + // Youtube change signature function symbol. + if (!(".sig||" in line)) + continue; + descrambler = line.substring (line.index_of (".sig||", line.index_of (".sig||") + 1) + ".sig||".length); + descrambler = descrambler.substring (0, descrambler.index_of ("(")); + } + string? trans = null; + string? fn = null; + for (var i = 0; i < lines.size; i++) + if ("function %s(".printf (descrambler) in lines[i]) { + trans = lines[i].split ("function %s(".printf (descrambler))[0]; + trans = trans.substring (trans.last_index_of ("={") + 2); + var map = new Gee.HashMap(); + foreach (var s in trans.split ("},")) { + var t = s.split(":function"); + if (".splice" in t[1]) + map[t[0]] = "splice"; + if (".reverse" in t[1]) + map[t[0]] = "reverse"; + if ("var c=" in t[1]) + map[t[0]] = "swap"; + } + fn = "function %s(".printf (descrambler) + lines[i].split ("function %s(".printf (descrambler))[1].split (";function")[0]; + var fns = fn.split (");"); + for (var j = 1; j < fns.length - 1; j++) { + int k = int.parse (fns[j].substring (fns[j].last_index_of (",") + 1)); + string meth = fns[j].substring (fns[j].index_of (".") + 1); + meth = meth.substring (0, meth.index_of ("(")); + if (map[meth] == "reverse") + sig = sig.reverse(); + if (map[meth] == "swap") { + uint8[] data = sig.data; + uint8 u = data[0]; + data[0] = data[k % data.length]; + data[k] = u; + sig = (string)data; + } + if (map[meth] == "splice") { + uint8[] array = sig.data; + int len = array.length; + array.move (k, 0, len - k); + sig = (string)array; + } + } + } + return sig; + } + + } +} diff --git a/ext/webvideo/utils/Uri.vala b/ext/webvideo/utils/Uri.vala new file mode 100644 index 0000000..88c62b5 --- /dev/null +++ b/ext/webvideo/utils/Uri.vala @@ -0,0 +1,54 @@ +namespace MeeGst { + public class Uri : GLib.Object { + public Uri (string str) { + parameters = new HashTable(str_hash, str_equal); + uri = str; + if (uri.index_of ("://") == -1) { + path = str; + uri = Filename.to_uri (path); + } + else { + try { + path = Filename.from_uri (uri); + } catch { + + } + } + if ("?" in str) { + var array = str.substring (1 + str.index_of ("?")).split ("&"); + for (int i = 0; i < array.length; i++) { + string[] prms = array[i].split ("="); + parameters[prms[0]] = prms[1]; + } + } + } + + public bool equals (Uri uri) { + return str_equal (uri.to_string(), to_string()); + } + + public HashTable parameters { get; private set; } + + public uint port { get; private set; } + + public string path { get; private set; } + + public string scheme { + owned get { + return uri.substring (0, uri.index_of (":")); + } + } + + public string[] segments { + owned get { + return path.split ("/"); + } + } + + public string uri { get; private set; } + + public string to_string() { + return uri; + } + } +} diff --git a/ext/webvideo/utils/Utils.vala b/ext/webvideo/utils/Utils.vala new file mode 100644 index 0000000..6c01c11 --- /dev/null +++ b/ext/webvideo/utils/Utils.vala @@ -0,0 +1,67 @@ +internal class HtmlDocument : GXml.xDocument { + public static int default_options { + get { + return Html.ParserOption.NONET | Html.ParserOption.NOWARNING | Html.ParserOption.NOERROR | Html.ParserOption.NOBLANKS; + } + } + public static int no_error { + get { + return Html.ParserOption.NOERROR; + } + } + + public HtmlDocument.from_file (File file, int options = 0, Cancellable? cancel = null) throws GLib.Error { + uint8[] data; + file.load_contents (null, out data, null); + this.from_string ((string)data, options); + } + + public HtmlDocument.from_path (string path, int options = 0) throws GLib.Error { + this.from_file (File.new_for_path (path), options); + } + + public HtmlDocument.from_stream (InputStream stream, int options = 0, Cancellable? cancel = null) throws GLib.Error { + uint8[] buffer = new uint8[1024]; + string html = ""; + while (stream.read (buffer) != 0) { + if(cancel != null && cancel.is_cancelled()) + break; + html += (string)buffer; + } + this.from_string (html, options); + } + + public HtmlDocument.from_string (string html, int options = 0) { + base.from_libxml2 (Html.Doc.read_memory (html.to_utf8(), html.length, "", null, options)); + } + + public HtmlDocument.from_uri (string uri, int options = 0) throws GLib.Error { + this.from_file (File.new_for_uri (uri), options); + } + + Gee.List gebcn (GXml.xElement node, string klass) { + var list = new Gee.ArrayList(); + foreach (var child in node.childs) { + var e = child as GXml.xElement; + if (e == null) + continue; + list.add_all (gebcn (e, klass)); + if (e.get_attribute ("class") != null) { + foreach (string kls in e.get_attribute ("class").split (" ")) + if (kls == klass) { + list.add (child); + break; + } + } + } + return list; + } + + public Gee.List get_elements_by_class_name (string klass) { + return gebcn (root as GXml.xElement, klass); + } + + public GXml.Node? get_element_by_id (string id) { + return root.get_element_by_id (id); + } + } diff --git a/ext/webvideo/vapis/gio-2.0.vapi b/ext/webvideo/vapis/gio-2.0.vapi new file mode 100644 index 0000000..74d9955 --- /dev/null +++ b/ext/webvideo/vapis/gio-2.0.vapi @@ -0,0 +1,4259 @@ + /* gio-2.0.vapi generated by vapigen, do not modify. */ + +[CCode (cprefix = "G", gir_namespace = "Gio", gir_version = "2.0", lower_case_cprefix = "g_")] +namespace GLib { + namespace Bus { + [CCode (cheader_filename = "gio/gio.h")] + public static async GLib.DBusConnection @get (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cheader_filename = "gio/gio.h")] + public static async T get_proxy (GLib.BusType bus_type, string name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cheader_filename = "gio/gio.h")] + public static T get_proxy_sync (GLib.BusType bus_type, string name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.DBusConnection get_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_own_name_with_closures")] + public static uint own_name (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusAcquiredCallback? bus_acquired_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback? name_acquired_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback? name_lost_closure = null); + [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_own_name_on_connection_with_closures")] + public static uint own_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback? name_acquired_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback? name_lost_closure = null); + [CCode (cheader_filename = "gio/gio.h")] + public static void unown_name (uint owner_id); + [CCode (cheader_filename = "gio/gio.h")] + public static void unwatch_name (uint watcher_id); + [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_watch_name_with_closures")] + public static uint watch_name (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? name_appeared_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback? name_vanished_closure = null); + [CCode (cheader_filename = "gio/gio.h", cname = "g_bus_watch_name_on_connection_with_closures")] + public static uint watch_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? name_appeared_closure = null, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback? name_vanished_closure = null); + } + namespace ContentType { + [CCode (cheader_filename = "gio/gio.h")] + public static bool can_be_executable (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static bool equals (string type1, string type2); + [CCode (cheader_filename = "gio/gio.h")] + public static string? from_mime_type (string mime_type); + [CCode (cheader_filename = "gio/gio.h")] + public static string get_description (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static string get_generic_icon_name (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Icon get_icon (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static string? get_mime_type (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Icon get_symbolic_icon (string type); + [CCode (cheader_filename = "gio/gio.h")] + public static string guess (string? filename, [CCode (array_length_cname = "data_size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[]? data, out bool result_uncertain); + [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h")] + public static string[] guess_for_tree (GLib.File root); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_a (string type, string supertype); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_unknown (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_types_get_registered")] + public static GLib.List list_registered (); + } + namespace DBus { + [CCode (cheader_filename = "gio/gio.h")] + public static string address_escape_value (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static async GLib.IOStream address_get_stream (string address, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.IOStream address_get_stream_sync (string address, string out_guid, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static unowned string annotation_info_lookup ([CCode (array_length = false, array_null_terminated = true)] GLib.DBusAnnotationInfo[]? annotations, string name); + [CCode (cheader_filename = "gio/gio.h")] + public static string generate_guid (); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Variant gvalue_to_gvariant (GLib.Value gvalue, GLib.VariantType type); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Value gvariant_to_gvalue (GLib.Variant value); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_address (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_guid (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_interface_name (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_member_name (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_name (string string); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_supported_address (string string) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_unique_name (string string); + } + namespace FileAttribute { + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE")] + public const string ACCESS_CAN_DELETE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE")] + public const string ACCESS_CAN_EXECUTE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_READ")] + public const string ACCESS_CAN_READ; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME")] + public const string ACCESS_CAN_RENAME; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH")] + public const string ACCESS_CAN_TRASH; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE")] + public const string ACCESS_CAN_WRITE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE")] + public const string DOS_IS_ARCHIVE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_DOS_IS_SYSTEM")] + public const string DOS_IS_SYSTEM; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ETAG_VALUE")] + public const string ETAG_VALUE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_FREE")] + public const string FILESYSTEM_FREE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_READONLY")] + public const string FILESYSTEM_READONLY; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_SIZE")] + public const string FILESYSTEM_SIZE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_TYPE")] + public const string FILESYSTEM_TYPE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_USED")] + public const string FILESYSTEM_USED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW")] + public const string FILESYSTEM_USE_PREVIEW; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_GVFS_BACKEND")] + public const string GVFS_BACKEND; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ID_FILE")] + public const string ID_FILE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_ID_FILESYSTEM")] + public const string ID_FILESYSTEM; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT")] + public const string MOUNTABLE_CAN_EJECT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT")] + public const string MOUNTABLE_CAN_MOUNT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL")] + public const string MOUNTABLE_CAN_POLL; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START")] + public const string MOUNTABLE_CAN_START; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED")] + public const string MOUNTABLE_CAN_START_DEGRADED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP")] + public const string MOUNTABLE_CAN_STOP; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT")] + public const string MOUNTABLE_CAN_UNMOUNT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI")] + public const string MOUNTABLE_HAL_UDI; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC")] + public const string MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE")] + public const string MOUNTABLE_START_STOP_TYPE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE")] + public const string MOUNTABLE_UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE")] + public const string MOUNTABLE_UNIX_DEVICE_FILE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_OWNER_GROUP")] + public const string OWNER_GROUP; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_OWNER_USER")] + public const string OWNER_USER; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_OWNER_USER_REAL")] + public const string OWNER_USER_REAL; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_PREVIEW_ICON")] + public const string PREVIEW_ICON; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_SELINUX_CONTEXT")] + public const string SELINUX_CONTEXT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE")] + public const string STANDARD_ALLOCATED_SIZE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE")] + public const string STANDARD_CONTENT_TYPE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_COPY_NAME")] + public const string STANDARD_COPY_NAME; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION")] + public const string STANDARD_DESCRIPTION; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME")] + public const string STANDARD_DISPLAY_NAME; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME")] + public const string STANDARD_EDIT_NAME; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE")] + public const string STANDARD_FAST_CONTENT_TYPE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_ICON")] + public const string STANDARD_ICON; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP")] + public const string STANDARD_IS_BACKUP; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN")] + public const string STANDARD_IS_HIDDEN; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK")] + public const string STANDARD_IS_SYMLINK; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL")] + public const string STANDARD_IS_VIRTUAL; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_NAME")] + public const string STANDARD_NAME; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SIZE")] + public const string STANDARD_SIZE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER")] + public const string STANDARD_SORT_ORDER; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON")] + public const string STANDARD_SYMBOLIC_ICON; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET")] + public const string STANDARD_SYMLINK_TARGET; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_TARGET_URI")] + public const string STANDARD_TARGET_URI; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_STANDARD_TYPE")] + public const string STANDARD_TYPE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAILING_FAILED")] + public const string THUMBNAILING_FAILED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID")] + public const string THUMBNAIL_IS_VALID; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_THUMBNAIL_PATH")] + public const string THUMBNAIL_PATH; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_ACCESS")] + public const string TIME_ACCESS; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_ACCESS_USEC")] + public const string TIME_ACCESS_USEC; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_CHANGED")] + public const string TIME_CHANGED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_CHANGED_USEC")] + public const string TIME_CHANGED_USEC; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_CREATED")] + public const string TIME_CREATED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_CREATED_USEC")] + public const string TIME_CREATED_USEC; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_MODIFIED")] + public const string TIME_MODIFIED; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC")] + public const string TIME_MODIFIED_USEC; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_DELETION_DATE")] + public const string TRASH_DELETION_DATE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT")] + public const string TRASH_ITEM_COUNT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_TRASH_ORIG_PATH")] + public const string TRASH_ORIG_PATH; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_BLOCKS")] + public const string UNIX_BLOCKS; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE")] + public const string UNIX_BLOCK_SIZE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_DEVICE")] + public const string UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_GID")] + public const string UNIX_GID; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_INODE")] + public const string UNIX_INODE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT")] + public const string UNIX_IS_MOUNTPOINT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_MODE")] + public const string UNIX_MODE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_NLINK")] + public const string UNIX_NLINK; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_RDEV")] + public const string UNIX_RDEV; + [CCode (cheader_filename = "gio/gio.h", cname = "G_FILE_ATTRIBUTE_UNIX_UID")] + public const string UNIX_UID; + } + namespace VolumeIdentifier { + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_CLASS")] + public const string CLASS; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_HAL_UDI")] + public const string HAL_UDI; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_LABEL")] + public const string LABEL; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT")] + public const string NFS_MOUNT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE")] + public const string UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_IDENTIFIER_KIND_UUID")] + public const string UUID; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_app_info_monitor_get_type ()")] + public class AppInfoMonitor : GLib.Object { + [CCode (has_construct_function = false)] + protected AppInfoMonitor (); + public static GLib.AppInfoMonitor @get (); + public signal void changed (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_app_launch_context_get_type ()")] + public class AppLaunchContext : GLib.Object { + [CCode (has_construct_function = false)] + public AppLaunchContext (); + public virtual string get_display (GLib.AppInfo info, GLib.List files); + [CCode (array_length = false, array_null_terminated = true)] + public string[] get_environment (); + public virtual string get_startup_notify_id (GLib.AppInfo info, GLib.List files); + public void setenv (string variable, string value); + public void unsetenv (string variable); + [HasEmitter] + public virtual signal void launch_failed (string startup_notify_id); + public virtual signal void launched (GLib.AppInfo info, GLib.Variant platform_data); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_application_get_type ()")] + public class Application : GLib.Object, GLib.ActionGroup, GLib.ActionMap { + [CCode (has_construct_function = false)] + public Application (string? application_id, GLib.ApplicationFlags flags); + public void add_main_option (string long_name, char short_name, GLib.OptionFlags flags, GLib.OptionArg arg, string description, string? arg_description); + public void add_main_option_entries ([CCode (array_length = false, array_null_terminated = true)] GLib.OptionEntry[] entries); + public void add_option_group (GLib.OptionGroup group); + [NoWrapper] + public virtual void add_platform_data (GLib.VariantBuilder builder); + [NoWrapper] + public virtual void after_emit (GLib.Variant platform_data); + [NoWrapper] + public virtual void before_emit (GLib.Variant platform_data); + public void bind_busy_property (GLib.Object object, string property); + [NoWrapper] + public virtual bool dbus_register (GLib.DBusConnection connection, string object_path) throws GLib.Error; + [NoWrapper] + public virtual void dbus_unregister (GLib.DBusConnection connection, string object_path); + public unowned string get_application_id (); + public unowned GLib.DBusConnection get_dbus_connection (); + public unowned string get_dbus_object_path (); + public static unowned GLib.Application get_default (); + public GLib.ApplicationFlags get_flags (); + public uint get_inactivity_timeout (); + public bool get_is_busy (); + public bool get_is_registered (); + public bool get_is_remote (); + public unowned string? get_resource_base_path (); + public void hold (); + public static bool id_is_valid (string application_id); + [NoWrapper] + public virtual bool local_command_line ([CCode (array_length = false, array_null_terminated = true)] ref unowned string[] arguments, out int exit_status); + public void mark_busy (); + public void quit (); + [NoWrapper] + public virtual void quit_mainloop (); + public bool register (GLib.Cancellable? cancellable = null) throws GLib.Error; + public void release (); + public int run ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] string[]? argv = null); + [NoWrapper] + public virtual void run_mainloop (); + public void send_notification (string? id, GLib.Notification notification); + [Deprecated (since = "2.32")] + public void set_action_group (GLib.ActionGroup? action_group); + public void set_application_id (string? application_id); + public void set_default (); + public void set_flags (GLib.ApplicationFlags flags); + public void set_inactivity_timeout (uint inactivity_timeout); + public void set_resource_base_path (string? resource_path); + public void unbind_busy_property (GLib.Object object, string property); + public void unmark_busy (); + public void withdraw_notification (string id); + public GLib.ActionGroup action_group { set; } + public string application_id { get; set construct; } + public GLib.ApplicationFlags flags { get; set; } + public uint inactivity_timeout { get; set; } + public bool is_busy { get; } + public bool is_registered { get; } + public bool is_remote { get; } + public string resource_base_path { get; set; } + [HasEmitter] + public virtual signal void activate (); + public virtual signal int command_line (GLib.ApplicationCommandLine command_line); + public virtual signal int handle_local_options (GLib.VariantDict options); + [HasEmitter] + public virtual signal void open ([CCode (array_length_cname = "n_files", array_length_pos = 1.5)] GLib.File[] files, string hint); + public virtual signal void shutdown (); + public virtual signal void startup (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_application_command_line_get_type ()")] + public class ApplicationCommandLine : GLib.Object { + [CCode (has_construct_function = false)] + protected ApplicationCommandLine (); + public GLib.File create_file_for_arg (string arg); + [CCode (array_length_pos = 0.1)] + public string[] get_arguments (); + public unowned string get_cwd (); + [CCode (array_length = false, array_null_terminated = true)] + public unowned string[] get_environ (); + public int get_exit_status (); + public bool get_is_remote (); + public unowned GLib.VariantDict get_options_dict (); + public GLib.Variant? get_platform_data (); + public virtual GLib.InputStream get_stdin (); + public unowned string getenv (string name); + [PrintfFormat] + public void print (string format, ...); + [NoWrapper] + public virtual void print_literal (string message); + [PrintfFormat] + public void printerr (string format, ...); + [NoWrapper] + public virtual void printerr_literal (string message); + public void set_exit_status (int exit_status); + public GLib.Variant arguments { construct; } + public bool is_remote { get; } + public GLib.Variant options { construct; } + public GLib.Variant platform_data { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_buffered_input_stream_get_type ()")] + public class BufferedInputStream : GLib.FilterInputStream, GLib.Seekable { + [CCode (has_construct_function = false, type = "GInputStream*")] + public BufferedInputStream (GLib.InputStream base_stream); + public virtual ssize_t fill (ssize_t count, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async ssize_t fill_async (ssize_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public size_t get_available (); + public size_t get_buffer_size (); + public size_t peek ([CCode (array_length_cname = "count", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] buffer, size_t offset = 0); + [CCode (array_length_pos = 0.1, array_length_type = "gsize")] + public unowned uint8[] peek_buffer (); + public int read_byte (GLib.Cancellable? cancellable = null) throws GLib.Error; + public void set_buffer_size (size_t size); + [CCode (has_construct_function = false, type = "GInputStream*")] + public BufferedInputStream.sized (GLib.InputStream base_stream, size_t size); + public uint buffer_size { get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_buffered_output_stream_get_type ()")] + public class BufferedOutputStream : GLib.FilterOutputStream, GLib.Seekable { + [CCode (has_construct_function = false, type = "GOutputStream*")] + public BufferedOutputStream (GLib.OutputStream base_stream); + public bool get_auto_grow (); + public size_t get_buffer_size (); + public void set_auto_grow (bool auto_grow); + public void set_buffer_size (size_t size); + [CCode (has_construct_function = false, type = "GOutputStream*")] + public BufferedOutputStream.sized (GLib.OutputStream base_stream, size_t size); + public bool auto_grow { get; set; } + public uint buffer_size { get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_bytes_icon_get_type ()")] + public class BytesIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon { + [CCode (has_construct_function = false, type = "GIcon*")] + public BytesIcon (GLib.Bytes bytes); + public unowned GLib.Bytes get_bytes (); + public GLib.Bytes bytes { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_cancellable_get_type ()")] + public class Cancellable : GLib.Object { + [CCode (has_construct_function = false)] + public Cancellable (); + public void cancel (); + public ulong connect ([CCode (type = "GCallback")] owned GLib.Func callback); + public void disconnect (ulong handler_id); + public static unowned GLib.Cancellable? get_current (); + public int get_fd (); + public bool is_cancelled (); + public bool make_pollfd (GLib.PollFD pollfd); + public void pop_current (); + public void push_current (); + public void release_fd (); + public void reset (); + public bool set_error_if_cancelled () throws GLib.IOError; + public GLib.CancellableSource source_new (); + public virtual signal void cancelled (); + } + [CCode (cheader_filename = "gio/gio.h", cname = "GSource", ref_function = "g_source_ref", unref_function = "g_source_unref")] + [Compact] + public class CancellableSource : GLib.Source { + [CCode (cname = "g_source_set_callback")] + public void set_callback ([CCode (type = "GSourceFunc")] owned GLib.CancellableSourceFunc func); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_charset_converter_get_type ()")] + public class CharsetConverter : GLib.Object, GLib.Converter, GLib.Initable { + [CCode (has_construct_function = false)] + public CharsetConverter (string to_charset, string from_charset) throws GLib.Error; + public uint get_num_fallbacks (); + public bool get_use_fallback (); + public void set_use_fallback (bool use_fallback); + [NoAccessorMethod] + public string from_charset { owned get; construct; } + [NoAccessorMethod] + public string to_charset { owned get; construct; } + public bool use_fallback { get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_input_stream_get_type ()")] + public class ConverterInputStream : GLib.FilterInputStream, GLib.PollableInputStream { + [CCode (has_construct_function = false, type = "GInputStream*")] + public ConverterInputStream (GLib.InputStream base_stream, GLib.Converter converter); + public unowned GLib.Converter get_converter (); + public GLib.Converter converter { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_output_stream_get_type ()")] + public class ConverterOutputStream : GLib.FilterOutputStream, GLib.PollableOutputStream { + [CCode (has_construct_function = false, type = "GOutputStream*")] + public ConverterOutputStream (GLib.OutputStream base_stream, GLib.Converter converter); + public unowned GLib.Converter get_converter (); + public GLib.Converter converter { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_credentials_get_type ()")] + public class Credentials : GLib.Object { + [CCode (has_construct_function = false)] + public Credentials (); + public void* get_native (GLib.CredentialsType native_type); + public int get_unix_pid () throws GLib.Error; + public uint get_unix_user () throws GLib.Error; + public bool is_same_user (GLib.Credentials other_credentials) throws GLib.Error; + public void set_native (GLib.CredentialsType native_type, void* native); + public bool set_unix_user (uint uid) throws GLib.Error; + public string to_string (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_action_group_get_type ()")] + public class DBusActionGroup : GLib.Object, GLib.ActionGroup, GLib.RemoteActionGroup { + [CCode (has_construct_function = false)] + protected DBusActionGroup (); + public static GLib.DBusActionGroup @get (GLib.DBusConnection connection, string bus_name, string object_path); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_annotation_info_ref", type_id = "g_dbus_annotation_info_get_type ()", unref_function = "g_dbus_annotation_info_unref")] + [Compact] + public class DBusAnnotationInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + public string key; + public int ref_count; + public string value; + public GLib.DBusAnnotationInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_arg_info_ref", type_id = "g_dbus_arg_info_get_type ()", unref_function = "g_dbus_arg_info_unref")] + [Compact] + public class DBusArgInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + public string name; + public int ref_count; + public string signature; + public GLib.DBusArgInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_auth_observer_get_type ()")] + public class DBusAuthObserver : GLib.Object { + [CCode (has_construct_function = false)] + public DBusAuthObserver (); + [HasEmitter] + public signal bool allow_mechanism (string mechanism); + public virtual signal bool authorize_authenticated_peer (GLib.IOStream stream, GLib.Credentials? credentials); + } + [CCode (cheader_filename = "gio/gio.h")] + public class DBusConnection : GLib.Object, GLib.AsyncInitable, GLib.Initable, GLib.AsyncInitable, GLib.Initable { + [CCode (has_construct_function = false)] + protected DBusConnection (); + public uint add_filter (owned GLib.DBusMessageFilterFunction filter_function); + public async GLib.Variant call (string? bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.Variant call_sync (string? bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.Variant call_with_unix_fd_list (string? bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, GLib.Cancellable? cancellable = null, out GLib.UnixFDList? out_fd_list = null) throws GLib.Error; + public GLib.Variant call_with_unix_fd_list_sync (string? bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, out GLib.UnixFDList? out_fd_list = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async bool close (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool close_sync (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool emit_signal (string? destination_bus_name, string object_path, string interface_name, string signal_name, GLib.Variant? parameters) throws GLib.Error; + public uint export_action_group (string object_path, GLib.ActionGroup action_group) throws GLib.Error; + public uint export_menu_model (string object_path, GLib.MenuModel menu) throws GLib.Error; + public async bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool flush_sync (GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (has_construct_function = false)] + public DBusConnection.for_address_sync (string address, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.DBusCapabilityFlags get_capabilities (); + public bool get_exit_on_close (); + public unowned string get_guid (); + public uint32 get_last_serial (); + public unowned GLib.Credentials get_peer_credentials (); + public async T get_proxy (string? name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public T get_proxy_sync (string? name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public unowned GLib.IOStream get_stream (); + public unowned string get_unique_name (); + public bool is_closed (); + [CCode (cname = "g_dbus_connection_new", finish_function = "g_dbus_connection_new_finish")] + public static async GLib.DBusConnection @new (GLib.IOStream stream, string guid, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cname = "g_dbus_connection_new_for_address", finish_function = "g_dbus_connection_new_for_address_finish")] + public static async GLib.DBusConnection new_for_address (string address, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public uint register_object (string object_path, T object) throws GLib.IOError; + public uint register_subtree (string object_path, GLib.DBusSubtreeVTable vtable, GLib.DBusSubtreeFlags flags, void* user_data, GLib.DestroyNotify user_data_free_func) throws GLib.Error; + public void remove_filter (uint filter_id); + public bool send_message (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, out uint32 out_serial) throws GLib.Error; + public async GLib.DBusMessage send_message_with_reply (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, uint32* out_serial = null, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public GLib.DBusMessage send_message_with_reply_sync (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, out uint32 out_serial = null, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public void set_exit_on_close (bool exit_on_close); + public uint signal_subscribe (string? sender, string? interface_name, string? member, string? object_path, string? arg0, GLib.DBusSignalFlags flags, owned GLib.DBusSignalCallback callback); + public void signal_unsubscribe (uint subscription_id); + public void start_message_processing (); + [CCode (has_construct_function = false)] + public DBusConnection.sync (GLib.IOStream stream, string? guid, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void unexport_action_group (uint export_id); + public void unexport_menu_model (uint export_id); + public bool unregister_object (uint registration_id); + public bool unregister_subtree (uint registration_id); + public string address { construct; } + public GLib.DBusAuthObserver authentication_observer { construct; } + public GLib.DBusCapabilityFlags capabilities { get; } + [NoAccessorMethod] + public bool closed { get; } + public bool exit_on_close { get; set; } + public GLib.DBusConnectionFlags flags { construct; } + public string guid { get; construct; } + public GLib.IOStream stream { get; construct; } + public string unique_name { get; } + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_interface_info_ref", type_id = "g_dbus_interface_info_get_type ()", unref_function = "g_dbus_interface_info_unref")] + [Compact] + public class DBusInterfaceInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusMethodInfo[] methods; + public string name; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusPropertyInfo[] properties; + public int ref_count; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusSignalInfo[] signals; + public void cache_build (); + public void cache_release (); + public void generate_xml (uint indent, GLib.StringBuilder string_builder); + public unowned GLib.DBusMethodInfo lookup_method (string name); + public unowned GLib.DBusPropertyInfo lookup_property (string name); + public unowned GLib.DBusSignalInfo lookup_signal (string name); + public GLib.DBusInterfaceInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_interface_skeleton_get_type ()")] + public abstract class DBusInterfaceSkeleton : GLib.Object, GLib.DBusInterface { + [CCode (has_construct_function = false)] + protected DBusInterfaceSkeleton (); + public bool export (GLib.DBusConnection connection, string object_path) throws GLib.Error; + public virtual void flush (); + public unowned GLib.DBusConnection get_connection (); + public GLib.List get_connections (); + public GLib.DBusInterfaceSkeletonFlags get_flags (); + public virtual unowned GLib.DBusInterfaceInfo get_info (); + public unowned string get_object_path (); + public virtual GLib.Variant get_properties (); + public virtual GLib.DBusInterfaceVTable? get_vtable (); + public bool has_connection (GLib.DBusConnection connection); + public void set_flags (GLib.DBusInterfaceSkeletonFlags flags); + public void unexport (); + public void unexport_from_connection (GLib.DBusConnection connection); + [NoAccessorMethod] + public GLib.DBusInterfaceSkeletonFlags g_flags { get; set; } + public virtual signal bool g_authorize_method (GLib.DBusMethodInvocation invocation); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_menu_model_get_type ()")] + public class DBusMenuModel : GLib.MenuModel { + [CCode (has_construct_function = false)] + protected DBusMenuModel (); + public static GLib.DBusMenuModel @get (GLib.DBusConnection connection, string bus_name, string object_path); + } + [CCode (cheader_filename = "gio/gio.h")] + public class DBusMessage : GLib.Object { + [CCode (has_construct_function = false)] + public DBusMessage (); + public static ssize_t bytes_needed ([CCode (array_length_cname = "blob_len", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] blob) throws GLib.Error; + public GLib.DBusMessage copy () throws GLib.Error; + [CCode (has_construct_function = false)] + public DBusMessage.from_blob ([CCode (array_length_cname = "blob_len", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] blob, GLib.DBusCapabilityFlags capabilities) throws GLib.Error; + public unowned string get_arg0 (); + public unowned GLib.Variant get_body (); + public GLib.DBusMessageByteOrder get_byte_order (); + public unowned string get_destination (); + public unowned string get_error_name (); + public GLib.DBusMessageFlags get_flags (); + public GLib.Variant get_header (GLib.DBusMessageHeaderField header_field); + [CCode (array_length = false, array_null_terminated = true)] + public uchar[] get_header_fields (); + public unowned string get_interface (); + public bool get_locked (); + public unowned string get_member (); + public GLib.DBusMessageType get_message_type (); + public uint32 get_num_unix_fds (); + public unowned string get_path (); + public uint32 get_reply_serial (); + public unowned string get_sender (); + public uint32 get_serial (); + public unowned string get_signature (); + public unowned GLib.UnixFDList get_unix_fd_list (); + public void @lock (); + [CCode (has_construct_function = false)] + public DBusMessage.method_call (string name, string path, string interface_, string method); + [CCode (has_construct_function = false)] + [PrintfFormat] + public DBusMessage.method_error (GLib.DBusMessage method_call_message, string error_name, string error_message_format, ...); + [CCode (has_construct_function = false)] + public DBusMessage.method_error_literal (GLib.DBusMessage method_call_message, string error_name, string error_message); + [CCode (has_construct_function = false)] + public DBusMessage.method_error_valist (GLib.DBusMessage method_call_message, string error_name, string error_message_format, va_list var_args); + [CCode (has_construct_function = false)] + public DBusMessage.method_reply (GLib.DBusMessage method_call_message); + public string print (uint indent = 0); + public void set_body (GLib.Variant body); + public void set_byte_order (GLib.DBusMessageByteOrder byte_order); + public void set_destination (string value); + public void set_error_name (string value); + public void set_flags (GLib.DBusMessageFlags flags); + public void set_header (GLib.DBusMessageHeaderField header_field, GLib.Variant? value); + public void set_interface (string value); + public void set_member (string value); + public void set_message_type (GLib.DBusMessageType type); + public void set_num_unix_fds (uint32 value); + public void set_path (string value); + public void set_reply_serial (uint32 value); + public void set_sender (string value); + public void set_serial (uint32 serial); + public void set_signature (string value); + public void set_unix_fd_list (GLib.UnixFDList? fd_list); + [CCode (has_construct_function = false)] + public DBusMessage.@signal (string path, string interface_, string @signal); + [CCode (array_length_pos = 0.5, array_length_type = "gsize")] + public uint8[] to_blob (GLib.DBusCapabilityFlags capabilities) throws GLib.Error; + public bool to_gerror () throws GLib.Error; + public bool locked { get; } + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_method_info_ref", type_id = "g_dbus_method_info_get_type ()", unref_function = "g_dbus_method_info_unref")] + [Compact] + public class DBusMethodInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusArgInfo[] in_args; + public string name; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusArgInfo[] out_args; + public int ref_count; + public GLib.DBusMethodInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_method_invocation_get_type ()")] + public class DBusMethodInvocation : GLib.Object { + [CCode (has_construct_function = false)] + protected DBusMethodInvocation (); + public unowned GLib.DBusConnection get_connection (); + public unowned string get_interface_name (); + public unowned GLib.DBusMessage get_message (); + public unowned GLib.DBusMethodInfo get_method_info (); + public unowned string get_method_name (); + public unowned string get_object_path (); + public unowned GLib.Variant get_parameters (); + public unowned GLib.DBusPropertyInfo get_property_info (); + public unowned string get_sender (); + public void* get_user_data (); + public void return_dbus_error (string error_name, string error_message); + public void return_error (GLib.Quark domain, int code, string format, ...); + public void return_error_literal (GLib.Quark domain, int code, string message); + public void return_error_valist (GLib.Quark domain, int code, string format, [CCode (type = "va_list")] va_list var_args); + public void return_gerror (GLib.Error error); + public void return_value (GLib.Variant? parameters); + public void return_value_with_unix_fd_list (GLib.Variant? parameters, GLib.UnixFDList? fd_list); + public void take_error (owned GLib.Error error); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_node_info_ref", type_id = "g_dbus_node_info_get_type ()", unref_function = "g_dbus_node_info_unref")] + [Compact] + public class DBusNodeInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusInterfaceInfo[] interfaces; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusNodeInfo[] nodes; + public string path; + public int ref_count; + [CCode (has_construct_function = false)] + public DBusNodeInfo.for_xml (string xml_data) throws GLib.Error; + public void generate_xml (uint indent, GLib.StringBuilder string_builder); + public unowned GLib.DBusInterfaceInfo lookup_interface (string name); + public GLib.DBusNodeInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_client_get_type ()")] + public class DBusObjectManagerClient : GLib.Object, GLib.AsyncInitable, GLib.DBusObjectManager, GLib.Initable, GLib.AsyncInitable, GLib.DBusObjectManager, GLib.Initable { + [CCode (has_construct_function = false)] + protected DBusObjectManagerClient (); + [CCode (has_construct_function = false, type = "GDBusObjectManager*")] + public DBusObjectManagerClient.for_bus_sync (GLib.BusType bus_type, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, [CCode (delegate_target_pos = 5.33333, destroy_notify_pos = 5.66667)] owned GLib.DBusProxyTypeFunc? get_proxy_type_func, GLib.Cancellable? cancellable = null) throws GLib.Error; + public unowned GLib.DBusConnection get_connection (); + public GLib.DBusObjectManagerClientFlags get_flags (); + public unowned string get_name (); + public string? get_name_owner (); + [CCode (cname = "g_dbus_object_manager_client_new", finish_function = "g_dbus_object_manager_client_new_finish")] + public static async GLib.DBusObjectManagerClient @new (GLib.DBusConnection connection, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, [CCode (delegate_target_pos = 5.33333, destroy_notify_pos = 5.66667)] owned GLib.DBusProxyTypeFunc get_proxy_type_func, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cname = "g_dbus_object_manager_client_new_for_bus", finish_function = "g_dbus_object_manager_client_new_for_bus_finish")] + public static async GLib.DBusObjectManagerClient new_for_bus (GLib.BusType bus_type, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, [CCode (delegate_target_pos = 5.33333, destroy_notify_pos = 5.66667)] owned GLib.DBusProxyTypeFunc get_proxy_type_func, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (has_construct_function = false, type = "GDBusObjectManager*")] + public DBusObjectManagerClient.sync (GLib.DBusConnection connection, GLib.DBusObjectManagerClientFlags flags, string? name, string object_path, [CCode (delegate_target_pos = 5.33333, destroy_notify_pos = 5.66667)] owned GLib.DBusProxyTypeFunc? get_proxy_type_func, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.BusType bus_type { construct; } + public GLib.DBusConnection connection { get; construct; } + public GLib.DBusObjectManagerClientFlags flags { get; construct; } + [NoAccessorMethod] + public void* get_proxy_type_destroy_notify { get; construct; } + [NoAccessorMethod] + public void* get_proxy_type_func { get; construct; } + [NoAccessorMethod] + public void* get_proxy_type_user_data { get; construct; } + public string name { get; construct; } + public string? name_owner { owned get; } + [NoAccessorMethod] + public string object_path { owned get; construct; } + public virtual signal void interface_proxy_properties_changed (GLib.DBusObjectProxy object_proxy, GLib.DBusProxy interface_proxy, GLib.Variant changed_properties, [CCode (array_length = false, array_null_terminated = true)] string[] invalidated_properties); + public virtual signal void interface_proxy_signal (GLib.DBusObjectProxy object_proxy, GLib.DBusProxy interface_proxy, string sender_name, string signal_name, GLib.Variant parameters); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_server_get_type ()")] + public class DBusObjectManagerServer : GLib.Object, GLib.DBusObjectManager { + [CCode (has_construct_function = false)] + public DBusObjectManagerServer (string object_path); + public void export (GLib.DBusObjectSkeleton object); + public void export_uniquely (GLib.DBusObjectSkeleton object); + public GLib.DBusConnection get_connection (); + public bool is_exported (GLib.DBusObjectSkeleton object); + public void set_connection (GLib.DBusConnection? connection); + public bool unexport (string object_path); + public GLib.DBusConnection connection { owned get; set; } + [NoAccessorMethod] + public string object_path { owned get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_proxy_get_type ()")] + public class DBusObjectProxy : GLib.Object, GLib.DBusObject { + [CCode (has_construct_function = false)] + public DBusObjectProxy (GLib.DBusConnection connection, string object_path); + public unowned GLib.DBusConnection get_connection (); + [NoAccessorMethod] + public GLib.DBusConnection g_connection { owned get; construct; } + [NoAccessorMethod] + public string g_object_path { owned get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_skeleton_get_type ()")] + public class DBusObjectSkeleton : GLib.Object, GLib.DBusObject { + [CCode (has_construct_function = false)] + public DBusObjectSkeleton (string object_path); + public void add_interface (GLib.DBusInterfaceSkeleton interface_); + public void flush (); + public void remove_interface (GLib.DBusInterfaceSkeleton interface_); + public void remove_interface_by_name (string interface_name); + public void set_object_path (string object_path); + [NoAccessorMethod] + public string g_object_path { owned get; set construct; } + public virtual signal bool authorize_method (GLib.DBusInterfaceSkeleton interface_, GLib.DBusMethodInvocation invocation); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_property_info_ref", type_id = "g_dbus_property_info_get_type ()", unref_function = "g_dbus_property_info_unref")] + [Compact] + public class DBusPropertyInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + public GLib.DBusPropertyInfoFlags flags; + public string name; + public int ref_count; + public string signature; + public GLib.DBusPropertyInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h")] + public class DBusProxy : GLib.Object, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable { + [CCode (has_construct_function = false)] + protected DBusProxy (); + public async GLib.Variant call (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.Variant call_sync (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.Variant call_with_unix_fd_list (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, GLib.Cancellable? cancellable = null, out GLib.UnixFDList? out_fd_list = null) throws GLib.Error; + public GLib.Variant call_with_unix_fd_list_sync (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.UnixFDList? fd_list = null, out GLib.UnixFDList? out_fd_list = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cname = "g_dbus_proxy_new_for_bus", finish_function = "g_dbus_proxy_new_for_bus_finish")] + public static async GLib.DBusProxy create_for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (has_construct_function = false)] + public DBusProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.Variant get_cached_property (string property_name); + [CCode (array_length = false, array_null_terminated = true)] + public string[] get_cached_property_names (); + public unowned GLib.DBusConnection get_connection (); + public int get_default_timeout (); + public GLib.DBusProxyFlags get_flags (); + public GLib.DBusInterfaceInfo get_interface_info (); + public unowned string get_interface_name (); + public unowned string get_name (); + public string get_name_owner (); + public unowned string get_object_path (); + [CCode (cname = "g_dbus_proxy_new", finish_function = "g_dbus_proxy_new_finish")] + public static async GLib.DBusProxy @new (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string? name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public void set_cached_property (string property_name, GLib.Variant? value); + public void set_default_timeout (int timeout_msec); + public void set_interface_info (GLib.DBusInterfaceInfo? info); + [CCode (has_construct_function = false)] + public DBusProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string? name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.BusType g_bus_type { construct; } + [NoAccessorMethod] + public GLib.DBusConnection g_connection { owned get; construct; } + [NoAccessorMethod] + public int g_default_timeout { get; set construct; } + [NoAccessorMethod] + public GLib.DBusProxyFlags g_flags { get; construct; } + [NoAccessorMethod] + public GLib.DBusInterfaceInfo g_interface_info { owned get; set; } + [NoAccessorMethod] + public string g_interface_name { owned get; construct; } + [NoAccessorMethod] + public string g_name { owned get; construct; } + [NoAccessorMethod] + public string g_name_owner { owned get; } + [NoAccessorMethod] + public string g_object_path { owned get; construct; } + public virtual signal void g_properties_changed (GLib.Variant changed_properties, [CCode (array_length = false, array_null_terminated = true)] string[] invalidated_properties); + public virtual signal void g_signal (string? sender_name, string signal_name, GLib.Variant parameters); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_server_get_type ()")] + public class DBusServer : GLib.Object, GLib.Initable { + [CCode (has_construct_function = false)] + protected DBusServer (); + public unowned string get_client_address (); + public GLib.DBusServerFlags get_flags (); + public unowned string get_guid (); + public bool is_active (); + public void start (); + public void stop (); + [CCode (has_construct_function = false)] + public DBusServer.sync (string address, GLib.DBusServerFlags flags, string guid, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoAccessorMethod] + public bool active { get; } + [NoAccessorMethod] + public string address { owned get; construct; } + [NoAccessorMethod] + public GLib.DBusAuthObserver authentication_observer { owned get; construct; } + public string client_address { get; } + public GLib.DBusServerFlags flags { get; construct; } + public string guid { get; construct; } + public signal bool new_connection (GLib.DBusConnection connection); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_signal_info_ref", type_id = "g_dbus_signal_info_get_type ()", unref_function = "g_dbus_signal_info_unref")] + [Compact] + public class DBusSignalInfo { + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusAnnotationInfo[] annotations; + [CCode (array_length = false, array_null_terminated = true)] + public GLib.DBusArgInfo[] args; + public string name; + public int ref_count; + public GLib.DBusSignalInfo @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h")] + public class DataInputStream : GLib.BufferedInputStream, GLib.Seekable { + [CCode (has_construct_function = false)] + public DataInputStream (GLib.InputStream base_stream); + public GLib.DataStreamByteOrder get_byte_order (); + public GLib.DataStreamNewlineType get_newline_type (); + public uint8 read_byte (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public int16 read_int16 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public int32 read_int32 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public int64 read_int64 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (array_length = false, array_null_terminated = true)] + public string? read_line (out size_t length = null, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (array_length = false, array_null_terminated = true)] + public async string? read_line_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length = null) throws GLib.IOError, GLib.IOError; + public string? read_line_utf8 (out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cname = "g_data_input_stream_read_line_async", finish_function = "g_data_input_stream_read_line_finish_utf8")] + public async string? read_line_utf8_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length) throws GLib.IOError, GLib.IOError; + public uint16 read_uint16 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public uint32 read_uint32 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public uint64 read_uint64 (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public string read_until (string stop_chars, out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public async string read_until_async (string stop_chars, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length) throws GLib.IOError, GLib.IOError; + public string read_upto (string stop_chars, ssize_t stop_chars_len, out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public async string read_upto_async (string stop_chars, ssize_t stop_chars_len, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length) throws GLib.IOError, GLib.IOError; + public void set_byte_order (GLib.DataStreamByteOrder order); + public void set_newline_type (GLib.DataStreamNewlineType type); + public GLib.DataStreamByteOrder byte_order { get; set; } + public GLib.DataStreamNewlineType newline_type { get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_data_output_stream_get_type ()")] + public class DataOutputStream : GLib.FilterOutputStream, GLib.Seekable { + [CCode (has_construct_function = false)] + public DataOutputStream (GLib.OutputStream base_stream); + public GLib.DataStreamByteOrder get_byte_order (); + public bool put_byte (uint8 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_int16 (int16 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_int32 (int32 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_int64 (int64 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_string (string str, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_uint16 (uint16 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_uint32 (uint32 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool put_uint64 (uint64 data, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public void set_byte_order (GLib.DataStreamByteOrder order); + public GLib.DataStreamByteOrder byte_order { get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_emblem_get_type ()")] + public class Emblem : GLib.Object, GLib.Icon { + [CCode (has_construct_function = false)] + public Emblem (GLib.Icon icon); + public unowned GLib.Icon get_icon (); + public GLib.EmblemOrigin get_origin (); + [CCode (has_construct_function = false)] + public Emblem.with_origin (GLib.Icon icon, GLib.EmblemOrigin origin); + public GLib.Object icon { get; construct; } + public GLib.EmblemOrigin origin { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_emblemed_icon_get_type ()")] + public class EmblemedIcon : GLib.Object, GLib.Icon { + [CCode (has_construct_function = false, type = "GIcon*")] + public EmblemedIcon (GLib.Icon icon, GLib.Emblem? emblem); + public void add_emblem (GLib.Emblem emblem); + public void clear_emblems (); + public unowned GLib.List get_emblems (); + public unowned GLib.Icon get_icon (); + [NoAccessorMethod] + public GLib.Icon gicon { owned get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_file_attribute_info_list_ref", type_id = "g_file_attribute_info_list_get_type ()", unref_function = "g_file_attribute_info_list_unref")] + [Compact] + public class FileAttributeInfoList { + [CCode (array_length_cname = "n_infos")] + public GLib.FileAttributeInfo[] infos; + public int n_infos; + [CCode (has_construct_function = false)] + public FileAttributeInfoList (); + public void add (string name, GLib.FileAttributeType type, GLib.FileAttributeInfoFlags flags); + public GLib.FileAttributeInfoList dup (); + public unowned GLib.FileAttributeInfo? lookup (string name); + public GLib.FileAttributeInfoList @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_file_attribute_matcher_ref", type_id = "g_file_attribute_matcher_get_type ()", unref_function = "g_file_attribute_matcher_unref")] + [Compact] + public class FileAttributeMatcher { + [CCode (has_construct_function = false)] + public FileAttributeMatcher (string attributes); + public bool enumerate_namespace (string ns); + public unowned string enumerate_next (); + public bool matches (string attribute); + public bool matches_only (string attribute); + public GLib.FileAttributeMatcher @ref (); + public GLib.FileAttributeMatcher subtract (GLib.FileAttributeMatcher subtract); + public string to_string (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_enumerator_get_type ()")] + public class FileEnumerator : GLib.Object { + [CCode (has_construct_function = false)] + protected FileEnumerator (); + public bool close (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.File get_child (GLib.FileInfo info); + public unowned GLib.File get_container (); + public bool has_pending (); + public bool is_closed (); + public bool iterate (out unowned GLib.FileInfo out_info, out unowned GLib.File out_child, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.FileInfo? next_file (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.List next_files_async (int num_files, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void set_pending (bool pending); + public GLib.File container { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_io_stream_get_type ()")] + public class FileIOStream : GLib.IOStream, GLib.Seekable { + [CCode (has_construct_function = false)] + protected FileIOStream (); + [NoWrapper] + public virtual bool can_seek (); + [NoWrapper] + public virtual bool can_truncate (); + public virtual string get_etag (); + public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual int64 tell (); + [NoWrapper] + public virtual bool truncate_fn (int64 size, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_icon_get_type ()")] + public class FileIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon { + [CCode (has_construct_function = false, type = "GIcon*")] + public FileIcon (GLib.File file); + public unowned GLib.File get_file (); + public GLib.File file { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_info_get_type ()")] + public class FileInfo : GLib.Object { + [CCode (has_construct_function = false)] + public FileInfo (); + public void clear_status (); + public void copy_into (GLib.FileInfo dest_info); + public GLib.FileInfo dup (); + public string get_attribute_as_string (string attribute); + public bool get_attribute_boolean (string attribute); + public unowned string get_attribute_byte_string (string attribute); + public bool get_attribute_data (string attribute, out GLib.FileAttributeType type, out void* value_pp, out GLib.FileAttributeStatus status); + public int32 get_attribute_int32 (string attribute); + public int64 get_attribute_int64 (string attribute); + public unowned GLib.Object get_attribute_object (string attribute); + public GLib.FileAttributeStatus get_attribute_status (string attribute); + public unowned string get_attribute_string (string attribute); + [CCode (array_length = false, array_null_terminated = true)] + public unowned string[] get_attribute_stringv (string attribute); + public GLib.FileAttributeType get_attribute_type (string attribute); + public uint32 get_attribute_uint32 (string attribute); + public uint64 get_attribute_uint64 (string attribute); + public unowned string get_content_type (); + public GLib.DateTime get_deletion_date (); + public unowned string get_display_name (); + public unowned string get_edit_name (); + public unowned string get_etag (); + public GLib.FileType get_file_type (); + public unowned GLib.Icon get_icon (); + public bool get_is_backup (); + public bool get_is_hidden (); + public bool get_is_symlink (); + public GLib.TimeVal get_modification_time (); + public unowned string get_name (); + public int64 get_size (); + public int32 get_sort_order (); + public unowned GLib.Icon get_symbolic_icon (); + public unowned string get_symlink_target (); + public bool has_attribute (string attribute); + public bool has_namespace (string name_space); + [CCode (array_length = false, array_null_terminated = true)] + public string[]? list_attributes (string name_space); + public void remove_attribute (string attribute); + public void set_attribute (string attribute, GLib.FileAttributeType type, void* value_p); + public void set_attribute_boolean (string attribute, bool attr_value); + public void set_attribute_byte_string (string attribute, string attr_value); + public void set_attribute_int32 (string attribute, int32 attr_value); + public void set_attribute_int64 (string attribute, int64 attr_value); + public void set_attribute_mask (GLib.FileAttributeMatcher mask); + public void set_attribute_object (string attribute, GLib.Object attr_value); + public bool set_attribute_status (string attribute, GLib.FileAttributeStatus status); + public void set_attribute_string (string attribute, string attr_value); + public void set_attribute_stringv (string attribute, [CCode (array_length = false)] string[] attr_value); + public void set_attribute_uint32 (string attribute, uint32 attr_value); + public void set_attribute_uint64 (string attribute, uint64 attr_value); + public void set_content_type (string content_type); + public void set_display_name (string display_name); + public void set_edit_name (string edit_name); + public void set_file_type (GLib.FileType type); + public void set_icon (GLib.Icon icon); + public void set_is_hidden (bool is_hidden); + public void set_is_symlink (bool is_symlink); + public void set_modification_time (GLib.TimeVal mtime); + public void set_name (string name); + public void set_size (int64 size); + public void set_sort_order (int32 sort_order); + public void set_symbolic_icon (GLib.Icon icon); + public void set_symlink_target (string symlink_target); + public void unset_attribute_mask (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_input_stream_get_type ()")] + public class FileInputStream : GLib.InputStream, GLib.Seekable { + [CCode (has_construct_function = false)] + protected FileInputStream (); + [NoWrapper] + public virtual bool can_seek (); + public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual int64 tell (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_monitor_get_type ()")] + public abstract class FileMonitor : GLib.Object { + [CCode (has_construct_function = false)] + protected FileMonitor (); + public virtual bool cancel (); + public void emit_event (GLib.File child, GLib.File other_file, GLib.FileMonitorEvent event_type); + public bool is_cancelled (); + public void set_rate_limit (int limit_msecs); + [NoAccessorMethod] + public bool cancelled { get; } + [Deprecated (since = "2.46")] + public GLib.MainContext context { construct; } + [NoAccessorMethod] + public int rate_limit { get; set; } + public virtual signal void changed (GLib.File file, GLib.File? other_file, GLib.FileMonitorEvent event_type); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_file_output_stream_get_type ()")] + public class FileOutputStream : GLib.OutputStream, GLib.Seekable { + [CCode (has_construct_function = false)] + protected FileOutputStream (); + [NoWrapper] + public virtual bool can_seek (); + [NoWrapper] + public virtual bool can_truncate (); + public virtual string get_etag (); + public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoWrapper] + public virtual int64 tell (); + [NoWrapper] + public virtual bool truncate_fn (int64 size, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_filename_completer_get_type ()")] + public class FilenameCompleter : GLib.Object { + [CCode (has_construct_function = false)] + public FilenameCompleter (); + public string get_completion_suffix (string initial_text); + [CCode (array_length = false, array_null_terminated = true)] + public string[] get_completions (string initial_text); + public void set_dirs_only (bool dirs_only); + public virtual signal void got_completion_data (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_filter_input_stream_get_type ()")] + public abstract class FilterInputStream : GLib.InputStream { + [CCode (has_construct_function = false)] + protected FilterInputStream (); + public unowned GLib.InputStream get_base_stream (); + public bool get_close_base_stream (); + public void set_close_base_stream (bool close_base); + public GLib.InputStream base_stream { get; construct; } + public bool close_base_stream { get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_filter_output_stream_get_type ()")] + public abstract class FilterOutputStream : GLib.OutputStream { + [CCode (has_construct_function = false)] + protected FilterOutputStream (); + public unowned GLib.OutputStream get_base_stream (); + public bool get_close_base_stream (); + public void set_close_base_stream (bool close_base); + public GLib.OutputStream base_stream { get; construct; } + public bool close_base_stream { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h")] + [Compact] + public class IOExtension { + public unowned string get_name (); + public int get_priority (); + public GLib.Type get_type (); + } + [CCode (cheader_filename = "gio/gio.h")] + [Compact] + public class IOExtensionPoint { + [CCode (cheader_filename = "gio/gio.h", cname = "G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME")] + public const string DESKTOP_APP_INFO_LOOKUP; + [CCode (cheader_filename = "gio/gio.h", cname = "G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME")] + public const string NATIVE_VOLUME_MONITOR; + [CCode (cheader_filename = "gio/gio.h", cname = "G_NETWORK_MONITOR_EXTENSION_POINT_NAME")] + public const string NETWORK_MONITOR; + [CCode (cheader_filename = "gio/gio.h", cname = "G_PROXY_EXTENSION_POINT_NAME")] + public const string PROXY; + [CCode (cheader_filename = "gio/gio.h", cname = "G_PROXY_RESOLVER_EXTENSION_POINT_NAME")] + public const string PROXY_RESOLVER; + [CCode (cheader_filename = "gio/gio.h", cname = "G_TLS_BACKEND_EXTENSION_POINT_NAME")] + public const string TLS_BACKEND; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VFS_EXTENSION_POINT_NAME")] + public const string VFS; + [CCode (cheader_filename = "gio/gio.h", cname = "G_VOLUME_MONITOR_EXTENSION_POINT_NAME")] + public const string VOLUME_MONITOR; + public unowned GLib.IOExtension get_extension_by_name (string name); + public unowned GLib.List get_extensions (); + public GLib.Type get_required_type (); + [CCode (cheader_filename = "gio/gio.h")] + public static unowned GLib.IOExtension implement (string extension_point_name, GLib.Type type, string extension_name, int priority); + [CCode (cheader_filename = "gio/gio.h")] + public static unowned GLib.IOExtensionPoint lookup (string name); + [CCode (cheader_filename = "gio/gio.h")] + public static unowned GLib.IOExtensionPoint register (string name); + public void set_required_type (GLib.Type type); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_io_module_get_type ()")] + public class IOModule : GLib.TypeModule, GLib.TypePlugin { + [CCode (has_construct_function = false)] + public IOModule (string filename); + public void load (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory")] + public static GLib.List load_all_in_directory (string dirname); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory_with_scope")] + public static GLib.List load_all_in_directory_with_scope (string dirname, GLib.IOModuleScope scope); + [CCode (array_length = false, array_null_terminated = true)] + public static string[] query (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory")] + public static void scan_all_in_directory (string dirname); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory_with_scope")] + public static void scan_all_in_directory_with_scope (string dirname, GLib.IOModuleScope scope); + public void unload (); + } + [CCode (cheader_filename = "gio/gio.h")] + [Compact] + public class IOModuleScope { + [CCode (has_construct_function = false)] + public IOModuleScope (GLib.IOModuleScopeFlags flags); + public void block (string basename); + public void free (); + } + [CCode (cheader_filename = "gio/gio.h")] + [Compact] + public class IOSchedulerJob { + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_cancel_all_jobs")] + [Deprecated] + public static void cancel_all (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_push_job")] + [Deprecated] + public static void push ([CCode (delegate_target_pos = 1.33333, destroy_notify_pos = 1.66667)] owned GLib.IOSchedulerJobFunc job_func, int io_priority, GLib.Cancellable? cancellable = null); + [Deprecated] + public bool send_to_mainloop (owned GLib.SourceFunc func); + [Deprecated] + public void send_to_mainloop_async (owned GLib.SourceFunc func); + } + [CCode (cheader_filename = "gio/gio.h")] + public abstract class IOStream : GLib.Object { + [CCode (has_construct_function = false)] + protected IOStream (); + public void clear_pending (); + [CCode (vfunc_name = "close_fn")] + public virtual bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual unowned GLib.InputStream get_input_stream (); + public virtual unowned GLib.OutputStream get_output_stream (); + public bool has_pending (); + public bool is_closed (); + public bool set_pending () throws GLib.Error; + public async bool splice_async (GLib.IOStream stream2, GLib.IOStreamSpliceFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [NoAccessorMethod] + public bool closed { get; } + public abstract GLib.InputStream input_stream { get; } + public abstract GLib.OutputStream output_stream { get; } + } + [CCode (cheader_filename = "gio/gio.h")] + [Compact] + public class IOStreamAdapter { + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_inet_address_get_type ()")] + public class InetAddress : GLib.Object { + [CCode (has_construct_function = false)] + protected InetAddress (); + [CCode (has_construct_function = false)] + public InetAddress.any (GLib.SocketFamily family); + public bool equal (GLib.InetAddress other_address); + [CCode (has_construct_function = false)] + public InetAddress.from_bytes ([CCode (array_length = false)] uint8[] bytes, GLib.SocketFamily family); + [CCode (has_construct_function = false)] + public InetAddress.from_string (string string); + public GLib.SocketFamily get_family (); + public bool get_is_any (); + public bool get_is_link_local (); + public bool get_is_loopback (); + public bool get_is_mc_global (); + public bool get_is_mc_link_local (); + public bool get_is_mc_node_local (); + public bool get_is_mc_org_local (); + public bool get_is_mc_site_local (); + public bool get_is_multicast (); + public bool get_is_site_local (); + public size_t get_native_size (); + [CCode (has_construct_function = false)] + public InetAddress.loopback (GLib.SocketFamily family); + [CCode (array_length = false)] + public virtual unowned uint8[] to_bytes (); + public virtual string to_string (); + [NoAccessorMethod] + public void* bytes { get; construct; } + public GLib.SocketFamily family { get; construct; } + public bool is_any { get; } + public bool is_link_local { get; } + public bool is_loopback { get; } + public bool is_mc_global { get; } + public bool is_mc_link_local { get; } + public bool is_mc_node_local { get; } + public bool is_mc_org_local { get; } + public bool is_mc_site_local { get; } + public bool is_multicast { get; } + public bool is_site_local { get; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_inet_address_mask_get_type ()")] + public class InetAddressMask : GLib.Object, GLib.Initable { + [CCode (has_construct_function = false)] + public InetAddressMask (GLib.InetAddress addr, uint length) throws GLib.Error; + public bool equal (GLib.InetAddressMask mask2); + [CCode (has_construct_function = false)] + public InetAddressMask.from_string (string mask_string) throws GLib.Error; + public unowned GLib.InetAddress get_address (); + public GLib.SocketFamily get_family (); + public uint get_length (); + public bool matches (GLib.InetAddress address); + public string to_string (); + [NoAccessorMethod] + public GLib.InetAddress address { owned get; set; } + public GLib.SocketFamily family { get; } + [NoAccessorMethod] + public uint length { get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_inet_socket_address_get_type ()")] + public class InetSocketAddress : GLib.SocketAddress, GLib.SocketConnectable { + [CCode (has_construct_function = false, type = "GSocketAddress*")] + public InetSocketAddress (GLib.InetAddress address, uint16 port); + [CCode (has_construct_function = false, type = "GSocketAddress*")] + public InetSocketAddress.from_string (string address, uint port); + public unowned GLib.InetAddress get_address (); + public uint32 get_flowinfo (); + public uint16 get_port (); + public uint32 get_scope_id (); + public GLib.InetAddress address { get; construct; } + public uint flowinfo { get; construct; } + public uint port { get; construct; } + public uint scope_id { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h")] + public abstract class InputStream : GLib.Object { + [CCode (has_construct_function = false)] + protected InputStream (); + public void clear_pending (); + [CCode (vfunc_name = "close_fn")] + public abstract bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool has_pending (); + public bool is_closed (); + [CCode (vfunc_name = "read_fn")] + public abstract ssize_t read ([CCode (array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (cname = "g_input_stream_read")] + public ssize_t read2 (void* buffer, size_t count, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool read_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, out size_t bytes_read, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public async bool read_all_async ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t bytes_read) throws GLib.Error; + public virtual async ssize_t read_async ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public GLib.Bytes read_bytes (size_t count, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.Bytes read_bytes_async (size_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_pending () throws GLib.Error; + public virtual ssize_t skip (size_t count, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual async ssize_t skip_async (size_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_list_store_get_type ()")] + public class ListStore : GLib.Object, GLib.ListModel { + [CCode (has_construct_function = false)] + public ListStore (GLib.Type item_type); + public void append (GLib.Object item); + public void insert (uint position, GLib.Object item); + public uint insert_sorted (GLib.Object item, GLib.CompareDataFunc compare_func); + public void remove (uint position); + public void remove_all (); + public void splice (uint position, uint n_removals, [CCode (array_length_cname = "n_additions", array_length_pos = 3.1, array_length_type = "guint")] GLib.Object[] additions); + [NoAccessorMethod] + public GLib.Type item_type { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_memory_input_stream_get_type ()")] + public class MemoryInputStream : GLib.InputStream, GLib.PollableInputStream, GLib.Seekable { + [CCode (has_construct_function = false, type = "GInputStream*")] + public MemoryInputStream (); + public void add_bytes (GLib.Bytes bytes); + public void add_data ([CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "gssize")] owned uint8[] data, GLib.DestroyNotify? destroy); + [CCode (has_construct_function = false, type = "GInputStream*")] + public MemoryInputStream.from_bytes (GLib.Bytes bytes); + [CCode (has_construct_function = false, type = "GInputStream*")] + public MemoryInputStream.from_data ([CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "gssize")] owned uint8[] data, GLib.DestroyNotify? destroy); + } + [CCode (cheader_filename = "gio/gio.h")] + public class MemoryOutputStream : GLib.OutputStream, GLib.PollableOutputStream, GLib.Seekable { + [CCode (has_construct_function = false, type = "GOutputStream*")] + public MemoryOutputStream ([CCode (array_length_type = "gsize")] owned uint8[]? data, GLib.ReallocFunc? realloc_function, GLib.DestroyNotify? destroy_function); + [CCode (array_length = false)] + public unowned uint8[] get_data (); + public size_t get_data_size (); + public size_t get_size (); + [CCode (has_construct_function = false, type = "GOutputStream*")] + public MemoryOutputStream.resizable (); + public GLib.Bytes steal_as_bytes (); + [CCode (array_length = false)] + public uint8[] steal_data (); + public void* data { get; construct; } + public ulong data_size { get; } + [NoAccessorMethod] + public GLib.DestroyNotify? destroy_function { get; construct; } + [NoAccessorMethod] + public GLib.ReallocFunc? realloc_function { get; construct; } + public ulong size { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_get_type ()")] + public class Menu : GLib.MenuModel { + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ACTION")] + public const string ATTRIBUTE_ACTION; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ACTION_NAMESPACE")] + public const string ATTRIBUTE_ACTION_NAMESPACE; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_ICON")] + public const string ATTRIBUTE_ICON; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_LABEL")] + public const string ATTRIBUTE_LABEL; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_ATTRIBUTE_TARGET")] + public const string ATTRIBUTE_TARGET; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_LINK_SECTION")] + public const string LINK_SECTION; + [CCode (cheader_filename = "gio/gio.h", cname = "G_MENU_LINK_SUBMENU")] + public const string LINK_SUBMENU; + [CCode (has_construct_function = false)] + public Menu (); + public void append (string? label, string? detailed_action); + public void append_item (GLib.MenuItem item); + public void append_section (string? label, GLib.MenuModel section); + public void append_submenu (string? label, GLib.MenuModel submenu); + public void freeze (); + public void insert (int position, string? label, string? detailed_action); + public void insert_item (int position, GLib.MenuItem item); + public void insert_section (int position, string? label, GLib.MenuModel section); + public void insert_submenu (int position, string? label, GLib.MenuModel submenu); + public void prepend (string? label, string? detailed_action); + public void prepend_item (GLib.MenuItem item); + public void prepend_section (string? label, GLib.MenuModel section); + public void prepend_submenu (string? label, GLib.MenuModel submenu); + public void remove (int position); + public void remove_all (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_attribute_iter_get_type ()")] + public abstract class MenuAttributeIter : GLib.Object { + [CCode (has_construct_function = false)] + protected MenuAttributeIter (); + public unowned string get_name (); + public virtual bool get_next (out unowned string out_name, out GLib.Variant value); + public GLib.Variant get_value (); + public bool next (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_item_get_type ()")] + public class MenuItem : GLib.Object { + [CCode (has_construct_function = false)] + public MenuItem (string? label, string? detailed_action); + [CCode (has_construct_function = false)] + public MenuItem.from_model (GLib.MenuModel model, int item_index); + public GLib.Variant get_attribute_value (string attribute, GLib.VariantType? expected_type); + public GLib.MenuModel get_link (string link); + [CCode (has_construct_function = false)] + public MenuItem.section (string? label, GLib.MenuModel section); + public void set_action_and_target (string? action, string? format_string, ...); + public void set_action_and_target_value (string? action, GLib.Variant? target_value); + public void set_attribute (string attribute, string? format_string, ...); + public void set_attribute_value (string attribute, GLib.Variant? value); + public void set_detailed_action (string detailed_action); + public void set_icon (GLib.Icon icon); + public void set_label (string? label); + public void set_link (string link, GLib.MenuModel? model); + public void set_section (GLib.MenuModel? section); + public void set_submenu (GLib.MenuModel? submenu); + [CCode (has_construct_function = false)] + public MenuItem.submenu (string? label, GLib.MenuModel submenu); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_link_iter_get_type ()")] + public abstract class MenuLinkIter : GLib.Object { + [CCode (has_construct_function = false)] + protected MenuLinkIter (); + public unowned string get_name (); + public virtual bool get_next (out unowned string out_link, out GLib.MenuModel value); + public GLib.MenuModel get_value (); + public bool next (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_menu_model_get_type ()")] + public abstract class MenuModel : GLib.Object { + [CCode (has_construct_function = false)] + protected MenuModel (); + public bool get_item_attribute (int item_index, string attribute, string format_string, ...); + public virtual GLib.Variant get_item_attribute_value (int item_index, string attribute, GLib.VariantType? expected_type); + [NoWrapper] + public virtual void get_item_attributes (int item_index, [CCode (type = "GHashTable**")] out GLib.HashTable? attributes); + public virtual GLib.MenuModel get_item_link (int item_index, string link); + [NoWrapper] + public virtual void get_item_links (int item_index, out GLib.HashTable links); + public virtual int get_n_items (); + public virtual bool is_mutable (); + public virtual GLib.MenuAttributeIter iterate_item_attributes (int item_index); + public virtual GLib.MenuLinkIter iterate_item_links (int item_index); + [HasEmitter] + public signal void items_changed (int position, int removed, int added); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_mount_operation_get_type ()")] + public class MountOperation : GLib.Object { + [CCode (has_construct_function = false)] + public MountOperation (); + public bool get_anonymous (); + public int get_choice (); + public unowned string get_domain (); + public unowned string get_password (); + public GLib.PasswordSave get_password_save (); + public unowned string get_username (); + public void set_anonymous (bool anonymous); + public void set_choice (int choice); + public void set_domain (string domain); + public void set_password (string password); + public void set_password_save (GLib.PasswordSave save); + public void set_username (string username); + public bool anonymous { get; set; } + public int choice { get; set; } + public string domain { get; set; } + public string password { get; set; } + public GLib.PasswordSave password_save { get; set; } + public string username { get; set; } + public virtual signal void aborted (); + public virtual signal void ask_password (string message, string default_user, string default_domain, GLib.AskPasswordFlags flags); + public virtual signal void ask_question (string message, [CCode (array_length = false, array_null_terminated = true)] string[] choices); + [HasEmitter] + public virtual signal void reply (GLib.MountOperationResult result); + public signal void show_processes (string message, GLib.Array processes, [CCode (array_length = false, array_null_terminated = true)] string[] choices); + public virtual signal void show_unmount_progress (string message, int64 time_left, int64 bytes_left); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_native_socket_address_get_type ()")] + public class NativeSocketAddress : GLib.SocketAddress { + public NativeSocketAddress (void* native, size_t len); + } + [CCode (cheader_filename = "gio/gio.h")] + public abstract class NativeVolumeMonitor : GLib.VolumeMonitor { + [CCode (has_construct_function = false)] + protected NativeVolumeMonitor (); + [NoWrapper] + public abstract GLib.Mount get_mount_for_mount_path (string mount_path, GLib.Cancellable? cancellable = null); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_network_address_get_type ()")] + public class NetworkAddress : GLib.Object, GLib.SocketConnectable { + [CCode (has_construct_function = false, type = "GSocketConnectable*")] + public NetworkAddress (string hostname, uint16 port); + public unowned string get_hostname (); + public uint16 get_port (); + public unowned string get_scheme (); + [CCode (has_construct_function = false, type = "GSocketConnectable*")] + public NetworkAddress.loopback (uint16 port); + public static GLib.NetworkAddress parse (string host_and_port, uint16 default_port) throws GLib.Error; + public static GLib.NetworkAddress parse_uri (string uri, uint16 default_port) throws GLib.Error; + public string hostname { get; construct; } + public uint port { get; construct; } + public string scheme { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_network_service_get_type ()")] + public class NetworkService : GLib.Object, GLib.SocketConnectable { + [CCode (has_construct_function = false, type = "GSocketConnectable*")] + public NetworkService (string service, string protocol, string domain); + public unowned string get_domain (); + public unowned string get_protocol (); + public unowned string get_scheme (); + public unowned string get_service (); + public void set_scheme (string scheme); + public string domain { get; construct; } + public string protocol { get; construct; } + public string scheme { get; set; } + public string service { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_notification_get_type ()")] + public class Notification : GLib.Object { + [CCode (has_construct_function = false)] + public Notification (string title); + public void add_button (string label, string detailed_action); + public void add_button_with_target_value (string label, string action, GLib.Variant? target); + public void set_body (string? body); + public void set_default_action (string detailed_action); + public void set_default_action_and_target_value (string action, GLib.Variant? target); + public void set_icon (GLib.Icon icon); + public void set_priority (GLib.NotificationPriority priority); + public void set_title (string title); + public void set_urgent (bool urgent); + } + [CCode (cheader_filename = "gio/gio.h")] + public abstract class OutputStream : GLib.Object { + [CCode (has_construct_function = false)] + protected OutputStream (); + public void clear_pending (); + [CCode (vfunc_name = "close_fn")] + public abstract bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool flush_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool has_pending (); + public bool is_closed (); + public bool is_closing (); + public bool set_pending () throws GLib.Error; + public virtual ssize_t splice (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public virtual async ssize_t splice_async (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + [CCode (vfunc_name = "write_fn")] + public abstract ssize_t write ([CCode (array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool write_all ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, out size_t bytes_written, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public async bool write_all_async ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority, GLib.Cancellable? cancellable, out size_t bytes_written) throws GLib.Error; + public virtual async ssize_t write_async ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public ssize_t write_bytes (GLib.Bytes bytes, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async ssize_t write_bytes_async (GLib.Bytes bytes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_permission_get_type ()")] + public abstract class Permission : GLib.Object { + [CCode (has_construct_function = false)] + protected Permission (); + public virtual bool acquire (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool acquire_async (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool get_allowed (); + public bool get_can_acquire (); + public bool get_can_release (); + public void impl_update (bool allowed, bool can_acquire, bool can_release); + public virtual bool release (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool release_async (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool allowed { get; } + public bool can_acquire { get; } + public bool can_release { get; } + } + [CCode (cheader_filename = "gio/gio.h", cname = "GSource", ref_function = "g_source_ref", unref_function = "g_source_unref")] + [Compact] + public class PollableSource : GLib.Source { + [CCode (type = "GSource*")] + public PollableSource (GLib.Object pollable_stream); + [CCode (type = "GSource*")] + public PollableSource.full (GLib.Object pollable_stream, GLib.Source? child_source, GLib.Cancellable? cancellable = null); + [CCode (cname = "g_source_set_callback")] + public void set_callback ([CCode (type = "GSourceFunc")] owned GLib.PollableSourceFunc func); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_property_action_get_type ()")] + public class PropertyAction : GLib.Object, GLib.Action { + [CCode (has_construct_function = false)] + public PropertyAction (string name, GLib.Object object, string property_name); + [NoAccessorMethod] + public bool invert_boolean { get; construct; } + public GLib.Object object { construct; } + public string property_name { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_proxy_address_get_type ()")] + public class ProxyAddress : GLib.InetSocketAddress, GLib.SocketConnectable { + [CCode (has_construct_function = false, type = "GSocketAddress*")] + public ProxyAddress (GLib.InetAddress inetaddr, uint16 port, string protocol, string dest_hostname, uint16 dest_port, string? username, string? password); + public unowned string get_destination_hostname (); + public uint16 get_destination_port (); + public unowned string get_destination_protocol (); + public unowned string get_password (); + public unowned string get_protocol (); + public unowned string get_uri (); + public unowned string get_username (); + public string destination_hostname { get; construct; } + public uint destination_port { get; construct; } + public string destination_protocol { get; construct; } + public string password { get; construct; } + public string protocol { get; construct; } + public string uri { get; construct; } + public string username { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_proxy_address_enumerator_get_type ()")] + public class ProxyAddressEnumerator : GLib.SocketAddressEnumerator { + [CCode (has_construct_function = false)] + protected ProxyAddressEnumerator (); + [NoAccessorMethod] + public GLib.SocketConnectable connectable { owned get; construct; } + [NoAccessorMethod] + public uint default_port { get; construct; } + [NoAccessorMethod] + public GLib.ProxyResolver proxy_resolver { owned get; set construct; } + [NoAccessorMethod] + public string uri { owned get; construct; } + } + [CCode (cheader_filename = "gio/gio.h")] + public class Resolver : GLib.Object { + [CCode (has_construct_function = false)] + protected Resolver (); + public static GLib.Resolver get_default (); + public virtual string lookup_by_address (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async string lookup_by_address_async (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.List lookup_by_name (string hostname, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.List lookup_by_name_async (string hostname, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.List lookup_records (string rrname, GLib.ResolverRecordType record_type, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.List lookup_records_async (string rrname, GLib.ResolverRecordType record_type, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.List lookup_service (string service, string protocol, string domain, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (finish_function = "g_resolver_lookup_service_finish")] + public async GLib.List lookup_service_async (string service, string protocol, string domain, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "lookup_service")] + [NoWrapper] + public virtual GLib.List lookup_service_fn (string rrname, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (finish_function = "g_resolver_lookup_service_finish", vfunc_name = "lookup_service_async")] + [NoWrapper] + public virtual async GLib.List lookup_service_fn_async (string rrname, GLib.Cancellable? cancellable = null); + public void set_default (); + public virtual signal void reload (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_resource_ref", type_id = "g_resource_get_type ()", unref_function = "g_resource_unref")] + [Compact] + public class Resource { + [CCode (cname = "g_resources_register")] + public void _register (); + [CCode (cname = "g_resources_unregister")] + public void _unregister (); + [CCode (array_length = false, array_null_terminated = true)] + public string[] enumerate_children (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + [CCode (has_construct_function = false)] + public Resource.from_data (GLib.Bytes data) throws GLib.Error; + public bool get_info (string path, GLib.ResourceLookupFlags lookup_flags, out size_t size, out uint32 flags) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Resource load (string filename) throws GLib.Error; + public GLib.Bytes lookup_data (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + public GLib.InputStream open_stream (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + public GLib.Resource @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h")] + public class Settings : GLib.Object { + [CCode (has_construct_function = false)] + public Settings (string schema_id); + public void apply (); + public void bind (string key, GLib.Object object, string property, GLib.SettingsBindFlags flags); + public void bind_with_mapping (string key, GLib.Object object, string property, GLib.SettingsBindFlags flags, GLib.SettingsBindGetMappingShared get_mapping, GLib.SettingsBindSetMappingShared set_mapping, void* user_data, GLib.DestroyNotify? notify); + public void bind_writable (string key, GLib.Object object, string property, bool inverted); + public GLib.Action create_action (string key); + public void delay (); + [CCode (has_construct_function = false)] + public Settings.full (GLib.SettingsSchema schema, GLib.SettingsBackend? backend, string? path); + [CCode (sentinel = "")] + public void @get (string key, string format, ...); + public bool get_boolean (string key); + public GLib.Settings get_child (string name); + public GLib.Variant get_default_value (string key); + public double get_double (string key); + public int get_enum (string key); + public uint get_flags (string key); + public bool get_has_unapplied (); + public int get_int (string key); + public void* get_mapped (string key, GLib.SettingsGetMapping mapping); + [Deprecated (since = "2.40")] + public GLib.Variant get_range (string key); + public string get_string (string key); + [CCode (array_length = false, array_null_terminated = true)] + public string[] get_strv (string key); + public uint get_uint (string key); + public GLib.Variant get_user_value (string key); + public GLib.Variant get_value (string key); + public bool is_writable (string name); + [CCode (array_length = false, array_null_terminated = true)] + public string[] list_children (); + [CCode (array_length = false, array_null_terminated = true)] + public string[] list_keys (); + [CCode (array_length = false, array_null_terminated = true)] + [Deprecated (since = "2.40")] + public static unowned string[] list_relocatable_schemas (); + [CCode (array_length = false, array_null_terminated = true)] + [Deprecated (since = "2.40")] + public static unowned string[] list_schemas (); + [Deprecated (since = "2.40")] + public bool range_check (string key, GLib.Variant value); + public void reset (string key); + public void revert (); + [CCode (sentinel = "")] + public bool @set (string key, string format, ...); + public bool set_boolean (string key, bool value); + public bool set_double (string key, double value); + public bool set_enum (string key, int value); + public bool set_flags (string key, uint value); + public bool set_int (string key, int value); + public bool set_string (string key, string value); + public bool set_strv (string key, [CCode (array_length = false, array_null_terminated = true)] string[]? value); + public bool set_uint (string key, uint value); + public bool set_value (string key, GLib.Variant value); + public static void sync (); + public static void unbind (GLib.Object object, string property); + [CCode (has_construct_function = false)] + public Settings.with_backend (string schema_id, GLib.SettingsBackend backend); + [CCode (has_construct_function = false)] + public Settings.with_backend_and_path (string schema_id, GLib.SettingsBackend backend, string path); + [CCode (has_construct_function = false)] + public Settings.with_path (string schema_id, string path); + [NoAccessorMethod] + public GLib.SettingsBackend backend { owned get; construct; } + [NoAccessorMethod] + public bool delay_apply { get; } + public bool has_unapplied { get; } + [NoAccessorMethod] + public string path { owned get; construct; } + [Deprecated (since = "2.32")] + [NoAccessorMethod] + public string schema { owned get; construct; } + [NoAccessorMethod] + public string schema_id { owned get; construct; } + [NoAccessorMethod] + public GLib.SettingsSchema settings_schema { owned get; construct; } + public virtual signal bool change_event (GLib.Quark[]? keys); + public virtual signal void changed (string key); + public virtual signal bool writable_change_event (uint key); + public virtual signal void writable_changed (string key); + } + [CCode (cheader_filename = "gio/gio.h")] + public class SettingsBackend : GLib.Object { + [CCode (has_construct_function = false)] + protected SettingsBackend (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_ref", type_id = "g_settings_schema_get_type ()", unref_function = "g_settings_schema_unref")] + [Compact] + public class SettingsSchema { + public unowned string get_id (); + public GLib.SettingsSchemaKey get_key (string name); + public unowned string get_path (); + public bool has_key (string name); + [CCode (array_length = false, array_null_terminated = true)] + public string[] list_children (); + [CCode (array_length = false, array_null_terminated = true)] + public string[] list_keys (); + public GLib.SettingsSchema @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_key_ref", type_id = "g_settings_schema_key_get_type ()", unref_function = "g_settings_schema_key_unref")] + [Compact] + public class SettingsSchemaKey { + public GLib.Variant get_default_value (); + public unowned string get_description (); + public unowned string get_name (); + public GLib.Variant get_range (); + public unowned string get_summary (); + public unowned GLib.VariantType get_value_type (); + public bool range_check (GLib.Variant value); + public GLib.SettingsSchemaKey @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", ref_function = "g_settings_schema_source_ref", type_id = "g_settings_schema_source_get_type ()", unref_function = "g_settings_schema_source_unref")] + [Compact] + public class SettingsSchemaSource { + [CCode (has_construct_function = false)] + public SettingsSchemaSource.from_directory (string directory, GLib.SettingsSchemaSource? parent, bool trusted) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static unowned GLib.SettingsSchemaSource get_default (); + public void list_schemas (bool recursive, [CCode (array_length = false, array_null_terminated = true)] out string[] non_relocatable, [CCode (array_length = false, array_null_terminated = true)] out string[] relocatable); + public GLib.SettingsSchema? lookup (string schema_id, bool recursive); + public GLib.SettingsSchemaSource @ref (); + public void unref (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_action_get_type ()")] + public class SimpleAction : GLib.Object, GLib.Action { + [CCode (has_construct_function = false)] + public SimpleAction (string name, GLib.VariantType? parameter_type); + public void set_enabled (bool enabled); + public void set_state (GLib.Variant value); + public void set_state_hint (GLib.Variant? state_hint); + [CCode (has_construct_function = false)] + public SimpleAction.stateful (string name, GLib.VariantType? parameter_type, GLib.Variant state); + public signal void activate (GLib.Variant? parameter); + public signal void change_state (GLib.Variant? value); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_action_group_get_type ()")] + public class SimpleActionGroup : GLib.Object, GLib.ActionGroup, GLib.ActionMap { + [CCode (has_construct_function = false)] + public SimpleActionGroup (); + [Deprecated (since = "2.38")] + public void add_entries ([CCode (array_length_cname = "n_entries", array_length_pos = 1.5)] GLib.ActionEntry[] entries, void* user_data); + [Deprecated (since = "2.38")] + public void insert (GLib.Action action); + [Deprecated (since = "2.38")] + public unowned GLib.Action lookup (string action_name); + [Deprecated (since = "2.38")] + public void remove (string action_name); + } + [CCode (cheader_filename = "gio/gio.h")] + public class SimpleAsyncResult : GLib.Object, GLib.AsyncResult, GLib.AsyncResult { + [CCode (has_construct_function = false)] + public SimpleAsyncResult (GLib.Object? source_object, void* source_tag); + [Deprecated (since = "2.46")] + public void complete (); + [Deprecated (since = "2.46")] + public void complete_in_idle (); + [CCode (has_construct_function = false)] + [PrintfFormat] + public SimpleAsyncResult.error (GLib.Object? source_object, GLib.Quark domain, int code, string format, ...); + [CCode (has_construct_function = false)] + public SimpleAsyncResult.from_error (GLib.Object? source_object, GLib.Error error); + [Deprecated (since = "2.46")] + public bool get_op_res_gboolean (); + [CCode (simple_generics = true)] + public unowned T get_op_res_gpointer (); + [Deprecated (since = "2.46")] + public ssize_t get_op_res_gssize (); + [Deprecated (since = "2.46.")] + public void* get_source_tag (); + [Deprecated (since = "2.46")] + public static bool is_valid (GLib.AsyncResult result, GLib.Object? source, void* source_tag); + [Deprecated (since = "2.46")] + public bool propagate_error () throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_gerror_in_idle")] + [Deprecated (since = "2.46")] + public static async void report_gerror_in_idle (GLib.Object? object, GLib.Error error); + [Deprecated (since = "2.46")] + public void run_in_thread (GLib.SimpleAsyncThreadFunc func, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null); + [Deprecated (since = "2.46")] + public void set_check_cancellable (GLib.Cancellable? check_cancellable); + [Deprecated (since = "2.46")] + [PrintfFormat] + public void set_error (GLib.Quark domain, int code, string format, ...); + [Deprecated (since = "2.46")] + public void set_error_va (GLib.Quark domain, int code, string format, va_list args); + [Deprecated (since = "2.46")] + public void set_from_error (GLib.Error error); + [Deprecated (since = "2.46")] + public void set_handle_cancellation (bool handle_cancellation); + [Deprecated (since = "2.46")] + public void set_op_res_gboolean (bool op_res); + [CCode (simple_generics = true)] + public void set_op_res_gpointer (owned T op_res); + [Deprecated (since = "2.46")] + public void set_op_res_gssize (ssize_t op_res); + [Deprecated (since = "2.46")] + public void take_error (GLib.Error error); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_io_stream_get_type ()")] + public class SimpleIOStream : GLib.IOStream { + [CCode (has_construct_function = false, type = "GIOStream*")] + public SimpleIOStream (GLib.InputStream input_stream, GLib.OutputStream output_stream); + [NoAccessorMethod] + public GLib.InputStream input_stream { owned get; construct; } + [NoAccessorMethod] + public GLib.OutputStream output_stream { owned get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_permission_get_type ()")] + public class SimplePermission : GLib.Permission { + [CCode (has_construct_function = false, type = "GPermission*")] + public SimplePermission (bool allowed); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_simple_proxy_resolver_get_type ()")] + public class SimpleProxyResolver : GLib.Object, GLib.ProxyResolver { + [CCode (has_construct_function = false)] + protected SimpleProxyResolver (); + public static GLib.ProxyResolver @new (string? default_proxy, string? ignore_hosts); + public void set_default_proxy (string default_proxy); + public void set_ignore_hosts (string ignore_hosts); + public void set_uri_proxy (string uri_scheme, string proxy); + [NoAccessorMethod] + public string default_proxy { owned get; set; } + [CCode (array_length = false, array_null_terminated = true)] + [NoAccessorMethod] + public string[] ignore_hosts { owned get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_get_type ()")] + public class Socket : GLib.Object, GLib.Initable { + [CCode (has_construct_function = false)] + public Socket (GLib.SocketFamily family, GLib.SocketType type, GLib.SocketProtocol protocol) throws GLib.Error; + public GLib.Socket accept (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool bind (GLib.SocketAddress address, bool allow_reuse) throws GLib.Error; + public bool check_connect_result () throws GLib.Error; + public bool close () throws GLib.Error; + public GLib.IOCondition condition_check (GLib.IOCondition condition); + public bool condition_timed_wait (GLib.IOCondition condition, int64 timeout, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool condition_wait (GLib.IOCondition condition, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.SocketSource create_source (GLib.IOCondition condition, GLib.Cancellable? cancellable = null); + [CCode (has_construct_function = false)] + public Socket.from_fd (int fd) throws GLib.Error; + public ssize_t get_available_bytes (); + public bool get_blocking (); + public bool get_broadcast (); + public GLib.Credentials get_credentials () throws GLib.Error; + public GLib.SocketFamily get_family (); + public int get_fd (); + public bool get_keepalive (); + public int get_listen_backlog (); + public GLib.SocketAddress get_local_address () throws GLib.Error; + public bool get_multicast_loopback (); + public uint get_multicast_ttl (); + public bool get_option (int level, int optname, out int value) throws GLib.Error; + public GLib.SocketProtocol get_protocol (); + public GLib.SocketAddress get_remote_address () throws GLib.Error; + public GLib.SocketType get_socket_type (); + public uint get_timeout (); + public uint get_ttl (); + public bool is_closed (); + public bool is_connected (); + public bool join_multicast_group (GLib.InetAddress group, bool source_specific, string? iface) throws GLib.Error; + public bool leave_multicast_group (GLib.InetAddress group, bool source_specific, string? iface) throws GLib.Error; + public bool listen () throws GLib.Error; + public ssize_t receive ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t receive_from (out GLib.SocketAddress address, [CCode (array_length_cname = "size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t receive_message (out GLib.SocketAddress address, [CCode (array_length_cname = "num_vectors", array_length_pos = 2.5)] GLib.InputVector[] vectors, [CCode (array_length_cname = "num_messages", array_length_pos = 3.5)] GLib.SocketControlMessage[]? messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t receive_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t send ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t send_message (GLib.SocketAddress? address, [CCode (array_length_cname = "num_vectors", array_length_pos = 2.5)] GLib.OutputVector[] vectors, [CCode (array_length_cname = "num_messages", array_length_pos = 3.5)] GLib.SocketControlMessage[]? messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public int send_messages ([CCode (array_length_cname = "num_messages", array_length_pos = 1.5, array_length_type = "guint")] GLib.OutputMessage[] messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t send_to (GLib.SocketAddress? address, [CCode (array_length_cname = "size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error; + public ssize_t send_with_blocking ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void set_blocking (bool blocking); + public void set_broadcast (bool broadcast); + public void set_keepalive (bool keepalive); + public void set_listen_backlog (int backlog); + public void set_multicast_loopback (bool loopback); + public void set_multicast_ttl (uint ttl); + public bool set_option (int level, int optname, int value) throws GLib.Error; + public void set_timeout (uint timeout); + public void set_ttl (uint ttl); + public bool shutdown (bool shutdown_read, bool shutdown_write) throws GLib.Error; + public bool speaks_ipv4 (); + public bool blocking { get; set; } + public bool broadcast { get; set; } + public GLib.SocketFamily family { get; construct; } + public int fd { get; construct; } + public bool keepalive { get; set; } + public int listen_backlog { get; set; } + public GLib.SocketAddress local_address { owned get; } + public bool multicast_loopback { get; set; } + public uint multicast_ttl { get; set; } + public GLib.SocketProtocol protocol { get; construct; } + public GLib.SocketAddress remote_address { owned get; } + public uint timeout { get; set; } + public uint ttl { get; set; } + [NoAccessorMethod] + public GLib.SocketType type { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_address_get_type ()")] + public abstract class SocketAddress : GLib.Object, GLib.SocketConnectable { + [CCode (has_construct_function = false)] + protected SocketAddress (); + [CCode (has_construct_function = false)] + public SocketAddress.from_native (void* native, size_t len); + public virtual GLib.SocketFamily get_family (); + public virtual ssize_t get_native_size (); + public virtual bool to_native (void* dest, size_t destlen) throws GLib.Error; + public GLib.SocketFamily family { get; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_address_enumerator_get_type ()")] + public abstract class SocketAddressEnumerator : GLib.Object { + [CCode (has_construct_function = false)] + protected SocketAddressEnumerator (); + public virtual GLib.SocketAddress next (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.SocketAddress next_async (GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_client_get_type ()")] + public class SocketClient : GLib.Object { + [CCode (has_construct_function = false)] + public SocketClient (); + public void add_application_proxy (string protocol); + public GLib.SocketConnection connect (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.SocketConnection connect_async (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.SocketConnection connect_to_host (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.SocketConnection connect_to_host_async (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.SocketConnection connect_to_service (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.SocketConnection connect_to_service_async (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.SocketConnection connect_to_uri (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.SocketConnection connect_to_uri_async (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool get_enable_proxy (); + public GLib.SocketFamily get_family (); + public unowned GLib.SocketAddress get_local_address (); + public GLib.SocketProtocol get_protocol (); + public unowned GLib.ProxyResolver get_proxy_resolver (); + public GLib.SocketType get_socket_type (); + public uint get_timeout (); + public bool get_tls (); + public GLib.TlsCertificateFlags get_tls_validation_flags (); + public void set_enable_proxy (bool enable); + public void set_family (GLib.SocketFamily family); + public void set_local_address (GLib.SocketAddress? address); + public void set_protocol (GLib.SocketProtocol protocol); + public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver); + public void set_socket_type (GLib.SocketType type); + public void set_timeout (uint timeout); + public void set_tls (bool tls); + public void set_tls_validation_flags (GLib.TlsCertificateFlags flags); + public bool enable_proxy { get; set construct; } + public GLib.SocketFamily family { get; set construct; } + public GLib.SocketAddress local_address { get; set construct; } + public GLib.SocketProtocol protocol { get; set construct; } + public GLib.ProxyResolver proxy_resolver { get; set construct; } + public uint timeout { get; set construct; } + public bool tls { get; set construct; } + public GLib.TlsCertificateFlags tls_validation_flags { get; set construct; } + [NoAccessorMethod] + public GLib.SocketType type { get; set construct; } + public virtual signal void event (GLib.SocketClientEvent event, GLib.SocketConnectable connectable, GLib.IOStream? connection); + } + [CCode (cheader_filename = "gio/gio.h")] + public class SocketConnection : GLib.IOStream { + [CCode (has_construct_function = false)] + protected SocketConnection (); + public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async bool connect_async (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public static GLib.SocketConnection factory_create_connection (GLib.Socket socket); + public static GLib.Type factory_lookup_type (GLib.SocketFamily family, GLib.SocketType type, int protocol_id); + public static void factory_register_type (GLib.Type g_type, GLib.SocketFamily family, GLib.SocketType type, int protocol); + public GLib.SocketAddress get_local_address () throws GLib.Error; + public GLib.SocketAddress get_remote_address () throws GLib.Error; + public unowned GLib.Socket get_socket (); + public bool is_connected (); + public GLib.Socket socket { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_control_message_get_type ()")] + public abstract class SocketControlMessage : GLib.Object { + [CCode (has_construct_function = false)] + protected SocketControlMessage (); + public static GLib.SocketControlMessage deserialize (int level, int type, [CCode (array_length_cname = "size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] data); + public virtual int get_level (); + public int get_msg_type (); + public virtual size_t get_size (); + [NoWrapper] + public virtual int get_type (); + public virtual void serialize ([CCode (array_length = false, type = "gpointer")] uint8[] data); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_listener_get_type ()")] + public class SocketListener : GLib.Object { + [CCode (has_construct_function = false)] + public SocketListener (); + public GLib.SocketConnection accept (out unowned GLib.Object source_object = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.SocketConnection accept_async (GLib.Cancellable? cancellable = null, out unowned GLib.Object source_object = null) throws GLib.Error; + public GLib.Socket accept_socket (out unowned GLib.Object source_object = null, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async GLib.Socket accept_socket_async (GLib.Cancellable? cancellable = null, out unowned GLib.Object source_object = null) throws GLib.Error; + public bool add_address (GLib.SocketAddress address, GLib.SocketType type, GLib.SocketProtocol protocol, GLib.Object? source_object, out GLib.SocketAddress effective_address) throws GLib.Error; + public uint16 add_any_inet_port (GLib.Object? source_object) throws GLib.Error; + public bool add_inet_port (uint16 port, GLib.Object? source_object) throws GLib.Error; + public bool add_socket (GLib.Socket socket, GLib.Object? source_object) throws GLib.Error; + [NoWrapper] + public virtual void changed (); + public void close (); + public void set_backlog (int listen_backlog); + [NoAccessorMethod] + public int listen_backlog { get; set construct; } + public virtual signal void event (GLib.SocketListenerEvent event, GLib.Socket socket); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_service_get_type ()")] + public class SocketService : GLib.SocketListener { + [CCode (has_construct_function = false)] + public SocketService (); + public bool is_active (); + public void start (); + public void stop (); + public virtual signal bool incoming (GLib.SocketConnection connection, GLib.Object? source_object); + } + [CCode (cheader_filename = "gio/gio.h", cname = "GSource", ref_function = "g_source_ref", unref_function = "g_source_unref")] + [Compact] + public class SocketSource : GLib.Source { + [CCode (cname = "g_source_set_callback")] + public void set_callback ([CCode (type = "GSourceFunc")] owned GLib.SocketSourceFunc func); + } + [CCode (cheader_filename = "gio/gio.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_srv_target_get_type ()")] + [Compact] + public class SrvTarget { + [CCode (has_construct_function = false)] + public SrvTarget (string hostname, uint16 port, uint16 priority, uint16 weight); + public GLib.SrvTarget copy (); + public void free (); + public unowned string get_hostname (); + public uint16 get_port (); + public uint16 get_priority (); + public uint16 get_weight (); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.List list_sort (owned GLib.List targets); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_subprocess_get_type ()")] + public class Subprocess : GLib.Object, GLib.Initable { + [CCode (has_construct_function = false)] + public Subprocess (GLib.SubprocessFlags flags, ...) throws GLib.Error; + public bool communicate (GLib.Bytes? stdin_buf, GLib.Cancellable? cancellable, out GLib.Bytes stdout_buf, out GLib.Bytes stderr_buf) throws GLib.Error; + public async bool communicate_async (GLib.Bytes? stdin_buf, GLib.Cancellable? cancellable, out GLib.Bytes stdout_buf, out GLib.Bytes stderr_buf) throws GLib.Error; + public bool communicate_utf8 (string? stdin_buf, GLib.Cancellable? cancellable, out string stdout_buf, out string stderr_buf) throws GLib.Error; + public async bool communicate_utf8_async (string? stdin_buf, GLib.Cancellable? cancellable, out string stdout_buf, out string stderr_buf) throws GLib.Error; + public void force_exit (); + public int get_exit_status (); + public unowned string get_identifier (); + public bool get_if_exited (); + public bool get_if_signaled (); + public int get_status (); + public unowned GLib.InputStream get_stderr_pipe (); + public unowned GLib.OutputStream get_stdin_pipe (); + public unowned GLib.InputStream get_stdout_pipe (); + public bool get_successful (); + public int get_term_sig (); + [CCode (cname = "g_subprocess_newv", has_construct_function = false)] + public Subprocess.newv ([CCode (array_length = false, array_null_terminated = true)] string[] argv, GLib.SubprocessFlags flags) throws GLib.Error; + public void send_signal (int signal_num); + public bool wait (GLib.Cancellable? cancellable = null) throws GLib.Error; + public async bool wait_async (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool wait_check (GLib.Cancellable? cancellable = null) throws GLib.Error; + public async bool wait_check_async (GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true)] + public string[] argv { construct; } + public GLib.SubprocessFlags flags { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_subprocess_launcher_get_type ()")] + public class SubprocessLauncher : GLib.Object { + [CCode (has_construct_function = false)] + public SubprocessLauncher (GLib.SubprocessFlags flags); + public unowned string getenv (string variable); + public void set_child_setup (owned GLib.SpawnChildSetupFunc child_setup); + public void set_cwd (string cwd); + public void set_environ (string env); + public void set_flags (GLib.SubprocessFlags flags); + public void set_stderr_file_path (string path); + public void set_stdin_file_path (string path); + public void set_stdout_file_path (string path); + public void setenv (string variable, string value, bool overwrite); + public GLib.Subprocess spawnv ([CCode (array_length = false, array_null_terminated = true)] string[] argv) throws GLib.Error; + public void take_fd (int source_fd, int target_fd); + public void take_stderr_fd (int fd); + public void take_stdin_fd (int fd); + public void take_stdout_fd (int fd); + public void unsetenv (string variable); + public GLib.SubprocessFlags flags { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_task_get_type ()")] + public class Task : GLib.Object, GLib.AsyncResult { + [CCode (has_construct_function = false)] + public async Task (GLib.Object? source_object, GLib.Cancellable? cancellable = null); + public unowned GLib.Cancellable get_cancellable (); + public bool get_check_cancellable (); + public bool get_completed (); + public unowned GLib.MainContext get_context (); + public int get_priority (); + public bool get_return_on_cancel (); + public void* get_source_tag (); + public void* get_task_data (); + public bool had_error (); + public static bool is_valid (GLib.AsyncResult result, GLib.Object? source_object); + public bool propagate_boolean () throws GLib.Error; + public ssize_t propagate_int () throws GLib.Error; + public void* propagate_pointer () throws GLib.Error; + public static async void report_error (GLib.Object? source_object, void* source_tag, owned GLib.Error error); + public void return_boolean (bool result); + public void return_error (owned GLib.Error error); + public bool return_error_if_cancelled (); + public void return_int (ssize_t result); + public void return_pointer (owned void* result, GLib.DestroyNotify? result_destroy); + public void set_check_cancellable (bool check_cancellable); + public void set_priority (int priority); + public bool set_return_on_cancel (bool return_on_cancel); + public void set_source_tag (void* source_tag); + public void set_task_data (void* task_data, GLib.DestroyNotify? task_data_destroy); + public bool completed { get; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tcp_connection_get_type ()")] + public class TcpConnection : GLib.SocketConnection { + [CCode (has_construct_function = false)] + protected TcpConnection (); + public bool get_graceful_disconnect (); + public void set_graceful_disconnect (bool graceful_disconnect); + public bool graceful_disconnect { get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tcp_wrapper_connection_get_type ()")] + public class TcpWrapperConnection : GLib.TcpConnection { + [CCode (has_construct_function = false, type = "GSocketConnection*")] + public TcpWrapperConnection (GLib.IOStream base_io_stream, GLib.Socket socket); + public unowned GLib.IOStream get_base_io_stream (); + public GLib.IOStream base_io_stream { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_test_dbus_get_type ()")] + public class TestDBus : GLib.Object { + [CCode (has_construct_function = false)] + public TestDBus (GLib.TestDBusFlags flags); + public void add_service_dir (string path); + public void down (); + public unowned string get_bus_address (); + public GLib.TestDBusFlags get_flags (); + public void stop (); + public static void unset (); + public void up (); + public GLib.TestDBusFlags flags { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_themed_icon_get_type ()")] + public class ThemedIcon : GLib.Object, GLib.Icon { + [CCode (has_construct_function = false, type = "GIcon*")] + public ThemedIcon (string iconname); + public void append_name (string iconname); + [CCode (has_construct_function = false, type = "GIcon*")] + public ThemedIcon.from_names ([CCode (array_length_cname = "len", array_length_pos = 1.1)] string[] iconnames); + [CCode (array_length = false, array_null_terminated = true)] + public unowned string[] get_names (); + public void prepend_name (string iconname); + [CCode (has_construct_function = false, type = "GIcon*")] + public ThemedIcon.with_default_fallbacks (string iconname); + public string name { construct; } + [CCode (array_length = false, array_null_terminated = true)] + public string[] names { get; construct; } + [NoAccessorMethod] + public bool use_default_fallbacks { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_threaded_socket_service_get_type ()")] + public class ThreadedSocketService : GLib.SocketService { + [CCode (has_construct_function = false, type = "GSocketService*")] + public ThreadedSocketService (int max_threads); + [NoAccessorMethod] + public int max_threads { get; construct; } + public virtual signal bool run (GLib.SocketConnection connection, GLib.Object source_object); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_certificate_get_type ()")] + public class TlsCertificate : GLib.Object { + [CCode (has_construct_function = false)] + protected TlsCertificate (); + [CCode (has_construct_function = false)] + public TlsCertificate.from_file (string file) throws GLib.Error; + [CCode (has_construct_function = false)] + public TlsCertificate.from_files (string cert_file, string key_file) throws GLib.Error; + [CCode (has_construct_function = false)] + public TlsCertificate.from_pem (string data, ssize_t length) throws GLib.Error; + public unowned GLib.TlsCertificate get_issuer (); + public bool is_same (GLib.TlsCertificate cert_two); + public static GLib.List list_new_from_file (string file) throws GLib.Error; + public virtual GLib.TlsCertificateFlags verify (GLib.SocketConnectable? identity, GLib.TlsCertificate? trusted_ca); + [NoAccessorMethod] + public GLib.ByteArray certificate { owned get; construct; } + [NoAccessorMethod] + public string certificate_pem { owned get; construct; } + public GLib.TlsCertificate issuer { get; construct; } + public GLib.ByteArray private_key { construct; } + public string private_key_pem { construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_connection_get_type ()")] + public abstract class TlsConnection : GLib.IOStream { + [CCode (has_construct_function = false)] + protected TlsConnection (); + public bool emit_accept_certificate (GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors); + public unowned GLib.TlsCertificate get_certificate (); + public unowned GLib.TlsDatabase get_database (); + public unowned GLib.TlsInteraction get_interaction (); + public unowned GLib.TlsCertificate get_peer_certificate (); + public GLib.TlsCertificateFlags get_peer_certificate_errors (); + public GLib.TlsRehandshakeMode get_rehandshake_mode (); + public bool get_require_close_notify (); + [Deprecated (since = "2.30")] + public bool get_use_system_certdb (); + public virtual bool handshake (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool handshake_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void set_certificate (GLib.TlsCertificate certificate); + public void set_database (GLib.TlsDatabase database); + public void set_interaction (GLib.TlsInteraction? interaction); + public void set_rehandshake_mode (GLib.TlsRehandshakeMode mode); + public void set_require_close_notify (bool require_close_notify); + [Deprecated (since = "2.30")] + public void set_use_system_certdb (bool use_system_certdb); + [NoAccessorMethod] + public GLib.IOStream base_io_stream { owned get; construct; } + public GLib.TlsCertificate certificate { get; set; } + public GLib.TlsDatabase database { get; set; } + public GLib.TlsInteraction interaction { get; set; } + public GLib.TlsCertificate peer_certificate { get; } + public GLib.TlsCertificateFlags peer_certificate_errors { get; } + public GLib.TlsRehandshakeMode rehandshake_mode { get; set construct; } + public bool require_close_notify { get; set construct; } + [Deprecated (since = "2.30")] + public bool use_system_certdb { get; set construct; } + public virtual signal bool accept_certificate (GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_database_get_type ()")] + public abstract class TlsDatabase : GLib.Object { + [CCode (cheader_filename = "gio/gio.h", cname = "G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT")] + public const string PURPOSE_AUTHENTICATE_CLIENT; + [CCode (cheader_filename = "gio/gio.h", cname = "G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER")] + public const string PURPOSE_AUTHENTICATE_SERVER; + [CCode (has_construct_function = false)] + protected TlsDatabase (); + public virtual string? create_certificate_handle (GLib.TlsCertificate certificate); + public virtual GLib.TlsCertificate lookup_certificate_for_handle (string handle, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.TlsCertificate lookup_certificate_for_handle_async (string handle, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.TlsCertificate lookup_certificate_issuer (GLib.TlsCertificate certificate, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.TlsCertificate lookup_certificate_issuer_async (GLib.TlsCertificate certificate, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.List lookup_certificates_issued_by (GLib.ByteArray issuer_raw_dn, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.List lookup_certificates_issued_by_async (GLib.ByteArray issuer_raw_dn, GLib.TlsInteraction? interaction, GLib.TlsDatabaseLookupFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.TlsCertificateFlags verify_chain (GLib.TlsCertificate chain, string purpose, GLib.SocketConnectable? identity, GLib.TlsInteraction? interaction, GLib.TlsDatabaseVerifyFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.TlsCertificateFlags verify_chain_async (GLib.TlsCertificate chain, string purpose, GLib.SocketConnectable? identity, GLib.TlsInteraction? interaction, GLib.TlsDatabaseVerifyFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_tls_interaction_get_type ()")] + public class TlsInteraction : GLib.Object { + [CCode (has_construct_function = false)] + protected TlsInteraction (); + public virtual GLib.TlsInteractionResult ask_password (GLib.TlsPassword password, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.TlsInteractionResult ask_password_async (GLib.TlsPassword password, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.TlsInteractionResult invoke_ask_password (GLib.TlsPassword password, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.TlsInteractionResult invoke_request_certificate (GLib.TlsConnection connection, GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.TlsInteractionResult request_certificate (GLib.TlsConnection connection, GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.TlsInteractionResult request_certificate_async (GLib.TlsConnection connection, GLib.TlsCertificateRequestFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h")] + public class TlsPassword : GLib.Object { + [CCode (has_construct_function = false)] + public TlsPassword (GLib.TlsPasswordFlags flags, string description); + [NoWrapper] + public virtual unowned string get_default_warning (); + public unowned string get_description (); + public GLib.TlsPasswordFlags get_flags (); + [CCode (array_length_pos = 0.1)] + public virtual unowned uint8[] get_value (); + public unowned string get_warning (); + public void set_description (string description); + public void set_flags (GLib.TlsPasswordFlags flags); + public void set_value ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "gssize", type = "const guchar*")] uint8[] value); + [CCode (vfunc_name = "set_value")] + public virtual void set_value_full ([CCode (array_length_cname = "length", array_length_pos = 1.5, array_length_type = "gssize", type = "guchar*")] owned uint8[] value, GLib.DestroyNotify? notify = GLib.free); + public void set_warning (string warning); + public string description { get; set; } + public GLib.TlsPasswordFlags flags { get; set; } + public string warning { get; set; } + } + [CCode (cheader_filename = "gio/gunixfdlist.h", type_id = "g_unix_fd_list_get_type ()")] + public class UnixFDList : GLib.Object { + [CCode (has_construct_function = false)] + public UnixFDList (); + public int append (int fd) throws GLib.Error; + [CCode (has_construct_function = false)] + public UnixFDList.from_array ([CCode (array_length_cname = "n_fds", array_length_pos = 1.1)] int[] fds); + public int @get (int index_) throws GLib.Error; + public int get_length (); + [CCode (array_length_pos = 0.1)] + public unowned int[] peek_fds (); + [CCode (array_length_pos = 0.1)] + public int[] steal_fds (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_vfs_get_type ()")] + public class Vfs : GLib.Object { + [CCode (has_construct_function = false)] + protected Vfs (); + [NoWrapper] + public virtual void add_writable_namespaces (GLib.FileAttributeInfoList list); + public static unowned GLib.Vfs get_default (); + public virtual GLib.File get_file_for_path (string path); + public virtual GLib.File get_file_for_uri (string uri); + public static unowned GLib.Vfs get_local (); + [CCode (array_length = false, array_null_terminated = true)] + public virtual unowned string[] get_supported_uri_schemes (); + public virtual bool is_active (); + [NoWrapper] + public virtual void local_file_add_info (string filename, uint64 device, GLib.FileAttributeMatcher attribute_matcher, GLib.FileInfo info, GLib.Cancellable? cancellable = null, void* extra_data = null, GLib.DestroyNotify? free_extra_data = null); + [NoWrapper] + public virtual void local_file_moved (string source, string dest); + [NoWrapper] + public virtual void local_file_removed (string filename); + [NoWrapper] + public virtual bool local_file_set_attributes (string filename, GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual GLib.File parse_name (string parse_name); + } + [CCode (cheader_filename = "gio/gio.h")] + public class VolumeMonitor : GLib.Object { + [CCode (has_construct_function = false)] + protected VolumeMonitor (); + [Deprecated (since = "2.20")] + public static GLib.Volume adopt_orphan_mount (GLib.Mount mount); + public static GLib.VolumeMonitor @get (); + public virtual GLib.List get_connected_drives (); + public virtual GLib.Mount get_mount_for_uuid (string uuid); + public virtual GLib.List get_mounts (); + public virtual GLib.Volume get_volume_for_uuid (string uuid); + public virtual GLib.List get_volumes (); + [NoWrapper] + public virtual bool is_supported (); + public virtual signal void drive_changed (GLib.Drive drive); + public virtual signal void drive_connected (GLib.Drive drive); + public virtual signal void drive_disconnected (GLib.Drive drive); + public virtual signal void drive_eject_button (GLib.Drive drive); + public virtual signal void drive_stop_button (GLib.Drive drive); + public virtual signal void mount_added (GLib.Mount mount); + public virtual signal void mount_changed (GLib.Mount mount); + public virtual signal void mount_pre_unmount (GLib.Mount mount); + public virtual signal void mount_removed (GLib.Mount mount); + public virtual signal void volume_added (GLib.Volume volume); + public virtual signal void volume_changed (GLib.Volume volume); + public virtual signal void volume_removed (GLib.Volume volume); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_zlib_compressor_get_type ()")] + public class ZlibCompressor : GLib.Object, GLib.Converter { + [CCode (has_construct_function = false)] + public ZlibCompressor (GLib.ZlibCompressorFormat format, int level = -1); + public unowned GLib.FileInfo get_file_info (); + public void set_file_info (GLib.FileInfo? file_info); + public GLib.FileInfo file_info { get; set; } + [NoAccessorMethod] + public GLib.ZlibCompressorFormat format { get; construct; } + [NoAccessorMethod] + public int level { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_zlib_decompressor_get_type ()")] + public class ZlibDecompressor : GLib.Object, GLib.Converter { + [CCode (has_construct_function = false)] + public ZlibDecompressor (GLib.ZlibCompressorFormat format); + public unowned GLib.FileInfo get_file_info (); + public GLib.FileInfo file_info { get; } + [NoAccessorMethod] + public GLib.ZlibCompressorFormat format { get; construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionInterface", type_id = "g_action_get_type ()")] + public interface Action : GLib.Object { + public abstract void activate (GLib.Variant? parameter); + public abstract void change_state (GLib.Variant value); + public abstract bool get_enabled (); + public abstract unowned string get_name (); + public abstract unowned GLib.VariantType get_parameter_type (); + public abstract GLib.Variant get_state (); + public abstract GLib.Variant? get_state_hint (); + public abstract unowned GLib.VariantType get_state_type (); + public static bool name_is_valid (string action_name); + public static bool parse_detailed_name (string detailed_name, out string action_name, out GLib.Variant target_value) throws GLib.Error; + public static string print_detailed_name (string action_name, GLib.Variant? target_value); + public abstract bool enabled { get; } + public abstract string name { get; } + public abstract GLib.VariantType? parameter_type { get; } + public abstract GLib.Variant? state { owned get; } + public abstract GLib.VariantType? state_type { get; } + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionGroupInterface", type_id = "g_action_group_get_type ()")] + public interface ActionGroup : GLib.Object { + public abstract void activate_action (string action_name, GLib.Variant? parameter); + public abstract void change_action_state (string action_name, GLib.Variant value); + public abstract bool get_action_enabled (string action_name); + public abstract unowned GLib.VariantType? get_action_parameter_type (string action_name); + public abstract GLib.Variant? get_action_state (string action_name); + public abstract GLib.Variant? get_action_state_hint (string action_name); + public abstract unowned GLib.VariantType? get_action_state_type (string action_name); + public abstract bool has_action (string action_name); + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] list_actions (); + public virtual bool query_action (string action_name, out bool enabled, out GLib.VariantType parameter_type, out GLib.VariantType state_type, out GLib.Variant state_hint, out GLib.Variant state); + [HasEmitter] + public virtual signal void action_added (string action_name); + [HasEmitter] + public virtual signal void action_enabled_changed (string action_name, bool enabled); + [HasEmitter] + public virtual signal void action_removed (string action_name); + [HasEmitter] + public virtual signal void action_state_changed (string action_name, GLib.Variant state); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GActionMapInterface", type_id = "g_action_map_get_type ()")] + public interface ActionMap : GLib.Object { + public abstract void add_action (GLib.Action action); + public void add_action_entries ([CCode (array_length_cname = "n_entries", array_length_pos = 1.5)] GLib.ActionEntry[] entries, void* user_data); + public abstract unowned GLib.Action lookup_action (string action_name); + public abstract void remove_action (string action_name); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_app_info_get_type ()")] + public interface AppInfo : GLib.Object { + public abstract bool add_supports_type (string content_type) throws GLib.Error; + public abstract bool can_delete (); + public abstract bool can_remove_supports_type (); + public static GLib.AppInfo create_from_commandline (string commandline, string? application_name, GLib.AppInfoCreateFlags flags) throws GLib.Error; + [CCode (vfunc_name = "do_delete")] + public abstract bool @delete (); + public abstract GLib.AppInfo dup (); + public abstract bool equal (GLib.AppInfo appinfo2); + public static GLib.List get_all (); + public static GLib.List get_all_for_type (string content_type); + public abstract unowned string get_commandline (); + public static GLib.AppInfo get_default_for_type (string content_type, bool must_support_uris); + public static GLib.AppInfo get_default_for_uri_scheme (string uri_scheme); + public abstract unowned string get_description (); + public abstract unowned string get_display_name (); + public abstract unowned string get_executable (); + public static GLib.List get_fallback_for_type (string content_type); + public abstract unowned GLib.Icon get_icon (); + public abstract unowned string get_id (); + public abstract unowned string get_name (); + public static GLib.List get_recommended_for_type (string content_type); + [CCode (array_length = false, array_null_terminated = true)] + public abstract unowned string[] get_supported_types (); + public abstract bool launch (GLib.List? files, GLib.AppLaunchContext? launch_context) throws GLib.Error; + public static bool launch_default_for_uri (string uri, GLib.AppLaunchContext? launch_context) throws GLib.Error; + public abstract bool launch_uris (GLib.List? uris, GLib.AppLaunchContext? launch_context) throws GLib.Error; + public abstract bool remove_supports_type (string content_type) throws GLib.Error; + public static void reset_type_associations (string content_type); + public abstract bool set_as_default_for_extension (string extension) throws GLib.Error; + public abstract bool set_as_default_for_type (string content_type) throws GLib.Error; + public abstract bool set_as_last_used_for_type (string content_type) throws GLib.Error; + public abstract bool should_show (); + public abstract bool supports_files (); + public abstract bool supports_uris (); + } + [CCode (cheader_filename = "gio/gio.h")] + public interface AsyncInitable : GLib.Object { + public virtual async bool init_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (finish_function = "g_async_initable_new_finish")] + public static async GLib.Object new_async (GLib.Type object_type, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable, ...) throws GLib.Error; + [CCode (finish_function = "g_async_initable_new_finish")] + public static async GLib.Object new_valist_async (GLib.Type object_type, string first_property_name, va_list var_args, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null); + [CCode (finish_function = "g_async_initable_new_finish")] + public static async GLib.Object newv_async (GLib.Type object_type, [CCode (array_length_pos = 1.1)] GLib.Parameter[] parameters, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_async_result_get_type ()")] + public interface AsyncResult : GLib.Object { + public abstract GLib.Object get_source_object (); + public abstract void* get_user_data (); + public abstract bool is_tagged (void* source_tag); + public bool legacy_propagate_error () throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_get_type ()")] + public interface Converter : GLib.Object { + public abstract GLib.ConverterResult convert ([CCode (array_length_cname = "inbuf_size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] inbuf, [CCode (array_length_cname = "outbuf_size", array_length_pos = 2.5, array_length_type = "gsize", type = "void*")] uint8[] outbuf, GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error; + public abstract void reset (); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_interface_get_type ()")] + public interface DBusInterface : GLib.Object { + public abstract GLib.DBusObject dup_object (); + public abstract unowned GLib.DBusInterfaceInfo get_info (); + public abstract unowned GLib.DBusObject get_object (); + public abstract void set_object (GLib.DBusObject? object); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_get_type ()")] + public interface DBusObject : GLib.Object { + public abstract GLib.DBusInterface get_interface (string interface_name); + public abstract GLib.List get_interfaces (); + public abstract unowned string get_object_path (); + public virtual signal void interface_added (GLib.DBusInterface interface_); + public virtual signal void interface_removed (GLib.DBusInterface interface_); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_dbus_object_manager_get_type ()")] + public interface DBusObjectManager : GLib.Object { + public abstract GLib.DBusInterface get_interface (string object_path, string interface_name); + public abstract GLib.DBusObject get_object (string object_path); + public abstract unowned string get_object_path (); + public abstract GLib.List get_objects (); + public virtual signal void interface_added (GLib.DBusObject object, GLib.DBusInterface interface_); + public virtual signal void interface_removed (GLib.DBusObject object, GLib.DBusInterface interface_); + public virtual signal void object_added (GLib.DBusObject object); + public virtual signal void object_removed (GLib.DBusObject object); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_drive_get_type ()")] + public interface Drive : GLib.Object { + public abstract bool can_eject (); + public abstract bool can_poll_for_media (); + public abstract bool can_start (); + public abstract bool can_start_degraded (); + public abstract bool can_stop (); + [Deprecated (since = "2.22")] + public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] enumerate_identifiers (); + public abstract GLib.Icon get_icon (); + public abstract string get_identifier (string kind); + public abstract string get_name (); + public virtual unowned string get_sort_key (); + public abstract GLib.DriveStartStopType get_start_stop_type (); + public abstract GLib.Icon get_symbolic_icon (); + public abstract GLib.List get_volumes (); + public abstract bool has_media (); + public abstract bool has_volumes (); + public abstract bool is_media_check_automatic (); + public abstract bool is_media_removable (); + public abstract async bool poll_for_media (GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool start (GLib.DriveStartFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool stop (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual signal void changed (); + public virtual signal void disconnected (); + public virtual signal void eject_button (); + public virtual signal void stop_button (); + } + [CCode (cheader_filename = "gio/gio.h")] + public interface File : GLib.Object { + public abstract GLib.FileOutputStream append_to (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileOutputStream append_to_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract bool copy (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error; + public virtual async bool copy_async (GLib.File destination, GLib.FileCopyFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error; + public bool copy_attributes (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileOutputStream create (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileOutputStream create_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileIOStream create_readwrite (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileIOStream create_readwrite_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "delete_file")] + public abstract bool @delete (GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "delete_file_async")] + public virtual async bool delete_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.File dup (); + [Deprecated (since = "2.22")] + public abstract async bool eject_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool eject_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileEnumerator enumerate_children (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileEnumerator enumerate_children_async (string attributes, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract bool equal (GLib.File file2); + public abstract GLib.Mount find_enclosing_mount (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.Mount find_enclosing_mount_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract string? get_basename (); + public GLib.File get_child (string name); + public abstract GLib.File get_child_for_display_name (string display_name) throws GLib.Error; + public abstract GLib.File? get_parent (); + public abstract string get_parse_name (); + public abstract string? get_path (); + public abstract string? get_relative_path (GLib.File descendant); + public abstract string get_uri (); + public abstract string get_uri_scheme (); + public bool has_parent (GLib.File? parent); + [CCode (vfunc_name = "prefix_matches")] + public abstract bool has_prefix (GLib.File file); + public abstract bool has_uri_scheme (string uri_scheme); + public abstract uint hash (); + public abstract bool is_native (); + public bool load_contents (GLib.Cancellable? cancellable, [CCode (array_length_cname = "length", array_length_pos = 2.5, array_length_type = "gsize")] out uint8[] contents, out string etag_out) throws GLib.Error; + public async bool load_contents_async (GLib.Cancellable? cancellable = null, [CCode (array_length_cname = "length", array_length_pos = 2.5, array_length_type = "gsize")] out uint8[] contents, out string etag_out) throws GLib.Error; + public async bool load_partial_contents_async (GLib.Cancellable? cancellable = null, GLib.FileReadMoreCallback read_more_callback, [CCode (array_length_cname = "length", array_length_pos = 2.5, array_length_type = "gsize")] out uint8[] contents, out string etag_out) throws GLib.Error; + public abstract bool make_directory (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool make_directory_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool make_directory_with_parents (GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract bool make_symbolic_link (string symlink_value, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual bool measure_disk_usage (GLib.FileMeasureFlags flags, GLib.Cancellable? cancellable, [CCode (delegate_target_pos = 3.5)] GLib.FileMeasureProgressCallback? progress_callback, out uint64 disk_usage, out uint64 num_dirs, out uint64 num_files) throws GLib.Error; + public virtual async bool measure_disk_usage_async (GLib.FileMeasureFlags flags, int io_priority, GLib.Cancellable? cancellable, GLib.FileMeasureProgressCallback? progress_callback, out uint64 disk_usage, out uint64 num_dirs, out uint64 num_files) throws GLib.Error; + public GLib.FileMonitor monitor (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "monitor_dir")] + public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public abstract async bool mount_enclosing_volume (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async GLib.File mount_mountable (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract bool move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error; + public static GLib.File new_for_commandline_arg (string arg); + public static GLib.File new_for_commandline_arg_and_cwd (string arg, string cwd); + public static GLib.File new_for_path (string path); + public static GLib.File new_for_uri (string uri); + public static GLib.File new_tmp (string? tmpl, out GLib.FileIOStream iostream) throws GLib.Error; + public abstract GLib.FileIOStream open_readwrite (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileIOStream open_readwrite_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public static GLib.File parse_name (string parse_name); + public abstract async bool poll_mountable (GLib.Cancellable? cancellable = null) throws GLib.Error; + [Deprecated (replacement = "has_prefix", since = "vala-0.16")] + [NoWrapper] + public abstract bool prefix_matches (GLib.File file); + public GLib.AppInfo query_default_handler (GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool query_exists (GLib.Cancellable? cancellable = null); + public GLib.FileType query_file_type (GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null); + public abstract GLib.FileInfo query_filesystem_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInfo query_filesystem_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileInfo query_info (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInfo query_info_async (string attributes, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileAttributeInfoList query_settable_attributes (GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileAttributeInfoList query_writable_namespaces (GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "read_fn")] + public abstract GLib.FileInputStream read (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileInputStream read_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [Deprecated (replacement = "read", since = "vala-0.16")] + [NoWrapper] + public abstract unowned GLib.FileInputStream read_fn (GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.FileOutputStream replace (string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileOutputStream replace_async (string? etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool replace_contents ([CCode (array_length_cname = "length", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] contents, string? etag, bool make_backup, GLib.FileCreateFlags flags, out string new_etag, GLib.Cancellable? cancellable = null) throws GLib.Error; + public async bool replace_contents_async ([CCode (array_length_cname = "length", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] contents, string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null, out string new_etag) throws GLib.Error; + public async void replace_contents_bytes_async (GLib.Bytes contents, string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null); + public abstract GLib.FileIOStream replace_readwrite (string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.FileIOStream replace_readwrite_async (string? etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.File resolve_relative_path (string relative_path); + public abstract bool set_attribute (string attribute, GLib.FileAttributeType type, void* value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_byte_string (string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_int32 (string attribute, int32 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_int64 (string attribute, int64 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_string (string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_uint32 (string attribute, uint32 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool set_attribute_uint64 (string attribute, uint64 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool set_attributes_async (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out GLib.FileInfo info_out) throws GLib.Error; + public abstract bool set_attributes_from_info (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.File set_display_name (string display_name, GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async GLib.File set_display_name_async (string display_name, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool start_mountable (GLib.DriveStartFlags flags, GLib.MountOperation? start_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool stop_mountable (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool supports_thread_contexts (); + public abstract bool trash (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual async bool trash_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error; + [Deprecated (since = "2.22")] + public abstract async bool unmount_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool unmount_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h")] + public interface Icon : GLib.Object { + public static GLib.Icon deserialize (GLib.Variant value); + public abstract bool equal (GLib.Icon? icon2); + [NoWrapper] + public virtual GLib.Icon? from_tokens (string[] tokens, int version) throws GLib.Error; + public abstract uint hash (); + public static GLib.Icon? new_for_string (string str) throws GLib.Error; + public virtual GLib.Variant serialize (); + public string? to_string (); + [NoWrapper] + public virtual bool to_tokens (GLib.GenericArray tokens, out int out_version); + } + [CCode (cheader_filename = "gio/gio.h")] + public interface Initable : GLib.Object { + public abstract bool init (GLib.Cancellable? cancellable = null) throws GLib.Error; + public static GLib.Object @new (GLib.Type object_type, GLib.Cancellable? cancellable = null, ...) throws GLib.Error; + public static GLib.Object new_valist (GLib.Type object_type, string first_property_name, va_list var_args, GLib.Cancellable? cancellable = null) throws GLib.Error; + public static GLib.Object newv (GLib.Type object_type, [CCode (array_length_cname = "n_parameters", array_length_pos = 1.5, array_length_type = "guint")] GLib.Parameter[] parameters, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GListModelInterface", type_id = "g_list_model_get_type ()")] + public interface ListModel : GLib.Object { + public abstract GLib.Object? get_item (uint position); + public abstract GLib.Type get_item_type (); + public abstract uint get_n_items (); + public GLib.Object? get_object (uint position); + [HasEmitter] + public signal void items_changed (uint position, uint removed, uint added); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_loadable_icon_get_type ()")] + public interface LoadableIcon : GLib.Icon, GLib.Object { + public abstract GLib.InputStream load (int size, out string? type, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async GLib.InputStream load_async (int size, GLib.Cancellable? cancellable = null, out string? type = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_mount_get_type ()")] + public interface Mount : GLib.Object { + public abstract bool can_eject (); + public abstract bool can_unmount (); + [Deprecated (since = "2.22")] + public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.File get_default_location (); + public abstract GLib.Drive get_drive (); + public abstract GLib.Icon get_icon (); + public abstract string get_name (); + public abstract GLib.File get_root (); + public virtual unowned string get_sort_key (); + public abstract GLib.Icon get_symbolic_icon (); + public abstract string get_uuid (); + public abstract GLib.Volume get_volume (); + [CCode (array_length = false, array_null_terminated = true)] + public abstract async string[] guess_content_type (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] guess_content_type_sync (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error; + public bool is_shadowed (); + public abstract async bool remount (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void shadow (); + [Deprecated (since = "2.22")] + public abstract async bool unmount (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool unmount_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public void unshadow (); + public virtual signal void changed (); + public virtual signal void pre_unmount (); + public virtual signal void unmounted (); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GNetworkMonitorInterface", type_id = "g_network_monitor_get_type ()")] + public interface NetworkMonitor : GLib.Initable, GLib.Object { + public abstract bool can_reach (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool can_reach_async (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error; + public GLib.NetworkConnectivity get_connectivity (); + public static unowned GLib.NetworkMonitor get_default (); + public bool get_network_available (); + [ConcreteAccessor] + public abstract GLib.NetworkConnectivity connectivity { get; } + [ConcreteAccessor] + public abstract bool network_available { get; } + public virtual signal void network_changed (bool available); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GPollableInputStreamInterface", type_id = "g_pollable_input_stream_get_type ()")] + public interface PollableInputStream : GLib.InputStream { + public abstract bool can_poll (); + public abstract GLib.PollableSource create_source (GLib.Cancellable? cancellable = null); + public abstract bool is_readable (); + public ssize_t read_nonblocking ([CCode (array_length_cname = "count", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (vfunc_name = "read_nonblocking")] + public abstract ssize_t read_nonblocking_fn ([CCode (array_length_cname = "count", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] buffer) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GPollableOutputStreamInterface", type_id = "g_pollable_output_stream_get_type ()")] + public interface PollableOutputStream : GLib.OutputStream { + public abstract bool can_poll (); + public abstract GLib.PollableSource create_source (GLib.Cancellable? cancellable = null); + public abstract bool is_writable (); + public abstract ssize_t write_nonblocking ([CCode (array_length_cname = "count", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] buffer) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyInterface", type_id = "g_proxy_get_type ()")] + public interface Proxy : GLib.Object { + public abstract GLib.IOStream connect (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async GLib.IOStream connect_async (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error; + public static GLib.Proxy get_default_for_protocol (string protocol); + public abstract bool supports_hostname (); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyResolverInterface", type_id = "g_proxy_resolver_get_type ()")] + public interface ProxyResolver : GLib.Object { + public static unowned GLib.ProxyResolver get_default (); + public abstract bool is_supported (); + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] lookup (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true)] + public abstract async string[] lookup_async (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GRemoteActionGroupInterface", type_id = "g_remote_action_group_get_type ()")] + public interface RemoteActionGroup : GLib.ActionGroup, GLib.Object { + public abstract void activate_action_full (string action_name, GLib.Variant? parameter, GLib.Variant platform_data); + public abstract void change_action_state_full (string action_name, GLib.Variant value, GLib.Variant platform_data); + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_seekable_get_type ()")] + public interface Seekable : GLib.Object { + public abstract bool can_seek (); + public abstract bool can_truncate (); + public abstract bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract int64 tell (); + [CCode (vfunc_name = "truncate_fn")] + public abstract bool truncate (int64 offset, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_connectable_get_type ()")] + public interface SocketConnectable : GLib.Object { + public abstract GLib.SocketAddressEnumerator enumerate (); + public abstract GLib.SocketAddressEnumerator proxy_enumerate (); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsBackendInterface", type_id = "g_tls_backend_get_type ()")] + public interface TlsBackend : GLib.Object { + public abstract GLib.Type get_certificate_type (); + public abstract GLib.Type get_client_connection_type (); + public static unowned GLib.TlsBackend get_default (); + public abstract GLib.TlsDatabase get_default_database (); + public abstract GLib.Type get_file_database_type (); + public abstract GLib.Type get_server_connection_type (); + public abstract bool supports_tls (); + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsClientConnectionInterface", type_id = "g_tls_client_connection_get_type ()")] + public interface TlsClientConnection : GLib.TlsConnection { + public abstract void copy_session_state (GLib.TlsClientConnection source); + public GLib.List get_accepted_cas (); + public unowned GLib.SocketConnectable get_server_identity (); + public bool get_use_ssl3 (); + public GLib.TlsCertificateFlags get_validation_flags (); + public static GLib.TlsClientConnection? @new (GLib.IOStream base_io_stream, GLib.SocketConnectable? server_identity) throws GLib.Error; + public void set_server_identity (GLib.SocketConnectable identity); + public void set_use_ssl3 (bool use_ssl3); + public void set_validation_flags (GLib.TlsCertificateFlags flags); + [ConcreteAccessor] + public abstract GLib.List accepted_cas { owned get; } + [ConcreteAccessor] + public abstract GLib.SocketConnectable server_identity { get; set construct; } + [ConcreteAccessor] + public abstract bool use_ssl3 { get; set construct; } + [ConcreteAccessor] + public abstract GLib.TlsCertificateFlags validation_flags { get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsFileDatabaseInterface", type_id = "g_tls_file_database_get_type ()")] + public interface TlsFileDatabase : GLib.TlsDatabase { + public static GLib.TlsFileDatabase? @new (string anchors) throws GLib.Error; + [NoAccessorMethod] + public abstract string anchors { owned get; set construct; } + } + [CCode (cheader_filename = "gio/gio.h", type_cname = "GTlsServerConnectionInterface", type_id = "g_tls_server_connection_get_type ()")] + public interface TlsServerConnection : GLib.TlsConnection { + public static GLib.TlsServerConnection? @new (GLib.IOStream base_io_stream, GLib.TlsCertificate? certificate) throws GLib.Error; + [NoAccessorMethod] + public abstract GLib.TlsAuthenticationMode authentication_mode { get; set; } + } + [CCode (cheader_filename = "gio/gio.h", type_id = "g_volume_get_type ()")] + public interface Volume : GLib.Object { + public abstract bool can_eject (); + public abstract bool can_mount (); + [Deprecated (since = "2.22")] + public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] enumerate_identifiers (); + public abstract GLib.File? get_activation_root (); + public abstract GLib.Drive get_drive (); + public abstract GLib.Icon get_icon (); + public abstract string get_identifier (string kind); + public abstract GLib.Mount get_mount (); + public abstract string get_name (); + public virtual unowned string get_sort_key (); + public abstract GLib.Icon get_symbolic_icon (); + public abstract string get_uuid (); + [CCode (vfunc_name = "mount_fn")] + public abstract async bool mount (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract bool should_automount (); + public virtual signal void changed (); + public virtual signal void removed (); + } + [CCode (cheader_filename = "gio/gio.h")] + public struct ActionEntry { + public weak string name; + [Deprecated (replacement = "activate_callback", since = "vala-0.26")] + public GLib.SimpleActionActivateCallback? activate; + public weak string parameter_type; + public weak string state; + [Deprecated (replacement = "change_state_callback", since = "vala-0.26")] + public GLib.SimpleActionChangeStateCallback? change_state; + [CCode (cname = "activate")] + public GLib.SimpleActionActivateFunc activate_callback; + [CCode (cname = "change_state")] + public GLib.SimpleActionChangeStateCallback? change_state_callback; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct DBusErrorEntry { + public int error_code; + public weak string dbus_error_name; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct DBusInterfaceVTable { + public weak GLib.DBusInterfaceMethodCallFunc method_call; + public weak GLib.DBusInterfaceGetPropertyFunc get_property; + public weak GLib.DBusInterfaceSetPropertyFunc set_property; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct DBusSubtreeVTable { + public weak GLib.DBusSubtreeEnumerateFunc enumerate; + public weak GLib.DBusSubtreeIntrospectFunc introspect; + public weak GLib.DBusSubtreeDispatchFunc dispatch; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct FileAttributeInfo { + public weak string name; + public GLib.FileAttributeType type; + public GLib.FileAttributeInfoFlags flags; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct InputVector { + public void* buffer; + public size_t size; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct OutputMessage { + public weak GLib.SocketAddress address; + public GLib.OutputVector vectors; + public uint num_vectors; + public uint bytes_sent; + [CCode (array_length = false, array_null_terminated = true)] + public weak GLib.SocketControlMessage[] control_messages; + public uint num_control_messages; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct OutputVector { + public void* buffer; + public size_t size; + } + [CCode (cheader_filename = "gio/gio.h", has_type_id = false)] + public struct StaticResource { + public void fini (); + public unowned GLib.Resource get_resource (); + public void init (); + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_APP_INFO_CREATE_", type_id = "g_app_info_create_flags_get_type ()")] + [Flags] + public enum AppInfoCreateFlags { + NONE, + NEEDS_TERMINAL, + SUPPORTS_URIS, + SUPPORTS_STARTUP_NOTIFICATION + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_APPLICATION_", type_id = "g_application_flags_get_type ()")] + [Flags] + public enum ApplicationFlags { + FLAGS_NONE, + IS_SERVICE, + IS_LAUNCHER, + HANDLES_OPEN, + HANDLES_COMMAND_LINE, + SEND_ENVIRONMENT, + NON_UNIQUE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_ASK_PASSWORD_", type_id = "g_ask_password_flags_get_type ()")] + [Flags] + public enum AskPasswordFlags { + NEED_PASSWORD, + NEED_USERNAME, + NEED_DOMAIN, + SAVING_SUPPORTED, + ANONYMOUS_SUPPORTED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_NAME_OWNER_FLAGS_", type_id = "g_bus_name_owner_flags_get_type ()")] + [Flags] + public enum BusNameOwnerFlags { + NONE, + ALLOW_REPLACEMENT, + REPLACE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_NAME_WATCHER_FLAGS_", type_id = "g_bus_name_watcher_flags_get_type ()")] + [Flags] + public enum BusNameWatcherFlags { + NONE, + AUTO_START + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_BUS_TYPE_", type_id = "g_bus_type_get_type ()")] + public enum BusType { + STARTER, + NONE, + SYSTEM, + SESSION; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_for_bus_sync")] + public static string get_address_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.Error; + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CONVERTER_")] + [Flags] + public enum ConverterFlags { + [Deprecated (replacement = "ConverterFlags.NONE", since = "vala-0.16")] + NO_FLAGS, + [CCode (cname = "G_CONVERTER_NO_FLAGS")] + NONE, + INPUT_AT_END, + FLUSH + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CONVERTER_", type_id = "g_converter_result_get_type ()")] + public enum ConverterResult { + ERROR, + CONVERTED, + FINISHED, + FLUSHED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_CREDENTIALS_TYPE_", type_id = "g_credentials_type_get_type ()")] + public enum CredentialsType { + INVALID, + LINUX_UCRED, + FREEBSD_CMSGCRED, + OPENBSD_SOCKPEERCRED, + SOLARIS_UCRED, + NETBSD_UNPCBID + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CALL_FLAGS_", type_id = "g_dbus_call_flags_get_type ()")] + [Flags] + public enum DBusCallFlags { + NONE, + NO_AUTO_START, + ALLOW_INTERACTIVE_AUTHORIZATION + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CAPABILITY_FLAGS_", type_id = "g_dbus_capability_flags_get_type ()")] + [Flags] + public enum DBusCapabilityFlags { + NONE, + UNIX_FD_PASSING + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_CONNECTION_FLAGS_", type_id = "g_dbus_connection_flags_get_type ()")] + [Flags] + public enum DBusConnectionFlags { + NONE, + AUTHENTICATION_CLIENT, + AUTHENTICATION_SERVER, + AUTHENTICATION_ALLOW_ANONYMOUS, + MESSAGE_BUS_CONNECTION, + DELAY_MESSAGE_PROCESSING + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_INTERFACE_SKELETON_FLAGS_", type_id = "g_dbus_interface_skeleton_flags_get_type ()")] + [Flags] + public enum DBusInterfaceSkeletonFlags { + NONE, + HANDLE_METHOD_INVOCATIONS_IN_THREAD + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_BYTE_ORDER_", type_id = "g_dbus_message_byte_order_get_type ()")] + public enum DBusMessageByteOrder { + BIG_ENDIAN, + LITTLE_ENDIAN + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_FLAGS_", type_id = "g_dbus_message_flags_get_type ()")] + [Flags] + public enum DBusMessageFlags { + NONE, + NO_REPLY_EXPECTED, + NO_AUTO_START, + ALLOW_INTERACTIVE_AUTHORIZATION + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_HEADER_FIELD_", type_id = "g_dbus_message_header_field_get_type ()")] + public enum DBusMessageHeaderField { + INVALID, + PATH, + INTERFACE, + MEMBER, + ERROR_NAME, + REPLY_SERIAL, + DESTINATION, + SENDER, + SIGNATURE, + NUM_UNIX_FDS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_MESSAGE_TYPE_", type_id = "g_dbus_message_type_get_type ()")] + public enum DBusMessageType { + INVALID, + METHOD_CALL, + METHOD_RETURN, + ERROR, + SIGNAL + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_", type_id = "g_dbus_object_manager_client_flags_get_type ()")] + [Flags] + public enum DBusObjectManagerClientFlags { + NONE, + DO_NOT_AUTO_START + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_PROPERTY_INFO_FLAGS_", type_id = "g_dbus_property_info_flags_get_type ()")] + [Flags] + public enum DBusPropertyInfoFlags { + NONE, + READABLE, + WRITABLE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_PROXY_FLAGS_", type_id = "g_dbus_proxy_flags_get_type ()")] + [Flags] + public enum DBusProxyFlags { + NONE, + DO_NOT_LOAD_PROPERTIES, + DO_NOT_CONNECT_SIGNALS, + DO_NOT_AUTO_START, + GET_INVALIDATED_PROPERTIES, + DO_NOT_AUTO_START_AT_CONSTRUCTION + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SEND_MESSAGE_FLAGS_", type_id = "g_dbus_send_message_flags_get_type ()")] + [Flags] + public enum DBusSendMessageFlags { + NONE, + PRESERVE_SERIAL + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SERVER_FLAGS_", type_id = "g_dbus_server_flags_get_type ()")] + [Flags] + public enum DBusServerFlags { + NONE, + RUN_IN_THREAD, + AUTHENTICATION_ALLOW_ANONYMOUS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SIGNAL_FLAGS_", type_id = "g_dbus_signal_flags_get_type ()")] + [Flags] + public enum DBusSignalFlags { + NONE, + NO_MATCH_RULE, + MATCH_ARG0_NAMESPACE, + MATCH_ARG0_PATH + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_SUBTREE_FLAGS_", type_id = "g_dbus_subtree_flags_get_type ()")] + [Flags] + public enum DBusSubtreeFlags { + NONE, + DISPATCH_TO_UNENUMERATED_NODES + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DATA_STREAM_BYTE_ORDER_", type_id = "g_data_stream_byte_order_get_type ()")] + public enum DataStreamByteOrder { + BIG_ENDIAN, + LITTLE_ENDIAN, + HOST_ENDIAN + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DATA_STREAM_NEWLINE_TYPE_", type_id = "g_data_stream_newline_type_get_type ()")] + public enum DataStreamNewlineType { + LF, + CR, + CR_LF, + ANY + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DRIVE_START_", type_id = "g_drive_start_flags_get_type ()")] + [Flags] + public enum DriveStartFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DRIVE_START_STOP_TYPE_", type_id = "g_drive_start_stop_type_get_type ()")] + public enum DriveStartStopType { + UNKNOWN, + SHUTDOWN, + NETWORK, + MULTIDISK, + PASSWORD + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_EMBLEM_ORIGIN_", type_id = "g_emblem_origin_get_type ()")] + public enum EmblemOrigin { + UNKNOWN, + DEVICE, + LIVEMETADATA, + TAG + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_ATTRIBUTE_INFO_", type_id = "g_file_attribute_info_flags_get_type ()")] + [Flags] + public enum FileAttributeInfoFlags { + NONE, + COPY_WITH_FILE, + COPY_WHEN_MOVED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_ATTRIBUTE_STATUS_", type_id = "g_file_attribute_status_get_type ()")] + public enum FileAttributeStatus { + UNSET, + SET, + ERROR_SETTING + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_ATTRIBUTE_TYPE_", type_id = "g_file_attribute_type_get_type ()")] + public enum FileAttributeType { + INVALID, + STRING, + BYTE_STRING, + BOOLEAN, + UINT32, + INT32, + UINT64, + INT64, + OBJECT, + STRINGV + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_COPY_", type_id = "g_file_copy_flags_get_type ()")] + [Flags] + public enum FileCopyFlags { + NONE, + OVERWRITE, + BACKUP, + NOFOLLOW_SYMLINKS, + ALL_METADATA, + NO_FALLBACK_FOR_MOVE, + TARGET_DEFAULT_PERMS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_CREATE_", type_id = "g_file_create_flags_get_type ()")] + [Flags] + public enum FileCreateFlags { + NONE, + PRIVATE, + REPLACE_DESTINATION + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_MEASURE_", type_id = "g_file_measure_flags_get_type ()")] + [Flags] + public enum FileMeasureFlags { + NONE, + REPORT_ANY_ERROR, + APPARENT_SIZE, + NO_XDEV + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_MONITOR_EVENT_", type_id = "g_file_monitor_event_get_type ()")] + public enum FileMonitorEvent { + CHANGED, + CHANGES_DONE_HINT, + DELETED, + CREATED, + ATTRIBUTE_CHANGED, + PRE_UNMOUNT, + UNMOUNTED, + MOVED, + RENAMED, + MOVED_IN, + MOVED_OUT + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_MONITOR_", type_id = "g_file_monitor_flags_get_type ()")] + [Flags] + public enum FileMonitorFlags { + NONE, + WATCH_MOUNTS, + SEND_MOVED, + WATCH_HARD_LINKS, + WATCH_MOVES + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_QUERY_INFO_", type_id = "g_file_query_info_flags_get_type ()")] + [Flags] + public enum FileQueryInfoFlags { + NONE, + NOFOLLOW_SYMLINKS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILE_TYPE_", type_id = "g_file_type_get_type ()")] + public enum FileType { + UNKNOWN, + REGULAR, + DIRECTORY, + SYMBOLIC_LINK, + SPECIAL, + SHORTCUT, + MOUNTABLE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_FILESYSTEM_PREVIEW_TYPE_", type_id = "g_filesystem_preview_type_get_type ()")] + public enum FilesystemPreviewType { + IF_ALWAYS, + IF_LOCAL, + NEVER + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_IO_MODULE_SCOPE_", type_id = "g_io_module_scope_flags_get_type ()")] + public enum IOModuleScopeFlags { + NONE, + BLOCK_DUPLICATES + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_IO_STREAM_SPLICE_", type_id = "g_io_stream_splice_flags_get_type ()")] + [Flags] + public enum IOStreamSpliceFlags { + NONE, + CLOSE_STREAM1, + CLOSE_STREAM2, + WAIT_FOR_BOTH + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_MOUNT_MOUNT_", type_id = "g_mount_mount_flags_get_type ()")] + [Flags] + public enum MountMountFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_MOUNT_OPERATION_", type_id = "g_mount_operation_result_get_type ()")] + public enum MountOperationResult { + HANDLED, + ABORTED, + UNHANDLED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_MOUNT_UNMOUNT_", type_id = "g_mount_unmount_flags_get_type ()")] + [Flags] + public enum MountUnmountFlags { + NONE, + FORCE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_NETWORK_CONNECTIVITY_", type_id = "g_network_connectivity_get_type ()")] + public enum NetworkConnectivity { + LOCAL, + LIMITED, + PORTAL, + FULL + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_NOTIFICATION_PRIORITY_", type_id = "g_notification_priority_get_type ()")] + public enum NotificationPriority { + NORMAL, + LOW, + HIGH, + URGENT + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_OUTPUT_STREAM_SPLICE_", type_id = "g_output_stream_splice_flags_get_type ()")] + [Flags] + public enum OutputStreamSpliceFlags { + NONE, + CLOSE_SOURCE, + CLOSE_TARGET + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_PASSWORD_SAVE_", type_id = "g_password_save_get_type ()")] + public enum PasswordSave { + NEVER, + FOR_SESSION, + PERMANENTLY + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOLVER_RECORD_", type_id = "g_resolver_record_type_get_type ()")] + public enum ResolverRecordType { + SRV, + MX, + TXT, + SOA, + NS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_FLAGS_", type_id = "g_resource_flags_get_type ()")] + [Flags] + public enum ResourceFlags { + NONE, + COMPRESSED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_LOOKUP_FLAGS_", type_id = "g_resource_lookup_flags_get_type ()")] + [Flags] + public enum ResourceLookupFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SETTINGS_BIND_", type_id = "g_settings_bind_flags_get_type ()")] + [Flags] + public enum SettingsBindFlags { + DEFAULT, + GET, + SET, + NO_SENSITIVITY, + GET_NO_CHANGES, + INVERT_BOOLEAN + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_CLIENT_", type_id = "g_socket_client_event_get_type ()")] + public enum SocketClientEvent { + RESOLVING, + RESOLVED, + CONNECTING, + CONNECTED, + PROXY_NEGOTIATING, + PROXY_NEGOTIATED, + TLS_HANDSHAKING, + TLS_HANDSHAKED, + COMPLETE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_FAMILY_", type_id = "g_socket_family_get_type ()")] + public enum SocketFamily { + INVALID, + UNIX, + IPV4, + IPV6 + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_LISTENER_", type_id = "g_socket_listener_event_get_type ()")] + public enum SocketListenerEvent { + BINDING, + BOUND, + LISTENING, + LISTENED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_MSG_", type_id = "g_socket_msg_flags_get_type ()")] + [Flags] + public enum SocketMsgFlags { + NONE, + OOB, + PEEK, + DONTROUTE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_PROTOCOL_", type_id = "g_socket_protocol_get_type ()")] + public enum SocketProtocol { + UNKNOWN, + DEFAULT, + TCP, + UDP, + SCTP + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SOCKET_TYPE_", type_id = "g_socket_type_get_type ()")] + public enum SocketType { + INVALID, + STREAM, + DATAGRAM, + SEQPACKET + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_SUBPROCESS_FLAGS_", type_id = "g_subprocess_flags_get_type ()")] + [Flags] + public enum SubprocessFlags { + NONE, + STDIN_PIPE, + STDIN_INHERIT, + STDOUT_PIPE, + STDOUT_SILENCE, + STDERR_PIPE, + STDERR_SILENCE, + STDERR_MERGE, + INHERIT_FDS + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TEST_DBUS_", type_id = "g_test_dbus_flags_get_type ()")] + [Flags] + public enum TestDBusFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_AUTHENTICATION_", type_id = "g_tls_authentication_mode_get_type ()")] + public enum TlsAuthenticationMode { + NONE, + REQUESTED, + REQUIRED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_CERTIFICATE_", type_id = "g_tls_certificate_flags_get_type ()")] + [Flags] + public enum TlsCertificateFlags { + UNKNOWN_CA, + BAD_IDENTITY, + NOT_ACTIVATED, + EXPIRED, + REVOKED, + INSECURE, + GENERIC_ERROR, + VALIDATE_ALL + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_CERTIFICATE_REQUEST_", type_id = "g_tls_certificate_request_flags_get_type ()")] + public enum TlsCertificateRequestFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_DATABASE_LOOKUP_", type_id = "g_tls_database_lookup_flags_get_type ()")] + public enum TlsDatabaseLookupFlags { + NONE, + KEYPAIR + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_DATABASE_VERIFY_", type_id = "g_tls_database_verify_flags_get_type ()")] + [Flags] + public enum TlsDatabaseVerifyFlags { + NONE + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_INTERACTION_", type_id = "g_tls_interaction_result_get_type ()")] + public enum TlsInteractionResult { + UNHANDLED, + HANDLED, + FAILED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_PASSWORD_", type_id = "g_tls_password_flags_get_type ()")] + [Flags] + public enum TlsPasswordFlags { + NONE, + RETRY, + MANY_TRIES, + FINAL_TRY + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_REHANDSHAKE_", type_id = "g_tls_rehandshake_mode_get_type ()")] + public enum TlsRehandshakeMode { + NEVER, + SAFELY, + UNSAFELY + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_UNIX_SOCKET_ADDRESS_", type_id = "g_unix_socket_address_type_get_type ()")] + public enum UnixSocketAddressType { + INVALID, + ANONYMOUS, + PATH, + ABSTRACT, + ABSTRACT_PADDED + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_ZLIB_COMPRESSOR_FORMAT_", type_id = "g_zlib_compressor_format_get_type ()")] + public enum ZlibCompressorFormat { + ZLIB, + GZIP, + RAW + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_DBUS_ERROR_")] + public errordomain DBusError { + FAILED, + NO_MEMORY, + SERVICE_UNKNOWN, + NAME_HAS_NO_OWNER, + NO_REPLY, + IO_ERROR, + BAD_ADDRESS, + NOT_SUPPORTED, + LIMITS_EXCEEDED, + ACCESS_DENIED, + AUTH_FAILED, + NO_SERVER, + TIMEOUT, + NO_NETWORK, + ADDRESS_IN_USE, + DISCONNECTED, + INVALID_ARGS, + FILE_NOT_FOUND, + FILE_EXISTS, + UNKNOWN_METHOD, + TIMED_OUT, + MATCH_RULE_NOT_FOUND, + MATCH_RULE_INVALID, + SPAWN_EXEC_FAILED, + SPAWN_FORK_FAILED, + SPAWN_CHILD_EXITED, + SPAWN_CHILD_SIGNALED, + SPAWN_FAILED, + SPAWN_SETUP_FAILED, + SPAWN_CONFIG_INVALID, + SPAWN_SERVICE_INVALID, + SPAWN_SERVICE_NOT_FOUND, + SPAWN_PERMISSIONS_INVALID, + SPAWN_FILE_INVALID, + SPAWN_NO_MEMORY, + UNIX_PROCESS_ID_UNKNOWN, + INVALID_SIGNATURE, + INVALID_FILE_CONTENT, + SELINUX_SECURITY_CONTEXT_UNKNOWN, + ADT_AUDIT_DATA_UNKNOWN, + OBJECT_PATH_IN_USE, + UNKNOWN_OBJECT, + UNKNOWN_INTERFACE, + UNKNOWN_PROPERTY, + PROPERTY_READ_ONLY; + [CCode (cheader_filename = "gio/gio.h")] + public static string encode_gerror (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h")] + public static string get_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h")] + public static bool is_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Error new_for_dbus_error (string dbus_error_name, string dbus_error_message); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Quark quark (); + [CCode (cheader_filename = "gio/gio.h")] + public static bool register_error (GLib.Quark error_domain, int error_code, string dbus_error_name); + [CCode (cheader_filename = "gio/gio.h")] + public static void register_error_domain (string error_domain_quark_name, size_t quark_volatile, GLib.DBusErrorEntry entries, uint num_entries); + [CCode (cheader_filename = "gio/gio.h")] + public static bool strip_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h")] + public static bool unregister_error (GLib.Quark error_domain, int error_code, string dbus_error_name); + } + [CCode (cheader_filename = "gio/gio.h", cname = "GIOErrorEnum", cprefix = "G_IO_ERROR_")] + [GIR (name = "IOErrorEnum")] + public errordomain IOError { + FAILED, + NOT_FOUND, + EXISTS, + IS_DIRECTORY, + NOT_DIRECTORY, + NOT_EMPTY, + NOT_REGULAR_FILE, + NOT_SYMBOLIC_LINK, + NOT_MOUNTABLE_FILE, + FILENAME_TOO_LONG, + INVALID_FILENAME, + TOO_MANY_LINKS, + NO_SPACE, + INVALID_ARGUMENT, + PERMISSION_DENIED, + NOT_SUPPORTED, + NOT_MOUNTED, + ALREADY_MOUNTED, + CLOSED, + CANCELLED, + PENDING, + READ_ONLY, + CANT_CREATE_BACKUP, + WRONG_ETAG, + TIMED_OUT, + WOULD_RECURSE, + BUSY, + WOULD_BLOCK, + HOST_NOT_FOUND, + WOULD_MERGE, + FAILED_HANDLED, + TOO_MANY_OPEN_FILES, + NOT_INITIALIZED, + ADDRESS_IN_USE, + PARTIAL_INPUT, + INVALID_DATA, + DBUS_ERROR, + HOST_UNREACHABLE, + NETWORK_UNREACHABLE, + CONNECTION_REFUSED, + PROXY_FAILED, + PROXY_AUTH_FAILED, + PROXY_NEED_AUTH, + PROXY_NOT_ALLOWED, + BROKEN_PIPE, + CONNECTION_CLOSED, + NOT_CONNECTED; + [CCode (cheader_filename = "gio/gio.h")] + public static unowned GLib.IOError from_errno (int err_no); + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOLVER_ERROR_")] + public errordomain ResolverError { + NOT_FOUND, + TEMPORARY_FAILURE, + INTERNAL; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_RESOURCE_ERROR_")] + public errordomain ResourceError { + NOT_FOUND, + INTERNAL; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gio/gio.h", cprefix = "G_TLS_ERROR_")] + public errordomain TlsError { + UNAVAILABLE, + MISC, + BAD_CERTIFICATE, + NOT_TLS, + HANDSHAKE, + CERTIFICATE_REQUIRED, + EOF + } + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void AsyncReadyCallback (GLib.Object? source_object, GLib.AsyncResult res); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void BusAcquiredCallback (GLib.DBusConnection connection, string name); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void BusNameAcquiredCallback (GLib.DBusConnection connection, string name); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)] + public delegate void BusNameAppearedCallback (GLib.DBusConnection connection, string name, string name_owner); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void BusNameLostCallback (GLib.DBusConnection connection, string name); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void BusNameVanishedCallback (GLib.DBusConnection connection, string name); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 1.9)] + public delegate bool CancellableSourceFunc (GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)] + public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)] + public delegate void DBusInterfaceMethodCallFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string method_name, GLib.Variant parameters, owned GLib.DBusMethodInvocation invocation); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)] + public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)] + public delegate GLib.DBusMessage DBusMessageFilterFunction (GLib.DBusConnection connection, owned GLib.DBusMessage message, bool incoming); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)] + public delegate GLib.Type DBusProxyTypeFunc (GLib.DBusObjectManagerClient manager, string object_path, string? interface_name); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)] + public delegate void DBusSignalCallback (GLib.DBusConnection connection, string sender_name, string object_path, string interface_name, string signal_name, GLib.Variant parameters); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)] + public delegate unowned GLib.DBusInterfaceVTable? DBusSubtreeDispatchFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string node, void* out_user_data); + [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h", instance_pos = 3.9)] + public delegate string[] DBusSubtreeEnumerateFunc (GLib.DBusConnection connection, string sender, string object_path); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)] + public delegate GLib.DBusInterfaceInfo DBusSubtreeIntrospectFunc (GLib.DBusConnection connection, string sender, string object_path, string node); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)] + public delegate void FileMeasureProgressCallback (bool reporting, uint64 current_size, uint64 num_dirs, uint64 num_files); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate void FileProgressCallback (int64 current_num_bytes, int64 total_num_bytes); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate bool FileReadMoreCallback (string file_contents, int64 file_size, void* callback_data); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate bool IOSchedulerJobFunc (GLib.IOSchedulerJob job, GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 1.9)] + public delegate bool PollableSourceFunc (GLib.Object pollable_stream); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate void* ReallocFunc (void* data, size_t size); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate bool SettingsBindGetMapping (GLib.Value value, GLib.Variant variant); + [CCode (cheader_filename = "gio/gio.h", cname = "GSettingsBindGetMapping", has_target = false)] + public delegate bool SettingsBindGetMappingShared (GLib.Value value, GLib.Variant variant, void* user_data); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate GLib.Variant SettingsBindSetMapping (GLib.Value value, GLib.VariantType expected_type); + [CCode (cheader_filename = "gio/gio.h", cname = "GSettingsBindSetMapping", has_target = false)] + public delegate GLib.Variant SettingsBindSetMappingShared (GLib.Value value, GLib.VariantType expected_type, void* user_data); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate bool SettingsGetMapping (GLib.Variant value, out void* result); + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "SimplActionActivateFunc", since = "vala-0.26")] + public delegate void SimpleActionActivateCallback (GLib.SimpleAction action, GLib.Variant? parameter); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate void SimpleActionActivateFunc (GLib.SimpleAction action, GLib.Variant? parameter, void* user_data); + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "SimplActionChangeStateFunc", since = "vala-0.26")] + public delegate void SimpleActionChangeStateCallback (GLib.SimpleAction action, GLib.Variant value); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate void SimpleActionChangeStateFunc (GLib.SimpleAction action, GLib.Variant value, void* user_data); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)] + public delegate bool SocketSourceFunc (GLib.Socket socket, GLib.IOCondition condition); + [CCode (cheader_filename = "gio/gio.h", has_target = false)] + public delegate void TaskThreadFunc (GLib.Task task, GLib.Object source_object, void* task_data, GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "File.equal", since = "vala-0.16")] + public static GLib.EqualFunc file_equal; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "File.hash", since = "vala-0.16")] + public static GLib.HashFunc file_hash; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_DELETE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_DELETE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_EXECUTE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_READ", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_READ; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_RENAME", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_RENAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_TRASH", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_TRASH; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ACCESS_CAN_WRITE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ACCESS_CAN_WRITE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.DOS_IS_ARCHIVE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_DOS_IS_ARCHIVE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.DOS_IS_SYSTEM", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_DOS_IS_SYSTEM; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ETAG_VALUE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ETAG_VALUE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.FILESYSTEM_FREE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_FILESYSTEM_FREE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.FILESYSTEM_READONLY", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_FILESYSTEM_READONLY; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.FILESYSTEM_SIZE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_FILESYSTEM_SIZE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.FILESYSTEM_TYPE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_FILESYSTEM_TYPE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.FILESYSTEM_USE_PREVIEW", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.GVFS_BACKEND", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_GVFS_BACKEND; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ID_FILE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ID_FILE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.ID_FILESYSTEM", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_ID_FILESYSTEM; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_EJECT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_MOUNT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_POLL", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_START", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_START; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_START_DEGRADED", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_STOP", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_CAN_UNMOUNT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_HAL_UDI", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_START_STOP_TYPE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.MOUNTABLE_UNIX_DEVICE_FILE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.OWNER_GROUP", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_OWNER_GROUP; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.OWNER_USER", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_OWNER_USER; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.OWNER_USER_REAL", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_OWNER_USER_REAL; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.PREVIEW_ICON", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_PREVIEW_ICON; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.SELINUX_CONTEXT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_SELINUX_CONTEXT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_ALLOCATED_SIZE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_CONTENT_TYPE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_COPY_NAME", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_COPY_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_DESCRIPTION", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_DESCRIPTION; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_DISPLAY_NAME", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_EDIT_NAME", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_EDIT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_FAST_CONTENT_TYPE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_ICON", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_ICON; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_IS_BACKUP", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_IS_BACKUP; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_IS_HIDDEN", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_IS_HIDDEN; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_IS_SYMLINK", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_IS_SYMLINK; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_IS_VIRTUAL", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_NAME", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_SIZE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_SIZE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_SORT_ORDER", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_SORT_ORDER; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_SYMLINK_TARGET", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_TARGET_URI", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_TARGET_URI; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.STANDARD_TYPE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_STANDARD_TYPE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.THUMBNAILING_FAILED", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_THUMBNAILING_FAILED; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.THUMBNAIL_PATH", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_THUMBNAIL_PATH; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_ACCESS", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_ACCESS; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_ACCESS_USEC", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_ACCESS_USEC; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_CHANGED", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_CHANGED; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_CHANGED_USEC", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_CHANGED_USEC; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_CREATED", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_CREATED; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_CREATED_USEC", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_CREATED_USEC; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_MODIFIED", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_MODIFIED; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TIME_MODIFIED_USEC", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TIME_MODIFIED_USEC; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TRASH_DELETION_DATE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TRASH_DELETION_DATE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TRASH_ITEM_COUNT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TRASH_ITEM_COUNT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.TRASH_ORIG_PATH", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_TRASH_ORIG_PATH; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_BLOCKS", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_BLOCKS; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_BLOCK_SIZE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_BLOCK_SIZE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_DEVICE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_GID", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_GID; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_INODE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_INODE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_IS_MOUNTPOINT", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_MODE", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_MODE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_NLINK", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_NLINK; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_RDEV", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_RDEV; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "FileAttribute.UNIX_UID", since = "vala-0.16")] + public const string FILE_ATTRIBUTE_UNIX_UID; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "Menu.ATTRIBUTE_ACTION", since = "vala-0.16")] + public const string MENU_ATTRIBUTE_ACTION; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "Menu.ATTRIBUTE_LABEL", since = "vala-0.16")] + public const string MENU_ATTRIBUTE_LABEL; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "Menu.ATTRIBUTE_TARGET", since = "vala-0.16")] + public const string MENU_ATTRIBUTE_TARGET; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "Menu.LINK_SECTION_SECTION", since = "vala-0.16")] + public const string MENU_LINK_SECTION; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "Menu.LINK_SUBMENU", since = "vala-0.16")] + public const string MENU_LINK_SUBMENU; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.NATIVE_VOLUME_MONITOR", since = "vala-0.16")] + public const string NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.NETWORK_MONITOR", since = "vala-0.16")] + public const string NETWORK_MONITOR_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.PROXY", since = "vala-0.16")] + public const string PROXY_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.PROXY_RESOLVER", since = "vala-0.16")] + public const string PROXY_RESOLVER_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.TLS_BACKEND", since = "vala-0.16")] + public const string TLS_BACKEND_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_CLIENT", since = "vala-0.16")] + public const string TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "TlsDatabase.PURPOSE_AUTHENTICATE_SERVER", since = "vala-0.16")] + public const string TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.VFS", since = "vala-0.16")] + public const string VFS_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "GLib.VolumeIdentifier.HAL_UDI", since = "vala-0.16")] + public const string VOLUME_IDENTIFIER_KIND_HAL_UDI; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "GLib.VolumeIdentifier.LABEL", since = "vala-0.16")] + public const string VOLUME_IDENTIFIER_KIND_LABEL; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "GLib.VolumeIdentifier.NFS_MOUNT", since = "vala-0.16")] + public const string VOLUME_IDENTIFIER_KIND_NFS_MOUNT; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "GLib.VolumeIdentifier.UNIX_DEVICE", since = "vala-0.16")] + public const string VOLUME_IDENTIFIER_KIND_UNIX_DEVICE; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "GLib.VolumeIdentifier.UUID", since = "vala-0.16")] + public const string VOLUME_IDENTIFIER_KIND_UUID; + [CCode (cheader_filename = "gio/gio.h")] + [Deprecated (replacement = "IOExtensionPoint.VOLUME_MONITOR", since = "vala-0.16")] + public const string VOLUME_MONITOR_EXTENSION_POINT_NAME; + [CCode (cheader_filename = "gio/gio.h")] + public static bool action_name_is_valid (string action_name); + [CCode (cheader_filename = "gio/gio.h")] + public static bool action_parse_detailed_name (string detailed_name, out string action_name, out GLib.Variant target_value) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static string action_print_detailed_name (string action_name, GLib.Variant? target_value); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_can_be_executable")] + [Deprecated (replacement = "GLib.ContentType.can_be_executable", since = "vala-0.12")] + public static bool g_content_type_can_be_executable (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_equals")] + [Deprecated (replacement = "GLib.ContentType.equals", since = "vala-0.12")] + public static bool g_content_type_equals (string type1, string type2); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_from_mime_type")] + [Deprecated (replacement = "GLib.ContentType.from_mime_type", since = "vala-0.12")] + public static string? g_content_type_from_mime_type (string mime_type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_description")] + [Deprecated (replacement = "GLib.ContentType.get_description", since = "vala-0.12")] + public static string g_content_type_get_description (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_icon")] + [Deprecated (replacement = "GLib.ContentType.get_icon", since = "vala-0.12")] + public static GLib.Icon g_content_type_get_icon (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_get_mime_type")] + [Deprecated (replacement = "GLib.ContentType.get_mime_type", since = "vala-0.12")] + public static string? g_content_type_get_mime_type (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_guess")] + [Deprecated (replacement = "GLib.ContentType.guess", since = "vala-0.12")] + public static string g_content_type_guess (string filename, uchar[] data, out bool result_uncertain); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_guess_for_tree")] + [Deprecated (replacement = "GLib.ContentType.guess_for_tree", since = "vala-0.12")] + public static string g_content_type_guess_for_tree (GLib.File root); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_is_a")] + [Deprecated (replacement = "GLib.ContentType.is_a", since = "vala-0.12")] + public static bool g_content_type_is_a (string type, string supertype); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_type_is_unknown")] + [Deprecated (replacement = "GLib.ContentType.is_unknown", since = "vala-0.12")] + public static bool g_content_type_is_unknown (string type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_content_types_get_registered")] + [Deprecated (replacement = "ContentType.list_registered", since = "vala-0.16")] + public static GLib.List g_content_types_get_registered (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_for_bus_sync")] + [Deprecated (replacement = "BusType.get_address_sync", since = "vala-0.16")] + public static unowned string g_dbus_address_get_for_bus_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream")] + [Deprecated (replacement = "DBus.address_get_stream", since = "vala-0.16")] + public static async void g_dbus_address_get_stream (string address, GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream_finish")] + [Deprecated (replacement = "DBus.address_get_stream_finish", since = "vala-0.16")] + public static unowned GLib.IOStream g_dbus_address_get_stream_finish (GLib.AsyncResult res, string out_guid) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_address_get_stream_sync")] + [Deprecated (replacement = "DBus.address_get_stream_sync", since = "vala-0.16")] + public static unowned GLib.IOStream g_dbus_address_get_stream_sync (string address, string out_guid, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_encode_gerror")] + [Deprecated (replacement = "DBusError.encode_gerror", since = "vala-0.16")] + public static unowned string g_dbus_error_encode_gerror (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_get_remote_error")] + [Deprecated (replacement = "DBusError.get_remote_error", since = "vala-0.16")] + public static unowned string g_dbus_error_get_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_is_remote_error")] + [Deprecated (replacement = "DBusError.error_is_remote_error", since = "vala-0.16")] + public static bool g_dbus_error_is_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_new_for_dbus_error")] + [Deprecated (replacement = "DBusError.new_for_dbus_error", since = "vala-0.16")] + public static unowned GLib.Error g_dbus_error_new_for_dbus_error (string dbus_error_name, string dbus_error_message); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_quark")] + [Deprecated (replacement = "DBusError.quark", since = "vala-0.16")] + public static GLib.Quark g_dbus_error_quark (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_register_error")] + [Deprecated (replacement = "DBusError.register_error", since = "vala-0.16")] + public static bool g_dbus_error_register_error (GLib.Quark error_domain, int error_code, string dbus_error_name); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_register_error_domain")] + [Deprecated (replacement = "DBusError.register_error_domain", since = "vala-0.16")] + public static void g_dbus_error_register_error_domain (string error_domain_quark_name, size_t quark_volatile, GLib.DBusErrorEntry entries, uint num_entries); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_set_dbus_error")] + [Deprecated (replacement = "DBusError.set_dbus_error", since = "vala-0.16")] + public static void g_dbus_error_set_dbus_error (string dbus_error_name, string dbus_error_message, string format) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_set_dbus_error_valist")] + [Deprecated (replacement = "DBusError.set_dbus_error_valist", since = "vala-0.16")] + public static void g_dbus_error_set_dbus_error_valist (string dbus_error_name, string dbus_error_message, string format, void* var_args) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_strip_remote_error")] + [Deprecated (replacement = "DBusError.strip_remote_error", since = "vala-0.16")] + public static bool g_dbus_error_strip_remote_error (GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_error_unregister_error")] + [Deprecated (replacement = "DBusError.unregister_error", since = "vala-0.16")] + public static bool g_dbus_error_unregister_error (GLib.Quark error_domain, int error_code, string dbus_error_name); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_generate_guid")] + [Deprecated (replacement = "DBus.generate_guid", since = "vala-0.16")] + public static unowned string g_dbus_generate_guid (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_gvalue_to_gvariant")] + [Deprecated (replacement = "DBus.gvalue_to_gvariant", since = "vala-0.16")] + public static unowned GLib.Variant g_dbus_gvalue_to_gvariant (GLib.Value gvalue, GLib.VariantType type); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_gvariant_to_gvalue")] + [Deprecated (replacement = "DBus.gvariant_to_gvalue", since = "vala-0.16")] + public static void g_dbus_gvariant_to_gvalue (GLib.Variant value, GLib.Value out_gvalue); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_address")] + [Deprecated (replacement = "DBus.is_address", since = "vala-0.16")] + public static bool g_dbus_is_address (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_guid")] + [Deprecated (replacement = "DBus.is_guid", since = "vala-0.16")] + public static bool g_dbus_is_guid (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_interface_name")] + [Deprecated (replacement = "DBus.is_interface_name", since = "vala-0.16")] + public static bool g_dbus_is_interface_name (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_member_name")] + [Deprecated (replacement = "DBus.is_member_name", since = "vala-0.16")] + public static bool g_dbus_is_member_name (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_name")] + [Deprecated (replacement = "DBus.is_name", since = "vala-0.16")] + public static bool g_dbus_is_name (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_supported_address")] + [Deprecated (replacement = "DBus.is_supported_address", since = "vala-0.16")] + public static bool g_dbus_is_supported_address (string str) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h", cname = "g_dbus_is_unique_name")] + [Deprecated (replacement = "DBus.is_unique_name", since = "vala-0.16")] + public static bool g_dbus_is_unique_name (string str); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_error_from_errno")] + [Deprecated (replacement = "IOError.from_errno", since = "vala-0.16")] + public static unowned GLib.IOError g_io_error_from_errno (int err_no); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_error_quark")] + [Deprecated (replacement = "IOError.quark", since = "vala-0.16")] + public static GLib.Quark g_io_error_quark (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory")] + [Deprecated (replacement = "IOModule.load_all_in_directory", since = "vala-0.16")] + public static GLib.List g_io_modules_load_all_in_directory (string dirname); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_load_all_in_directory_with_scope")] + [Deprecated (replacement = "IOModule.load_all_in_directory_with_scope", since = "vala-0.16")] + public static unowned GLib.List g_io_modules_load_all_in_directory_with_scope (string dirname, GLib.IOModuleScope scope); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory")] + [Deprecated (replacement = "IOModule.scan_all_in_directory", since = "vala-0.16")] + public static void g_io_modules_scan_all_in_directory (string dirname); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_modules_scan_all_in_directory_with_scope")] + [Deprecated (replacement = "IOModule.xscan_all_in_directory_with_scope", since = "vala-0.16")] + public static void g_io_modules_scan_all_in_directory_with_scope (string dirname, GLib.IOModuleScope scope); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_cancel_all_jobs")] + [Deprecated (replacement = "IOSchedulerJob.cancel_all", since = "vala-0.16")] + public static void g_io_scheduler_cancel_all_jobs (); + [CCode (cheader_filename = "gio/gio.h", cname = "g_io_scheduler_push_job")] + [Deprecated (replacement = "IOSchedulerJob.push", since = "vala-0.16")] + public static void g_io_scheduler_push_job (owned GLib.IOSchedulerJobFunc job_func, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null); + [CCode (cheader_filename = "gio/gio.h", cname = "g_pollable_source_new")] + [Deprecated (replacement = "PollableSource", since = "vala-0.16")] + public static unowned GLib.TimeoutSource g_pollable_source_new (GLib.Object pollable_stream); + [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_error_in_idle")] + [Deprecated (replacement = "report_error_in_idle", since = "vala-0.16")] + public static void g_simple_async_report_error_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Quark domain, int code, string format); + [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_gerror_in_idle")] + [Deprecated (replacement = "report_gerror_in_idle", since = "vala-0.16")] + public static void g_simple_async_report_gerror_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_simple_async_report_take_gerror_in_idle")] + [Deprecated (replacement = "report_take_gerror_in_idle", since = "vala-0.16")] + public static void g_simple_async_report_take_gerror_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Error error); + [CCode (cheader_filename = "gio/gio.h", cname = "g_tls_error_quark")] + [Deprecated (replacement = "TlsError.quark", since = "vala-0.16")] + public static GLib.Quark g_tls_error_quark (); + [CCode (cheader_filename = "gio/gio.h")] + public static void networking_init (); + [CCode (cheader_filename = "gio/gio.h")] + public static ssize_t pollable_stream_read (GLib.InputStream stream, [CCode (array_length_cname = "count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static ssize_t pollable_stream_write (GLib.OutputStream stream, [CCode (array_length_cname = "count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static bool pollable_stream_write_all (GLib.OutputStream stream, [CCode (array_length_cname = "count", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] buffer, bool blocking, out size_t bytes_written, GLib.Cancellable? cancellable = null) throws GLib.Error; + [CCode (array_length = false, array_null_terminated = true, cheader_filename = "gio/gio.h")] + public static string[] resources_enumerate_children (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static bool resources_get_info (string path, GLib.ResourceLookupFlags lookup_flags, out size_t size, out uint32 flags) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.Bytes resources_lookup_data (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static GLib.InputStream resources_open_stream (string path, GLib.ResourceLookupFlags lookup_flags) throws GLib.Error; + [CCode (cheader_filename = "gio/gio.h")] + public static void resources_register (GLib.Resource resource); + [CCode (cheader_filename = "gio/gio.h")] + public static void resources_unregister (GLib.Resource resource); +} diff --git a/ext/webvideo/vapis/glib-2.0.vapi b/ext/webvideo/vapis/glib-2.0.vapi new file mode 100644 index 0000000..d0d3321 --- /dev/null +++ b/ext/webvideo/vapis/glib-2.0.vapi @@ -0,0 +1,5320 @@ +/* glib-2.0.vala + * + * Copyright (C) 2006-2014 Jürg Billeter + * Copyright (C) 2006-2008 Raffaele Sandrini + * Copyright (C) 2007 Mathias Hasselmann + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * As a special exception, if you use inline functions from this file, this + * file does not by itself cause the resulting executable to be covered by + * the GNU Lesser General Public License. + * + * Author: + * Jürg Billeter + * Raffaele Sandrini + * Mathias Hasselmann + */ + +[SimpleType] +[GIR (name = "gboolean")] +[CCode (cname = "gboolean", cheader_filename = "glib.h", type_id = "G_TYPE_BOOLEAN", marshaller_type_name = "BOOLEAN", get_value_function = "g_value_get_boolean", set_value_function = "g_value_set_boolean", default_value = "FALSE", type_signature = "b")] +[BooleanType] +public struct bool { + public string to_string () { + if (this) { + return "true"; + } else { + return "false"; + } + } + + public static bool parse (string str) { + if (str == "true") { + return true; + } else { + return false; + } + } + public static bool try_parse (string str, out bool result = null) { + if (str == "true") { + result = true; + return true; + } else if (str == "false") { + result = false; + return true; + } else { + result = false; + return false; + } + } +} + +[SimpleType] +[GIR (name = "gint8")] +[CCode (cname = "gchar", cprefix = "g_ascii_", cheader_filename = "glib.h", type_id = "G_TYPE_CHAR", marshaller_type_name = "CHAR", get_value_function = "g_value_get_char", set_value_function = "g_value_set_char", default_value = "\'\\0\'", type_signature = "y")] +[IntegerType (rank = 2, min = 0, max = 127)] +public struct char { + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%c"); + public bool isalnum (); + public bool isalpha (); + public bool iscntrl (); + public bool isdigit (); + public bool isgraph (); + public bool islower (); + public bool isprint (); + public bool ispunct (); + public bool isspace (); + public bool isupper (); + public bool isxdigit (); + public int digit_value (); + public int xdigit_value (); + public char tolower (); + public char toupper (); + + [CCode (cname = "MIN")] + public static char min (char a, char b); + [CCode (cname = "MAX")] + public static char max (char a, char b); + [CCode (cname = "CLAMP")] + public char clamp (char low, char high); +} + +[SimpleType] +[GIR (name = "guint8")] +[CCode (cname = "guchar", cheader_filename = "glib.h", type_id = "G_TYPE_UCHAR", marshaller_type_name = "UCHAR", get_value_function = "g_value_get_uchar", set_value_function = "g_value_set_uchar", default_value = "\'\\0\'", type_signature = "y")] +[IntegerType (rank = 3, min = 0, max = 255)] +public struct uchar { + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hhu"); + + [CCode (cname = "MIN")] + public static uchar min (uchar a, uchar b); + [CCode (cname = "MAX")] + public static uchar max (uchar a, uchar b); + [CCode (cname = "CLAMP")] + public uchar clamp (uchar low, uchar high); +} + +[SimpleType] +[GIR (name = "gint")] +[CCode (cname = "gint", cheader_filename = "glib.h", type_id = "G_TYPE_INT", marshaller_type_name = "INT", get_value_function = "g_value_get_int", set_value_function = "g_value_set_int", default_value = "0", type_signature = "i")] +[IntegerType (rank = 6)] +public struct int { + [CCode (cname = "G_MININT")] + public const int MIN; + [CCode (cname = "G_MAXINT")] + public const int MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%i"); + + [CCode (cname = "MIN")] + public static int min (int a, int b); + [CCode (cname = "MAX")] + public static int max (int a, int b); + [CCode (cname = "CLAMP")] + public int clamp (int low, int high); + + [CCode (cname = "GINT_TO_POINTER")] + public void* to_pointer (); + + [CCode (cname = "abs", cheader_filename = "stdlib.h")] + public int abs (); + + [CCode (cname = "GINT_TO_BE")] + public int to_big_endian (); + [CCode (cname = "GINT_TO_LE")] + public int to_little_endian (); + + [CCode (cname = "GINT_FROM_BE")] + public static int from_big_endian (int val); + [CCode (cname = "GINT_FROM_LE")] + public static int from_little_endian (int val); + + [CCode (cname = "atoi", cheader_filename = "stdlib.h")] + public static int parse (string str); +} + +[SimpleType] +[GIR (name = "guint")] +[CCode (cname = "guint", cheader_filename = "glib.h", type_id = "G_TYPE_UINT", marshaller_type_name = "UINT", get_value_function = "g_value_get_uint", set_value_function = "g_value_set_uint", default_value = "0U", type_signature = "u")] +[IntegerType (rank = 7)] +public struct uint { + [CCode (cname = "0")] + public const uint MIN; + [CCode (cname = "G_MAXUINT")] + public const uint MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%u"); + + [CCode (cname = "MIN")] + public static uint min (uint a, uint b); + [CCode (cname = "MAX")] + public static uint max (uint a, uint b); + [CCode (cname = "CLAMP")] + public uint clamp (uint low, uint high); + + [CCode (cname = "GUINT_TO_POINTER")] + public void* to_pointer (); + + [CCode (cname = "GUINT_TO_BE")] + public uint to_big_endian (); + [CCode (cname = "GUINT_TO_LE")] + public uint to_little_endian (); + + [CCode (cname = "GUINT_FROM_BE")] + public static uint from_big_endian (uint val); + [CCode (cname = "GUINT_FROM_LE")] + public static uint from_little_endian (uint val); +} + +[SimpleType] +[GIR (name = "gshort")] +[CCode (cname = "gshort", cheader_filename = "glib.h", has_type_id = false, default_value = "0", type_signature = "n")] +[IntegerType (rank = 4, min = -32768, max = 32767)] +public struct short { + [CCode (cname = "G_MINSHORT")] + public const short MIN; + [CCode (cname = "G_MAXSHORT")] + public const short MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hi"); + + [CCode (cname = "MIN")] + public static short min (short a, short b); + [CCode (cname = "MAX")] + public static short max (short a, short b); + [CCode (cname = "CLAMP")] + public short clamp (short low, short high); + [CCode (cname = "abs", cheader_filename = "stdlib.h")] + public short abs (); +} + +[SimpleType] +[GIR (name = "gushort")] +[CCode (cname = "gushort", cheader_filename = "glib.h", has_type_id = false, default_value = "0U", type_signature = "q")] +[IntegerType (rank = 5, min = 0, max = 65535)] +public struct ushort { + [CCode (cname = "0U")] + public const ushort MIN; + [CCode (cname = "G_MAXUSHORT")] + public const ushort MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hu"); + + [CCode (cname = "MIN")] + public static ushort min (ushort a, ushort b); + [CCode (cname = "MAX")] + public static ushort max (ushort a, ushort b); + [CCode (cname = "CLAMP")] + public ushort clamp (ushort low, ushort high); +} + +[SimpleType] +[GIR (name = "glong")] +[CCode (cname = "glong", cheader_filename = "glib.h", type_id = "G_TYPE_LONG", marshaller_type_name = "LONG", get_value_function = "g_value_get_long", set_value_function = "g_value_set_long", default_value = "0L")] +[IntegerType (rank = 8)] +public struct long { + [CCode (cname = "G_MINLONG")] + public const long MIN; + [CCode (cname = "G_MAXLONG")] + public const long MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%li"); + + [CCode (cname = "MIN")] + public static long min (long a, long b); + [CCode (cname = "MAX")] + public static long max (long a, long b); + [CCode (cname = "CLAMP")] + public long clamp (long low, long high); + [CCode (cname = "labs", cheader_filename = "stdlib.h")] + public long abs (); + + [CCode (cname = "GLONG_TO_BE")] + public long to_big_endian (); + [CCode (cname = "GLONG_TO_LE")] + public long to_little_endian (); + + [CCode (cname = "GLONG_FROM_BE")] + public static long from_big_endian (long val); + [CCode (cname = "GLONG_FROM_LE")] + public static long from_little_endian (long val); + + [CCode (cname = "atol", cheader_filename = "stdlib.h")] + public static long parse (string str); +} + +[SimpleType] +[GIR (name = "gulong")] +[CCode (cname = "gulong", cheader_filename = "glib.h", type_id = "G_TYPE_ULONG", marshaller_type_name = "ULONG", get_value_function = "g_value_get_ulong", set_value_function = "g_value_set_ulong", default_value = "0UL")] +[IntegerType (rank = 9)] +public struct ulong { + [CCode (cname = "0UL")] + public const ulong MIN; + [CCode (cname = "G_MAXULONG")] + public const ulong MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%lu"); + + [CCode (cname = "MIN")] + public static ulong min (ulong a, ulong b); + [CCode (cname = "MAX")] + public static ulong max (ulong a, ulong b); + [CCode (cname = "CLAMP")] + public ulong clamp (ulong low, ulong high); + + [CCode (cname = "GULONG_TO_BE")] + public ulong to_big_endian (); + [CCode (cname = "GULONG_TO_LE")] + public ulong to_little_endian (); + + [CCode (cname = "GULONG_FROM_BE")] + public static ulong from_big_endian (ulong val); + [CCode (cname = "GULONG_FROM_LE")] + public static ulong from_little_endian (ulong val); +} + +[SimpleType] +[GIR (name = "gulong")] +[CCode (cname = "gsize", cheader_filename = "glib.h", type_id = "G_TYPE_ULONG", marshaller_type_name = "ULONG", get_value_function = "g_value_get_ulong", set_value_function = "g_value_set_ulong", default_value = "0UL")] +[IntegerType (rank = 9)] +public struct size_t { + [CCode (cname = "0UL")] + public const ulong MIN; + [CCode (cname = "G_MAXSIZE")] + public const ulong MAX; + + [CCode (cname = "G_GSIZE_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GSIZE_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%" + FORMAT); + + [CCode (cname = "GSIZE_TO_POINTER")] + public void* to_pointer (); + + [CCode (cname = "MIN")] + public static size_t min (size_t a, size_t b); + [CCode (cname = "MAX")] + public static size_t max (size_t a, size_t b); + [CCode (cname = "CLAMP")] + public size_t clamp (size_t low, size_t high); +} + +[SimpleType] +[GIR (name = "glong")] +[CCode (cname = "gssize", cheader_filename = "glib.h", type_id = "G_TYPE_LONG", marshaller_type_name = "LONG", get_value_function = "g_value_get_long", set_value_function = "g_value_set_long", default_value = "0L")] +[IntegerType (rank = 8)] +public struct ssize_t { + [CCode (cname = "G_MINSSIZE")] + public const long MIN; + [CCode (cname = "G_MAXSSIZE")] + public const long MAX; + + [CCode (cname = "G_GSSIZE_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GSIZE_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%" + FORMAT); + + [CCode (cname = "MIN")] + public static ssize_t min (ssize_t a, ssize_t b); + [CCode (cname = "MAX")] + public static ssize_t max (ssize_t a, ssize_t b); + [CCode (cname = "CLAMP")] + public ssize_t clamp (ssize_t low, ssize_t high); +} + +[SimpleType] +[GIR (name = "gint8")] +[CCode (cname = "gint8", cheader_filename = "glib.h", type_id = "G_TYPE_CHAR", marshaller_type_name = "CHAR", get_value_function = "g_value_get_char", set_value_function = "g_value_set_char", default_value = "0", type_signature = "y")] +[IntegerType (rank = 1, min = -128, max = 127)] +public struct int8 { + [CCode (cname = "G_MININT8")] + public const int8 MIN; + [CCode (cname = "G_MAXINT8")] + public const int8 MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hhi"); + + [CCode (cname = "MIN")] + public static int8 min (int8 a, int8 b); + [CCode (cname = "MAX")] + public static int8 max (int8 a, int8 b); + [CCode (cname = "CLAMP")] + public int8 clamp (int8 low, int8 high); +} + +[SimpleType] +[GIR (name = "guint8")] +[CCode (cname = "guint8", cheader_filename = "glib.h", type_id = "G_TYPE_UCHAR", marshaller_type_name = "UCHAR", get_value_function = "g_value_get_uchar", set_value_function = "g_value_set_uchar", default_value = "0U", type_signature = "y")] +[IntegerType (rank = 3, min = 0, max = 255)] +public struct uint8 { + [CCode (cname = "0U")] + public const uint8 MIN; + [CCode (cname = "G_MAXUINT8")] + public const uint8 MAX; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hhu"); + + [CCode (cname = "MIN")] + public static uint8 min (uint8 a, uint8 b); + [CCode (cname = "MAX")] + public static uint8 max (uint8 a, uint8 b); + [CCode (cname = "CLAMP")] + public uint8 clamp (uint8 low, uint8 high); +} + +[SimpleType] +[GIR (name = "gint16")] +[CCode (cname = "gint16", cheader_filename = "glib.h", default_value = "0", type_signature = "n", has_type_id = false)] +[IntegerType (rank = 4, min = -32768, max = 32767)] +public struct int16 { + [CCode (cname = "G_MININT16")] + public const int16 MIN; + [CCode (cname = "G_MAXINT16")] + public const int16 MAX; + + [CCode (cname = "G_GINT16_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT16_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%" + FORMAT); + + [CCode (cname = "MIN")] + public static int16 min (int16 a, int16 b); + [CCode (cname = "MAX")] + public static int16 max (int16 a, int16 b); + [CCode (cname = "CLAMP")] + public int16 clamp (int16 low, int16 high); + + [CCode (cname = "GINT16_TO_BE")] + public int16 to_big_endian (); + [CCode (cname = "GINT16_TO_LE")] + public int16 to_little_endian (); + + [CCode (cname = "GINT16_FROM_BE")] + public static int16 from_big_endian (int16 val); + [CCode (cname = "GINT16_FROM_LE")] + public static int16 from_little_endian (int16 val); +} + +[SimpleType] +[GIR (name = "guint16")] +[CCode (cname = "guint16", cheader_filename = "glib.h", default_value = "0U", type_signature = "q", has_type_id = false)] +[IntegerType (rank = 5, min = 0, max = 65535)] +public struct uint16 { + [CCode (cname = "0U")] + public const uint16 MIN; + [CCode (cname = "G_MAXUINT16")] + public const uint16 MAX; + + [CCode (cname = "G_GUINT16_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT16_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%hu"); + + [CCode (cname = "MIN")] + public static uint16 min (uint16 a, uint16 b); + [CCode (cname = "MAX")] + public static uint16 max (uint16 a, uint16 b); + [CCode (cname = "CLAMP")] + public uint16 clamp (uint16 low, uint16 high); + + [CCode (cname = "GUINT16_TO_BE")] + public uint16 to_big_endian (); + [CCode (cname = "GUINT16_TO_LE")] + public uint16 to_little_endian (); + + [CCode (cname = "GUINT16_FROM_BE")] + public static uint16 from_big_endian (uint16 val); + [CCode (cname = "GUINT16_FROM_LE")] + public static uint16 from_little_endian (uint16 val); + + [CCode (cname = "g_htons")] + public static uint16 to_network (uint16 val); + [CCode (cname = "g_ntohs")] + public static uint16 from_network (uint16 val); + + [CCode (cname = "GUINT16_SWAP_BE_PDP")] + public uint16 swap_big_endian_pdp (); + [CCode (cname = "GUINT16_SWAP_LE_BE")] + public uint16 swap_little_endian_big_endian (); + [CCode (cname = "GUINT16_SWAP_LE_PDP")] + public uint16 swap_little_endian_pdp (); +} + +[SimpleType] +[GIR (name = "gint32")] +[CCode (cname = "gint32", cheader_filename = "glib.h", type_id = "G_TYPE_INT", marshaller_type_name = "INT", get_value_function = "g_value_get_int", set_value_function = "g_value_set_int", default_value = "0", type_signature = "i")] +[IntegerType (rank = 6)] +public struct int32 { + [CCode (cname = "G_MININT32")] + public const int32 MIN; + [CCode (cname = "G_MAXINT32")] + public const int32 MAX; + + [CCode (cname = "G_GINT32_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT32_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%i"); + + [CCode (cname = "MIN")] + public static int32 min (int32 a, int32 b); + [CCode (cname = "MAX")] + public static int32 max (int32 a, int32 b); + [CCode (cname = "CLAMP")] + public int32 clamp (int32 low, int32 high); + + [CCode (cname = "GINT32_TO_BE")] + public int32 to_big_endian (); + [CCode (cname = "GINT32_TO_LE")] + public int32 to_little_endian (); + + [CCode (cname = "GINT32_FROM_BE")] + public static int32 from_big_endian (int32 val); + [CCode (cname = "GINT32_FROM_LE")] + public static int32 from_little_endian (int32 val); +} + +[SimpleType] +[GIR (name = "guint32")] +[CCode (cname = "guint32", cheader_filename = "glib.h", type_id = "G_TYPE_UINT", marshaller_type_name = "UINT", get_value_function = "g_value_get_uint", set_value_function = "g_value_set_uint", default_value = "0U", type_signature = "u")] +[IntegerType (rank = 7)] +public struct uint32 { + [CCode (cname = "0U")] + public const uint32 MIN; + [CCode (cname = "G_MAXUINT32")] + public const uint32 MAX; + + [CCode (cname = "G_GUINT32_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT32_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%u"); + + [CCode (cname = "MIN")] + public static uint32 min (uint32 a, uint32 b); + [CCode (cname = "MAX")] + public static uint32 max (uint32 a, uint32 b); + [CCode (cname = "CLAMP")] + public uint32 clamp (uint32 low, uint32 high); + + [CCode (cname = "GUINT32_TO_BE")] + public uint32 to_big_endian (); + [CCode (cname = "GUINT32_TO_LE")] + public uint32 to_little_endian (); + + [CCode (cname = "GUINT32_FROM_BE")] + public static uint32 from_big_endian (uint32 val); + [CCode (cname = "GUINT32_FROM_LE")] + public static uint32 from_little_endian (uint32 val); + + [CCode (cname = "g_htonl")] + public static uint32 to_network (uint32 val); + [CCode (cname = "g_ntohl")] + public static uint32 from_network (uint32 val); + + [CCode (cname = "GUINT32_SWAP_BE_PDP")] + public uint32 swap_big_endian_pdp (); + [CCode (cname = "GUINT32_SWAP_LE_BE")] + public uint32 swap_little_endian_big_endian (); + [CCode (cname = "GUINT32_SWAP_LE_PDP")] + public uint32 swap_little_endian_pdp (); +} + +[SimpleType] +[GIR (name = "gint64")] +[CCode (cname = "gint64", cheader_filename = "glib.h", type_id = "G_TYPE_INT64", marshaller_type_name = "INT64", get_value_function = "g_value_get_int64", set_value_function = "g_value_set_int64", default_value = "0LL", type_signature = "x")] +[IntegerType (rank = 10)] +public struct int64 { + [CCode (cname = "G_MININT64")] + public const int64 MIN; + [CCode (cname = "G_MAXINT64")] + public const int64 MAX; + + [CCode (cname = "G_GINT64_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT64_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%" + FORMAT); + + [CCode (cname = "MIN")] + public static int64 min (int64 a, int64 b); + [CCode (cname = "MAX")] + public static int64 max (int64 a, int64 b); + [CCode (cname = "CLAMP")] + public int64 clamp (int64 low, int64 high); + [CCode (cname = "llabs", cheader_filename = "stdlib.h")] + public int64 abs (); + + [CCode (cname = "GINT64_TO_BE")] + public int64 to_big_endian (); + [CCode (cname = "GINT64_TO_LE")] + public int64 to_little_endian (); + + [CCode (cname = "GINT64_FROM_BE")] + public static int64 from_big_endian (int64 val); + [CCode (cname = "GINT64_FROM_LE")] + public static int64 from_little_endian (int64 val); + + [CCode (cname = "GUINT64_SWAP_LE_BE")] + public uint64 swap_little_endian_big_endian (); + + [CCode (cname = "g_ascii_strtoll")] + static int64 ascii_strtoll (string nptr, out char* endptr, uint _base); + + public static int64 parse (string str) { + return ascii_strtoll (str, null, 0); + } + public static bool try_parse (string str, out int64 result = null) { + char* endptr; + result = ascii_strtoll (str, out endptr, 0); + if (endptr == (char*) str + str.length) { + return true; + } else { + return false; + } + } +} + +[SimpleType] +[GIR (name = "guint64")] +[CCode (cname = "guint64", cheader_filename = "glib.h", type_id = "G_TYPE_UINT64", marshaller_type_name = "UINT64", get_value_function = "g_value_get_uint64", set_value_function = "g_value_set_uint64", default_value = "0ULL", type_signature = "t")] +[IntegerType (rank = 11)] +public struct uint64 { + [CCode (cname = "0ULL")] + public const uint64 MIN; + [CCode (cname = "G_MAXUINT64")] + public const uint64 MAX; + + [CCode (cname = "G_GUINT64_FORMAT")] + public const string FORMAT; + [CCode (cname = "G_GINT64_MODIFIER")] + public const string FORMAT_MODIFIER; + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%" + FORMAT); + + [CCode (cname = "MIN")] + public static uint64 min (uint64 a, uint64 b); + [CCode (cname = "MAX")] + public static uint64 max (uint64 a, uint64 b); + [CCode (cname = "CLAMP")] + public uint64 clamp (uint64 low, uint64 high); + + [CCode (cname = "GUINT64_TO_BE")] + public uint64 to_big_endian (); + [CCode (cname = "GUINT64_TO_LE")] + public uint64 to_little_endian (); + + [CCode (cname = "GUINT64_FROM_BE")] + public static uint64 from_big_endian (uint64 val); + [CCode (cname = "GUINT64_FROM_LE")] + public static uint64 from_little_endian (uint64 val); + + [CCode (cname = "g_ascii_strtoull")] + static uint64 ascii_strtoull (string nptr, out char* endptr, uint _base); + + public static uint64 parse (string str) { + return ascii_strtoull (str, null, 0); + } + public static bool try_parse (string str, out uint64 result = null) { + char* endptr; + result = ascii_strtoull (str, out endptr, 0); + if (endptr == (char*) str + str.length) { + return true; + } else { + return false; + } + } +} + +[SimpleType] +[GIR (name = "gfloat")] +[CCode (cname = "gfloat", cheader_filename = "glib.h,float.h,math.h", type_id = "G_TYPE_FLOAT", marshaller_type_name = "FLOAT", get_value_function = "g_value_get_float", set_value_function = "g_value_set_float", default_value = "0.0F")] +[FloatingType (rank = 1)] +public struct float { + [CCode (cname = "FLT_ROUNDS")] + public const int ROUNDS; + [CCode (cname = "FLT_RADIX")] + public const int RADIX; + [CCode (cname = "FLT_MANT_DIG")] + public const int MANT_DIG; + [CCode (cname = "FLT_DIG")] + public const int DIG; + + [CCode (cname = "FLT_MIN_EXP")] + public const int MIN_EXP; + [CCode (cname = "FLT_MAX_EXP")] + public const int MAX_EXP; + + [CCode (cname = "FLT_MIN_10_EXP")] + public const int MIN_10_EXP; + [CCode (cname = "FLT_MAX_10_EXP")] + public const int MAX_10_EXP; + + [CCode (cname = "FLT_EPSILON")] + public const float EPSILON; + [CCode (cname = "FLT_MIN")] + public const float MIN; + [CCode (cname = "FLT_MAX")] + public const float MAX; + + [CCode (cname = "NAN")] + public const float NAN; + [CCode (cname = "INFINITY")] + public const float INFINITY; + + [CCode (cname = "isnan")] + public bool is_nan (); + [CCode (cname = "isfinite")] + public bool is_finite (); + [CCode (cname = "isnormal")] + public bool is_normal (); + [CCode (cname = "isinf")] + public int is_infinity (); + + [CCode (cname = "g_strdup_printf", instance_pos = -1)] + public string to_string (string format = "%g"); + + [CCode (cname = "MIN")] + public static float min (float a, float b); + [CCode (cname = "MAX")] + public static float max (float a, float b); + [CCode (cname = "CLAMP")] + public float clamp (float low, float high); +} + +[SimpleType] +[GIR (name = "gdouble")] +[CCode (cname = "gdouble", cheader_filename = "glib.h,float.h,math.h", type_id = "G_TYPE_DOUBLE", marshaller_type_name = "DOUBLE", get_value_function = "g_value_get_double", set_value_function = "g_value_set_double", default_value = "0.0", type_signature = "d")] +[FloatingType (rank = 2)] +public struct double { + [CCode (cname = "DBL_MANT_DIG")] + public const int MANT_DIG; + [CCode (cname = "DBL_DIG")] + public const int DIG; + + [CCode (cname = "DBL_MIN_EXP")] + public const int MIN_EXP; + [CCode (cname = "DBL_MAX_EXP")] + public const int MAX_EXP; + + [CCode (cname = "DBL_MIN_10_EXP")] + public const int MIN_10_EXP; + [CCode (cname = "DBL_MAX_10_EXP")] + public const int MAX_10_EXP; + + [CCode (cname = "DBL_EPSILON")] + public const double EPSILON; + [CCode (cname = "DBL_MIN")] + public const double MIN; + [CCode (cname = "DBL_MAX")] + public const double MAX; + + [CCode (cname = "((double) NAN)")] + public const double NAN; + [CCode (cname = "((double) INFINITY)")] + public const double INFINITY; + + [CCode (cname = "isnan")] + public bool is_nan (); + [CCode (cname = "isfinite")] + public bool is_finite (); + [CCode (cname = "isnormal")] + public bool is_normal (); + [CCode (cname = "isinf")] + public int is_infinity (); + + [CCode (cname = "MIN")] + public static double min (double a, double b); + [CCode (cname = "MAX")] + public static double max (double a, double b); + [CCode (cname = "CLAMP")] + public double clamp (double low, double high); + + [CCode (cname = "G_ASCII_DTOSTR_BUF_SIZE")] + public const int DTOSTR_BUF_SIZE; + [CCode (cname = "g_ascii_dtostr", instance_pos = -1)] + public unowned string to_str (char[] buffer); + [CCode (cname = "g_ascii_formatd", instance_pos = -1)] + public unowned string format (char[] buffer, string format = "%g"); + + public string to_string () { + return this.to_str(new char[DTOSTR_BUF_SIZE]); + } + + [CCode (cname = "g_ascii_strtod")] + static double ascii_strtod (string nptr, out char* endptr); + + public static double parse (string str) { + return ascii_strtod (str, null); + } + public static bool try_parse (string str, out double result = null) { + char* endptr; + result = ascii_strtod (str, out endptr); + if (endptr == (char*) str + str.length) { + return true; + } else { + return false; + } + } +} + +[GIR (name = "glong")] +[CCode (cheader_filename = "time.h", has_type_id = false, default_value = "0")] +[IntegerType (rank = 8)] +public struct time_t { + [CCode (cname = "time")] + public time_t (out time_t result = null); +} + +[SimpleType] +[CCode (cheader_filename="stdarg.h", cprefix="va_", has_type_id = false, destroy_function = "va_end", lvalue_access = false)] +public struct va_list { + [CCode (cname = "va_start")] + public va_list (); + [CCode (cname = "va_copy")] + public va_list.copy (va_list src); + [CCode (generic_type_pos = 1.1)] + public unowned G arg (); +} + +[SimpleType] +[GIR (name = "gunichar")] +[CCode (cname = "gunichar", cprefix = "g_unichar_", cheader_filename = "glib.h", type_id = "G_TYPE_UINT", marshaller_type_name = "UINT", get_value_function = "g_value_get_uint", set_value_function = "g_value_set_uint", default_value = "0U", type_signature = "u")] +[IntegerType (rank = 7)] +public struct unichar { + public bool validate (); + public bool isalnum (); + public bool isalpha (); + public bool iscntrl (); + public bool isdigit (); + public bool isgraph (); + public bool islower (); + public bool ismark (); + public bool isprint (); + public bool ispunct (); + public bool isspace (); + public bool isupper (); + public bool isxdigit (); + public bool istitle (); + public bool isdefined (); + public bool iswide (); + public bool iswide_cjk (); + public bool iszerowidth (); + public unichar toupper (); + public unichar tolower (); + public unichar totitle (); + public int digit_value (); + public int xdigit_value (); + public GLib.UnicodeType type (); + public GLib.UnicodeBreakType break_type (); + public GLib.UnicodeScript get_script(); + + public int to_utf8 (string? outbuf); + + public string? to_string () { + string str = (string) new char[7]; + this.to_utf8 (str); + return str; + } + + public bool compose (unichar b, out unichar ch); + public bool decompose (out unichar a, out unichar b); + public size_t fully_decompose (bool compat, unichar[] result); + + [CCode (cname = "MIN")] + public static unichar min (unichar a, unichar b); + [CCode (cname = "MAX")] + public static unichar max (unichar a, unichar b); + [CCode (cname = "CLAMP")] + public unichar clamp (unichar low, unichar high); + + [CCode (cname = "G_UNICHAR_MAX_DECOMPOSITION_LENGTH")] + public const int MAX_DECOMPOSITION_LENGTH; +} + +[Compact] +[Immutable] +[GIR (name = "utf8")] +[CCode (cname = "gchar", const_cname = "const gchar", copy_function = "g_strdup", free_function = "g_free", cheader_filename = "stdlib.h,string.h,glib.h", type_id = "G_TYPE_STRING", marshaller_type_name = "STRING", param_spec_function = "g_param_spec_string", get_value_function = "g_value_get_string", set_value_function = "g_value_set_string", take_value_function = "g_value_take_string", type_signature = "s")] +public class string { + [Deprecated (replacement = "string.index_of")] + [CCode (cname = "strstr")] + public unowned string? str (string needle); + [Deprecated (replacement = "string.last_index_of")] + [CCode (cname = "g_strrstr")] + public unowned string? rstr (string needle); + [CCode (cname = "g_strrstr_len")] + public unowned string? rstr_len (ssize_t haystack_len, string needle); + + [CCode (cname = "strstr")] + static char* strstr (char* haystack, char* needle); + [CCode (cname = "g_strrstr")] + static char* strrstr (char* haystack, char* needle); + [CCode (cname = "g_utf8_strchr")] + static char* utf8_strchr (char* str, ssize_t len, unichar c); + [CCode (cname = "g_utf8_strrchr")] + static char* utf8_strrchr (char* str, ssize_t len, unichar c); + + public int index_of (string needle, int start_index = 0) { + char* result = strstr ((char*) this + start_index, (char*) needle); + + if (result != null) { + return (int) (result - (char*) this); + } else { + return -1; + } + } + + public int last_index_of (string needle, int start_index = 0) { + char* result = strrstr ((char*) this + start_index, (char*) needle); + + if (result != null) { + return (int) (result - (char*) this); + } else { + return -1; + } + } + + public int index_of_char (unichar c, int start_index = 0) { + char* result = utf8_strchr ((char*) this + start_index, -1, c); + + if (result != null) { + return (int) (result - (char*) this); + } else { + return -1; + } + } + + public int last_index_of_char (unichar c, int start_index = 0) { + char* result = utf8_strrchr ((char*) this + start_index, -1, c); + + if (result != null) { + return (int) (result - (char*) this); + } else { + return -1; + } + } + + [CCode (cname = "g_str_has_prefix")] + public bool has_prefix (string prefix); + [CCode (cname = "g_str_has_suffix")] + public bool has_suffix (string suffix); + [CCode (cname = "g_strdup_printf"), PrintfFormat] + public string printf (...); + [CCode (cname = "g_strdup_vprintf")] + public string vprintf (va_list args); + [CCode (cname = "sscanf", cheader_filename = "stdio.h"), ScanfFormat] + public int scanf (...); + [CCode (cname = "g_strconcat")] + public string concat (string string2, ...); + [CCode (cname = "g_strescape")] + public string escape (string exceptions); + [CCode (cname = "g_strcompress")] + public string compress (); + [CCode (cname = "g_strsplit", array_length = false, array_null_terminated = true)] + public string[] split (string delimiter, int max_tokens = 0); + [CCode (cname = "g_strsplit_set", array_length = false, array_null_terminated = true)] + public string[] split_set (string delimiters, int max_tokens = 0); + [CCode (cname = "g_stpcpy")] + private static void* copy_to_buffer (void* dest, string src); + [CCode (cname = "_vala_g_strjoinv")] + public static string joinv (string? separator, string?[]? str_array) { + if (separator == null) { + separator = ""; + } + if (str_array != null || str_array.length > 0 || (str_array.length == -1 && str_array[0] != null)) { + int i; + size_t len = 1; + for (i = 0 ; (str_array.length != -1 && i < str_array.length) || (str_array.length == -1 && str_array[i] != null) ; i++) { + len += (str_array[i] != null) ? ((!) str_array[i]).length : 0; + } + if (i == 0) { + return ""; + } + str_array.length = i; + len += ((!) separator).length * (i - 1); + + string* res = GLib.malloc (len); + void* ptr = string.copy_to_buffer ((void*) res, (!) str_array[0]); + for (i = 1 ; i < str_array.length ; i++) { + ptr = string.copy_to_buffer (ptr, (!) separator); + ptr = string.copy_to_buffer (ptr, (str_array[i] != null) ? ((!) str_array[i]) : ""); + } + + return (owned) res; + } else { + return ""; + } + } + [CCode (cname = "g_strjoin")] + public static string join (string separator, ...); + [CCode (cname = "g_strnfill")] + public static string nfill (size_t length, char fill_char); + + public char get (long index) { + return ((char*) this)[index]; + } + + // checks whether valid string character starts at specified index + // embedded NULs are not supported by the string class + public bool valid_char (int index) { + uint8 c = ((uint8*) this)[index]; + if (c == 0x00 || (c >= 0x80 && c < 0xc2) || c >= 0xf5) { + return false; + } else { + return true; + } + } + + [CCode (cname = "g_utf8_next_char")] + public unowned string next_char (); + [CCode (cname = "g_utf8_next_char")] + static char* utf8_next_char (char* str); + public bool get_next_char (ref int index, out unichar c) { + c = utf8_get_char ((char*) this + index); + if (c != 0) { + index = (int) (utf8_next_char ((char*) this + index) - (char*) this); + return true; + } else { + return false; + } + } + [CCode (cname = "g_utf8_get_char")] + static unichar utf8_get_char (char* str); + public unichar get_char (long index = 0) { + return utf8_get_char ((char*) this + index); + } + [CCode (cname = "g_utf8_get_char_validated")] + public unichar get_char_validated (ssize_t max_len = -1); + + [Deprecated (replacement = "string.index_of_nth_char")] + [CCode (cname = "g_utf8_offset_to_pointer")] + public unowned string utf8_offset (long offset); + public unowned string offset (long offset) { + return (string) ((char*) this + offset); + } + [Deprecated (replacement = "string.char_count")] + public long pointer_to_offset (string pos) { + return (long) ((char*) pos - (char*) this); + } + + [CCode (cname = "g_utf8_offset_to_pointer")] + char* utf8_offset_to_pointer (long offset); + + public int index_of_nth_char (long c) { + return (int) (this.utf8_offset_to_pointer (c) - (char*) this); + } + + [CCode (cname = "g_utf8_prev_char")] + public unowned string prev_char (); + [CCode (cname = "g_utf8_prev_char")] + static char* utf8_prev_char (char* str); + public bool get_prev_char (ref int index, out unichar c) { + if (0 < index) { + index = (int) (utf8_prev_char ((char*) this + index) - (char*) this); + c = utf8_get_char ((char*) this + index); + return true; + } else { + c = 0; + return false; + } + } + + [Deprecated (replacement = "string.length")] + [CCode (cname = "strlen")] + public long len (); + [Deprecated (replacement = "string.index_of_char")] + [CCode (cname = "g_utf8_strchr")] + public unowned string chr (ssize_t len, unichar c); + [Deprecated (replacement = "string.last_index_of_char")] + [CCode (cname = "g_utf8_strrchr")] + public unowned string rchr (ssize_t len, unichar c); + [CCode (cname = "g_utf8_strreverse")] + public string reverse (ssize_t len = -1); + [CCode (cname = "g_utf8_validate")] + public bool validate (ssize_t max_len = -1, out char* end = null); + [CCode (cname = "g_utf8_normalize")] + public string normalize (ssize_t len = -1, GLib.NormalizeMode mode = GLib.NormalizeMode.DEFAULT); + + [CCode (cname = "g_utf8_strup")] + public string up (ssize_t len = -1); + [CCode (cname = "g_utf8_strdown")] + public string down (ssize_t len = -1); + [CCode (cname = "g_utf8_casefold")] + public string casefold (ssize_t len = -1); + [CCode (cname = "g_utf8_collate")] + public int collate (string str2); + [CCode (cname = "g_utf8_collate_key")] + public string collate_key (ssize_t len = -1); + [CCode (cname = "g_utf8_collate_key_for_filename")] + public string collate_key_for_filename (ssize_t len = -1); + + [CCode (cname = "g_locale_to_utf8")] + public string locale_to_utf8 (ssize_t len, out size_t bytes_read, out size_t bytes_written, out GLib.Error error = null); + + [CCode (cname = "g_strchomp")] + public unowned string _chomp(); + public string chomp () { + string result = this.dup (); + result._chomp (); + return result; + } + + [CCode (cname = "g_strchug")] + public unowned string _chug(); + public string chug () { + string result = this.dup (); + result._chug (); + return result; + } + + [CCode (cname = "g_strstrip")] + public unowned string _strip (); + public string strip () { + string result = this.dup (); + result._strip (); + return result; + } + + [CCode (cname = "g_strdelimit")] + public unowned string _delimit (string delimiters, char new_delimiter); + public string delimit (string delimiters, char new_delimiter) { + string result = this.dup (); + result._delimit (delimiters, new_delimiter); + return result; + } + + [CCode (cname = "g_str_hash")] + public uint hash (); + + [CCode (cname = "g_str_is_ascii")] + public bool is_ascii (); + [CCode (instance_pos = "1.5", cname = "g_str_match_string")] + public bool match_string (string search_term, bool accept_alternates); + [Deprecated (replacement = "int.parse")] + [CCode (cname = "atoi")] + public int to_int (); + [Deprecated (replacement = "long.parse")] + [CCode (cname = "strtol")] + public long to_long (out unowned string endptr = null, int _base = 0); + [Deprecated (replacement = "double.parse")] + [CCode (cname = "g_ascii_strtod")] + public double to_double (out unowned string endptr = null); + [Deprecated (replacement = "uint64.parse")] + [CCode (cname = "strtoul")] + public ulong to_ulong (out unowned string endptr = null, int _base = 0); + [Deprecated (replacement = "int64.parse")] + [CCode (cname = "g_ascii_strtoll")] + public int64 to_int64 (out unowned string endptr = null, int _base = 0); + [Deprecated (replacement = "uint64.parse")] + [CCode (cname = "g_ascii_strtoull")] + public uint64 to_uint64 (out unowned string endptr = null, int _base = 0); + [CCode (cname = "g_str_tokenize_and_fold", array_length = false, array_null_terminated = true)] + public string[] tokenize_and_fold (string transit_locale, [CCode (array_length = false, array_null_terminated = true)] out string[] ascii_alternates); + + [Deprecated (replacement = "bool.parse")] + public bool to_bool () { + if (this == "true") { + return true; + } else { + return false; + } + } + + [Deprecated (replacement = "string.length")] + [CCode (cname = "strlen")] + public size_t size (); + + [CCode (cname = "g_ascii_strcasecmp")] + public int ascii_casecmp (string s2); + [CCode (cname = "g_ascii_strncasecmp")] + public int ascii_ncasecmp (string s2, size_t n); + [CCode (cname = "g_ascii_strup")] + public string ascii_up (ssize_t len = -1); + [CCode (cname = "g_ascii_strdown")] + public string ascii_down (ssize_t len = -1); + + [CCode (cname = "g_utf8_skip")] + public static char[] skip; + + /* modifies string in place */ + [CCode (cname = "g_strcanon")] + public void canon (string valid_chars, char substitutor); + + [CCode (cname = "g_strdup")] + public string dup (); + [Deprecated (replacement = "string.substring")] + [CCode (cname = "g_strndup")] + public string ndup (size_t n); + + [CCode (cname = "memchr")] + static char* memchr (char* s, int c, size_t n); + + // strnlen is not available on all systems + static long strnlen (char* str, long maxlen) { + char* end = memchr (str, 0, maxlen); + if (end == null) { + return maxlen; + } else { + return (long) (end - str); + } + } + + [CCode (cname = "g_strndup")] + static string strndup (char* str, size_t n); + + public string substring (long offset, long len = -1) { + long string_length; + if (offset >= 0 && len >= 0) { + // avoid scanning whole string + string_length = strnlen ((char*) this, offset + len); + } else { + string_length = this.length; + } + + if (offset < 0) { + offset = string_length + offset; + GLib.return_val_if_fail (offset >= 0, null); + } else { + GLib.return_val_if_fail (offset <= string_length, null); + } + if (len < 0) { + len = string_length - offset; + } + GLib.return_val_if_fail (offset + len <= string_length, null); + return strndup ((char*) this + offset, len); + } + + public string slice (long start, long end) { + long string_length = this.length; + if (start < 0) { + start = string_length + start; + } + if (end < 0) { + end = string_length + end; + } + GLib.return_val_if_fail (start >= 0 && start <= string_length, null); + GLib.return_val_if_fail (end >= 0 && end <= string_length, null); + GLib.return_val_if_fail (start <= end, null); + return strndup ((char*) this + start, end - start); + } + + public string splice (long start, long end, string? str = null) { + long string_length = this.length; + if (start < 0) { + start = string_length + start; + } + if (end < 0) { + end = string_length + end; + } + GLib.return_val_if_fail (start >= 0 && start <= string_length, null); + GLib.return_val_if_fail (end >= 0 && end <= string_length, null); + GLib.return_val_if_fail (start <= end, null); + + size_t str_size; + if (str == null) { + str_size = 0; + } else { + str_size = ((!)(str)).length; + } + + string* result = GLib.malloc0 (this.length - (end - start) + str_size + 1); + + char* dest = (char*) result; + + GLib.Memory.copy (dest, this, start); + dest += start; + + GLib.Memory.copy (dest, str, str_size); + dest += str_size; + + GLib.Memory.copy (dest, (char*) this + end, string_length - end); + + return (owned) result; + } + + public bool contains (string needle) { + return strstr ((char*) this, (char*) needle) != null; + } + + public string replace (string old, string replacement) { + try { + var regex = new GLib.Regex (GLib.Regex.escape_string (old)); + return regex.replace_literal (this, -1, 0, replacement); + } catch (GLib.RegexError e) { + GLib.assert_not_reached (); + } + } + + [CCode (cname = "g_utf8_strlen")] + public int char_count (ssize_t max = -1); + + public int length { + [CCode (cname = "strlen")] + get; + } + + public uint8[] data { + get { + unowned uint8[] res = (uint8[]) this; + res.length = (int) this.length; + return res; + } + } + + public char[] to_utf8 () { + char[] result = new char[this.length + 1]; + result.length--; + GLib.Memory.copy (result, this, this.length); + return result; + } + + public unowned string to_string () { + return this; + } +} + +[CCode (cprefix = "G", lower_case_cprefix = "g_", cheader_filename = "glib.h", gir_namespace = "GLib", gir_version = "2.0")] +namespace GLib { + [CCode (lower_case_cprefix = "", cheader_filename = "math.h")] + namespace Math { + [CCode (cname = "G_E")] + public const double E; + + [CCode (cname = "G_PI")] + public const double PI; + + [CCode (cname = "G_LN2")] + public const double LN2; + + [CCode (cname = "G_LN10")] + public const double LN10; + + [CCode (cname = "G_PI_2")] + public const double PI_2; + + [CCode (cname = "G_PI_4")] + public const double PI_4; + + [CCode (cname = "G_SQRT2")] + public const double SQRT2; + + [CCode (cname = "G_LOG_2_BASE_10")] + public const double LOG_2_BASE_10; + + /* generated from of glibc */ + public static double acos (double x); + public static float acosf (float x); + public static double asin (double x); + public static float asinf (float x); + public static double atan (double x); + public static float atanf (float x); + public static double atan2 (double y, double x); + public static float atan2f (float y, float x); + public static double cos (double x); + public static float cosf (float x); + public static double sin (double x); + public static float sinf (float x); + public static double tan (double x); + public static float tanf (float x); + public static double cosh (double x); + public static float coshf (float x); + public static double sinh (double x); + public static float sinhf (float x); + public static double tanh (double x); + public static float tanhf (float x); + public static void sincos (double x, out double sinx, out double cosx); + public static void sincosf (float x, out float sinx, out float cosx); + public static double acosh (double x); + public static float acoshf (float x); + public static double asinh (double x); + public static float asinhf (float x); + public static double atanh (double x); + public static float atanhf (float x); + public static double exp (double x); + public static float expf (float x); + public static double frexp (double x, out int exponent); + public static float frexpf (float x, out int exponent); + public static double ldexp (double x, int exponent); + public static float ldexpf (float x, int exponent); + public static double log (double x); + public static float logf (float x); + public static double log10 (double x); + public static float log10f (float x); + public static double modf (double x, out double iptr); + public static float modff (float x, out float iptr); + public static double exp10 (double x); + public static float exp10f (float x); + public static double pow10 (double x); + public static float pow10f (float x); + public static double expm1 (double x); + public static float expm1f (float x); + public static double log1p (double x); + public static float log1pf (float x); + public static double logb (double x); + public static float logbf (float x); + public static double exp2 (double x); + public static float exp2f (float x); + public static double log2 (double x); + public static float log2f (float x); + public static double pow (double x, double y); + public static float powf (float x, float y); + public static double sqrt (double x); + public static float sqrtf (float x); + public static double hypot (double x, double y); + public static float hypotf (float x, float y); + public static double cbrt (double x); + public static float cbrtf (float x); + public static double ceil (double x); + public static float ceilf (float x); + public static double fabs (double x); + public static float fabsf (float x); + public static double floor (double x); + public static float floorf (float x); + public static double fmod (double x, double y); + public static float fmodf (float x, float y); + public static int isinf (double value); + public static int isinff (float value); + public static int finite (double value); + public static int finitef (float value); + public static double drem (double x, double y); + public static float dremf (float x, float y); + public static double significand (double x); + public static float significandf (float x); + public static double copysign (double x, double y); + public static float copysignf (float x, float y); + public static double nan (string tagb); + public static float nanf (string tagb); + public static int isnan (double value); + public static int isnanf (float value); + public static double j0 (double x0); + public static float j0f (float x0); + public static double j1 (double x0); + public static float j1f (float x0); + public static double jn (int x0, double x1); + public static float jnf (int x0, float x1); + public static double y0 (double x0); + public static float y0f (float x0); + public static double y1 (double x0); + public static float y1f (float x0); + public static double yn (int x0, double x1); + public static float ynf (int x0, float x1); + public static double erf (double x0); + public static float erff (float x0); + public static double erfc (double x0); + public static float erfcf (float x0); + public static double lgamma (double x0); + public static float lgammaf (float x0); + public static double tgamma (double x0); + public static float tgammaf (float x0); + public static double gamma (double x0); + public static float gammaf (float x0); + public static double lgamma_r (double x0, out int signgamp); + public static float lgamma_rf (float x0, out int signgamp); + public static double rint (double x); + public static float rintf (float x); + public static double nextafter (double x, double y); + public static float nextafterf (float x, float y); + public static double nexttoward (double x, double y); + public static float nexttowardf (float x, double y); + public static double remainder (double x, double y); + public static float remainderf (float x, float y); + public static double scalbn (double x, int n); + public static float scalbnf (float x, int n); + public static int ilogb (double x); + public static int ilogbf (float x); + public static double scalbln (double x, long n); + public static float scalblnf (float x, long n); + public static double nearbyint (double x); + public static float nearbyintf (float x); + public static double round (double x); + public static float roundf (float x); + public static double trunc (double x); + public static float truncf (float x); + public static double remquo (double x, double y, out int quo); + public static float remquof (float x, float y, out int quo); + public static long lrint (double x); + public static long lrintf (float x); + public static int64 llrint (double x); + public static int64 llrintf (float x); + public static long lround (double x); + public static long lroundf (float x); + public static int64 llround (double x); + public static int64 llroundf (float x); + public static double fdim (double x, double y); + public static float fdimf (float x, float y); + public static double fmax (double x, double y); + public static float fmaxf (float x, float y); + public static double fmin (double x, double y); + public static float fminf (float x, float y); + public static double fma (double x, double y, double z); + public static float fmaf (float x, float y, float z); + public static double scalb (double x, double n); + public static float scalbf (float x, float n); + } + + /* Byte order */ + [CCode (cprefix = "G_", cname = "int", has_type_id = false)] + public enum ByteOrder { + [CCode (cname = "G_BYTE_ORDER")] + HOST, + LITTLE_ENDIAN, + BIG_ENDIAN, + PDP_ENDIAN + } + + public const ByteOrder BYTE_ORDER; + + /* Atomic Operations */ + + namespace AtomicInt { + public static int get ([CCode (type = "volatile gint *")] ref int atomic); + public static void set ([CCode (type = "volatile gint *")] ref int atomic, int newval); +#if GLIB_2_30 + public static int add ([CCode (type = "volatile gint *")] ref int atomic, int val); +#else + public static void add ([CCode (type = "volatile gint *")] ref int atomic, int val); +#endif + [Deprecated (since = "2.30", replacement = "add")] + public static int exchange_and_add ([CCode (type = "volatile gint *")] ref int atomic, int val); + public static bool compare_and_exchange ([CCode (type = "volatile gint *")] ref int atomic, int oldval, int newval); + public static void inc ([CCode (type = "volatile gint *")] ref int atomic); + public static bool dec_and_test ([CCode (type = "volatile gint *")] ref int atomic); + } + + namespace AtomicPointer { + public static void* get ([CCode (type = "volatile gpointer *")] void** atomic); + public static void set ([CCode (type = "volatile gpointer *")] void** atomic, void* newval); + public static bool compare_and_exchange ([CCode (type = "volatile gpointer *")] void** atomic, void* oldval, void* newval); + } + + /* The Main Event Loop */ + + [Compact] + [CCode (ref_function = "g_main_loop_ref", unref_function = "g_main_loop_unref")] + public class MainLoop { + public MainLoop (MainContext? context = null, bool is_running = false); + public void run (); + public void quit (); + public bool is_running (); + public unowned MainContext get_context (); + } + + namespace Priority { + public const int HIGH; + public const int DEFAULT; + public const int HIGH_IDLE; + public const int DEFAULT_IDLE; + public const int LOW; + } + + [Compact] + [CCode (ref_function = "g_main_context_ref", unref_function = "g_main_context_unref")] + public class MainContext { + public MainContext (); + public static unowned MainContext @default (); + public bool iteration (bool may_block); + public bool pending (); + public unowned Source find_source_by_id (uint source_id); + public unowned Source find_source_by_user_data (void* user_data); + public unowned Source find_source_by_funcs_user_data (SourceFuncs funcs, void* user_data); + public void wakeup (); + public bool acquire (); + public void release (); + public bool is_owner (); + public bool wait (Cond cond, Mutex mutex); + public bool prepare (out int priority); + public int query (int max_priority, out int timeout_, PollFD[] fds); + [CCode (array_length = false)] + public int check (int max_priority, PollFD[] fds, int n_fds); + public void dispatch (); + public void set_poll_func (PollFunc func); + public PollFunc get_poll_func (); + public void add_poll (ref PollFD fd, int priority); + public void remove_poll (ref PollFD fd); + public int depth (); + [CCode (cname = "g_main_current_source")] + public static unowned Source current_source (); + public static unowned MainContext? get_thread_default (); + public static MainContext ref_thread_default (); + public void push_thread_default (); + public void pop_thread_default (); + [CCode (cname = "g_main_context_invoke_full")] + public void invoke (owned SourceFunc function, [CCode (pos = 0.1)] int priority = Priority.DEFAULT); + public void invoke_full (int priority, owned SourceFunc function); + } + + [CCode (has_target = false)] + public delegate int PollFunc (PollFD[] ufds, int timeout_); + + [CCode (cname = "GSource")] + public class TimeoutSource : Source { + public TimeoutSource (uint interval); + public TimeoutSource.seconds (uint interval); + } + + namespace Timeout { + [CCode (cname = "g_timeout_add_full")] + public static uint add (uint interval, owned SourceFunc function, [CCode (pos = 0.1)] int priority = Priority.DEFAULT); + public static uint add_full (int priority, uint interval, owned SourceFunc function); + [CCode (cname = "g_timeout_add_seconds_full")] + public static uint add_seconds (uint interval, owned SourceFunc function, [CCode (pos = 0.1)] int priority = Priority.DEFAULT); + public static uint add_seconds_full (int priority, uint interval, owned SourceFunc function); + } + + [CCode (cname = "GSource")] + public class IdleSource : Source { + public IdleSource (); + } + + namespace Idle { + [CCode (cname = "g_idle_add_full")] + public static uint add (owned SourceFunc function, [CCode (pos = 0.1)] int priority = Priority.DEFAULT_IDLE); + public static uint add_full (int priority, owned SourceFunc function); + public static bool remove_by_data (void* data); + } + + [CCode (type_id = "G_TYPE_INT", marshaller_type_name = "INT", get_value_function = "g_value_get_int", set_value_function = "g_value_set_int", default_value = "0")] + [IntegerType (rank = 6)] + public struct Pid : int { + } + + public delegate void ChildWatchFunc (Pid pid, int status); + + [CCode (cname = "GSource")] + public class ChildWatchSource : Source { + public ChildWatchSource (Pid pid); + } + + namespace ChildWatch { + [CCode (cname = "g_child_watch_add_full")] + public static uint add (Pid pid, owned ChildWatchFunc function, [CCode (pos = 0.1)] int priority = Priority.DEFAULT_IDLE); + public static uint add_full (int priority, Pid pid, owned ChildWatchFunc function); + } + + public struct PollFD { + public int fd; + public IOCondition events; + public IOCondition revents; + } + + [Compact] + [CCode (ref_function = "g_source_ref", unref_function = "g_source_unref")] + public abstract class Source { + protected Source (); + public void set_funcs (SourceFuncs funcs); + public uint attach (MainContext? context); + public void destroy (); + public bool is_destroyed (); + public void set_priority (int priority); + public int get_priority (); + public void set_can_recurse (bool can_recurse); + public bool get_can_recurse (); + public uint get_id (); + public unowned string? get_name (); + public void set_name (string? name); + public static void set_name_by_id (uint tag, string? name); + public unowned MainContext get_context (); + public void set_callback (owned SourceFunc func); + public void set_callback_indirect (void* callback_data, SourceCallbackFuncs callback_funcs); + public void* add_unix_fd (int fd, IOCondition events); + public void remove_unix_fd (void* tag); + public void modify_unix_fd (void* tag, IOCondition new_events); + public IOCondition query_unix_fd (void* tag); + public void add_poll (ref PollFD fd); + public void remove_poll (ref PollFD fd); + public void add_child_source (Source child_source); + public void remove_child_source (Source child_source); + public int64 get_time (); + [Deprecated (since = "2.28", replacement = "get_time")] + public void get_current_time (out TimeVal timeval); + public void set_ready_time (int64 ready_time); + public int64 get_ready_time (); + public static bool remove (uint id); + public static bool remove_by_funcs_user_data (void* user_data); + public static bool remove_by_user_data (void* user_data); +#if GLIB_2_32 + [CCode (cname = "G_SOURCE_CONTINUE")] + public static const bool CONTINUE; + [CCode (cname = "G_SOURCE_REMOVE")] + public static const bool REMOVE; +#endif + + protected abstract bool prepare (out int timeout_); + protected abstract bool check (); + protected abstract bool dispatch (SourceFunc _callback); + } + + [CCode (has_target = false)] + public delegate void SourceDummyMarshal (); + + [CCode (has_target = false)] + public delegate bool SourcePrepareFunc (Source source, out int timeout_); + [CCode (has_target = false)] + public delegate bool SourceCheckFunc (Source source); + [CCode (has_target = false)] + public delegate bool SourceDispatchFunc (Source source, SourceFunc _callback); + [CCode (has_target = false)] + public delegate void SourceFinalizeFunc (Source source); + + public struct SourceFuncs { + public SourcePrepareFunc prepare; + public SourceCheckFunc check; + public SourceDispatchFunc dispatch; + public SourceFinalizeFunc finalize; + } + + [CCode (has_target = false)] + public delegate void SourceCallbackRefFunc (void* cb_data); + [CCode (has_target = false)] + public delegate void SourceCallbackUnrefFunc (void* cb_data); + [CCode (has_target = false)] + public delegate void SourceCallbackGetFunc (void* cb_data, Source source, SourceFunc func); + + [Compact] + public class SourceCallbackFuncs { + public SourceCallbackRefFunc @ref; + public SourceCallbackUnrefFunc unref; + public SourceCallbackGetFunc @get; + } + + public delegate bool SourceFunc (); + + public errordomain ThreadError { + AGAIN + } + + /* Thread support */ + + [CCode (scope = "async")] + public delegate G ThreadFunc (); + public delegate void Func (G data); + + public uint get_num_processors (); + + [CCode (has_type_id = false)] + public enum ThreadPriority { + LOW, + NORMAL, + HIGH, + URGENT + } + + [Compact] +#if GLIB_2_32 + [CCode (ref_function = "g_thread_ref", unref_function = "g_thread_unref")] +#endif + public class Thread { +#if GLIB_2_32 + public Thread (string? name, owned ThreadFunc func); + [CCode (cname = "g_thread_try_new")] + public Thread.try (string? name, owned ThreadFunc func) throws GLib.Error; +#endif + public static bool supported (); + [Deprecated (since = "2.32", replacement = "new Thread ()")] + [CCode (simple_generics = true)] + public static unowned Thread create (owned ThreadFunc func, bool joinable) throws ThreadError; + [Deprecated (since = "2.32", replacement = "new Thread ()")] + [CCode (simple_generics = true)] + public static unowned Thread create_full (owned ThreadFunc func, ulong stack_size, bool joinable, bool bound, ThreadPriority priority) throws ThreadError; + [CCode (simple_generics = true)] + public static unowned Thread self (); + [DestroysInstance] + public T join (); + [Deprecated (since = "2.32")] + public void set_priority (ThreadPriority priority); + public static void yield (); + public static void exit (T retval); + [Deprecated (since = "2.32")] + public static void @foreach (Func thread_func); + + [CCode (cname = "g_usleep")] + public static void usleep (ulong microseconds); + } + +#if GLIB_2_32 + [CCode (destroy_function = "g_mutex_clear", lvalue_access = false)] + public struct Mutex { +#else + [Compact] + [CCode (free_function = "g_mutex_free")] + [Deprecated (since = "glib-2.32", replacement = "Mutex (with --target-glib=2.32)")] + public class Mutex { +#endif + public Mutex (); + public void @lock (); + public bool trylock (); + public void unlock (); + } + + [CCode (destroy_function = "g_rec_mutex_clear")] + public struct RecMutex { + public RecMutex (); + public void lock (); + public bool trylock (); + public void unlock (); + } + + [CCode (destroy_function = "g_rw_lock_clear")] + public struct RWLock { + public RWLock (); + public void writer_lock (); + public bool writer_trylock (); + public void writer_unlock (); + public void reader_lock (); + public bool reader_trylock (); + public void reader_unlock (); + } + + [CCode (destroy_function = "g_static_mutex_free", default_value = "G_STATIC_MUTEX_INIT")] + [Deprecated (since = "glib-2.32", replacement = "Mutex")] + public struct StaticMutex { + public StaticMutex (); + public void lock (); + public bool trylock (); + public void unlock (); + public void lock_full (); + } + + [CCode (destroy_function = "g_static_rec_mutex_free", default_value = "G_STATIC_REC_MUTEX_INIT")] + [Deprecated (since = "glib-2.32", replacement = "RecMutex")] + public struct StaticRecMutex { + public StaticRecMutex (); + public void lock (); + public bool trylock (); + public void unlock (); + public void lock_full (); + } + + [CCode (destroy_function = "g_static_rw_lock_free", default_value = "G_STATIC_RW_LOCK_INIT")] + [Deprecated (since = "glib-2.32", replacement = "RWLock")] + public struct StaticRWLock { + public StaticRWLock (); + public void reader_lock (); + public bool reader_trylock (); + public void reader_unlock (); + public void writer_lock (); + public bool writer_trylock (); + public void writer_unlock (); + } + + [Compact] + [CCode (ref_function = "", unref_function = "")] + public class Private { + public Private (DestroyNotify? destroy_func = null); + public void* get (); + public void set (void* data); + public void replace (void* data); + } + + [CCode (destroy_function = "g_static_private_free", default_value = "G_STATIC_PRIVATE_INIT")] + [Deprecated (since = "glib-2.32")] + public struct StaticPrivate { + public StaticPrivate (); + public void* get (); + public void set (void* data, DestroyNotify? destroy_func); + } + +#if GLIB_2_32 + [CCode (destroy_function = "g_cond_clear", lvalue_access = false)] + public struct Cond { +#else + [Compact] + [CCode (free_function = "g_cond_free")] + [Deprecated (since = "glib-2.32", replacement = "Cond (with --target-glib=2.32)")] + public class Cond { +#endif + public Cond (); + public void @signal (); + public void broadcast (); + public void wait (Mutex mutex); + [Deprecated (since = "2.32", replacement = "wait_until")] + public bool timed_wait (Mutex mutex, TimeVal abs_time); + public bool wait_until (Mutex mutex, int64 end_time); + } + + [CCode (cname = "GThreadFunc")] + public delegate G OnceFunc (); + + [CCode (default_value = "G_ONCE_INIT")] + public struct Once { + [CCode (cname = "g_once")] + public unowned G once (OnceFunc function); + public static bool init_enter ([CCode (ctype="volatile gsize *")] size_t *value); + public static void init_leave ([CCode (ctype="volatile gsize *")] size_t *value, size_t set_value); + public OnceStatus status; + } + + [CCode (cprefix = "G_ONCE_STATUS_", has_type_id = false)] + public enum OnceStatus { + NOTCALLED, + PROGRESS, + READY + } + + /* Thread Pools */ + + [CCode (cname = "GFunc")] + public delegate void ThreadPoolFunc (owned G data); + + [Compact] + [CCode (free_function = "g_thread_pool_free")] + public class ThreadPool { + [Deprecated (since = "vala-0.18", replacement = "ThreadPool.with_owned_data")] + public ThreadPool (Func func, int max_threads, bool exclusive) throws ThreadError; + [CCode (cname = "g_thread_pool_new")] + public ThreadPool.with_owned_data (ThreadPoolFunc func, int max_threads, bool exclusive) throws ThreadError; + [Deprecated (since = "vala-0.18", replacement = "add")] + public void push (T data) throws ThreadError; + [CCode (cname = "g_thread_pool_push")] + public void add (owned T data) throws ThreadError; + public void set_max_threads (int max_threads) throws ThreadError; + public int get_max_threads (); + public uint get_num_threads (); + public uint unprocessed (); + [CCode (cname = "g_thread_pool_free")] + void _free (bool immediate, bool wait); + [CCode (cname = "vala__g_thread_pool_free_wrapper")] + public static void free (owned ThreadPool? pool, bool immediate, bool wait) { + ThreadPool* ptr = (owned) pool; + if (ptr != null) { + ((ThreadPool)ptr)._free (immediate, wait); + } + } + public static void set_max_unused_threads (int max_threads); + public static int get_max_unused_threads (); + public static uint get_num_unused_threads (); + public static void stop_unused_threads (); + public void set_sort_function (CompareDataFunc func); + public static void set_max_idle_time (uint interval); + public static uint get_max_idle_time (); + } + + /* Asynchronous Queues */ + + [Compact] + [CCode (ref_function = "g_async_queue_ref", unref_function = "g_async_queue_unref")] + public class AsyncQueue { + [CCode (cname = "g_async_queue_new_full", simple_generics = true)] + public AsyncQueue (); + public void push (owned G data); + public void push_sorted (owned G data, CompareDataFunc func); + public G pop (); + public G? try_pop (); + public G? timed_pop (ref TimeVal end_time); + public int length (); + public void sort (CompareDataFunc func); + public void @lock (); + public void unlock (); + public void ref_unlocked (); + public void unref_and_unlock (); + public void push_unlocked (owned G data); + public void push_sorted_unlocked (owned G data, CompareDataFunc func); + public G pop_unlocked (); + public G? try_pop_unlocked (); + public G? timed_pop_unlocked (ref TimeVal end_time); + public int length_unlocked (); + public void sort_unlocked (CompareDataFunc func); + } + + /* Memory Allocation */ + + public static void* malloc (size_t n_bytes); + public static void* malloc0 (size_t n_bytes); + public static void* realloc (void* mem, size_t n_bytes); + + public static void* try_malloc (size_t n_bytes); + public static void* try_malloc0 (size_t n_bytes); + public static void* try_realloc (void* mem, size_t n_bytes); + + public static void free (void* mem); + + public class MemVTable { + } + + [CCode (cname = "glib_mem_profiler_table")] + public static MemVTable mem_profiler_table; + + public static void mem_set_vtable (MemVTable vtable); + public static void mem_profile (); + + [CCode (cheader_filename = "string.h")] + namespace Memory { + [CCode (cname = "memcmp")] + public static int cmp (void* s1, void* s2, size_t n); + [CCode (cname = "memcpy")] + public static void* copy (void* dest, void* src, size_t n); + [CCode (cname = "memset")] + public static void* set (void* dest, int src, size_t n); + [CCode (cname = "g_memmove")] + public static void* move (void* dest, void* src, size_t n); + [CCode (cname = "g_memdup")] + public static void* dup (void* mem, uint n); + } + + namespace Slice { + public static void* alloc (size_t block_size); + public static void* alloc0 (size_t block_size); + public static void* copy (size_t block_size, void* mem_block); + [CCode (cname = "g_slice_free1")] + public static void free (size_t block_size, void* mem_block); + public static void free_chain_with_offset (size_t block_size, void *mem_chain, size_t next_offset); + public static int64 get_config (SliceConfig ckey); + [CCode (array_length_cname = "n_values", array_length_type = "guint")] + public static int64[] get_config_state (SliceConfig ckey, int64 address); + public static void set_config (SliceConfig ckey, int64 value); + } + + [CCode (cprefix = "G_SLICE_CONFIG_", has_type_id = false)] + public enum SliceConfig { + ALWAYS_MALLOC, + BYPASS_MAGAZINES, + WORKING_SET_MSECS, + COLOR_INCREMENT, + CHUNK_SIZES, + CONTENTION_COUNTER + } + + /* IO Channels */ + + [Compact] + [CCode (ref_function = "g_io_channel_ref", unref_function = "g_io_channel_unref")] + public class IOChannel { + [CCode (cname = "g_io_channel_unix_new")] + public IOChannel.unix_new (int fd); + public int unix_get_fd (); + [CCode (cname = "g_io_channel_win32_new_fd")] + public IOChannel.win32_new_fd (int fd); + [CCode (cname = "g_io_channel_win32_new_socket")] + public IOChannel.win32_socket (int socket); + [CCode (cname = "g_io_channel_win32_new_messages")] + public IOChannel.win32_messages (size_t hwnd); + public void init (); + public IOChannel.file (string filename, string mode) throws FileError; + public IOStatus read_chars (char[] buf, out size_t bytes_read) throws ConvertError, IOChannelError; + public IOStatus read_unichar (out unichar thechar) throws ConvertError, IOChannelError; + public IOStatus read_line (out string str_return, out size_t length, out size_t terminator_pos) throws ConvertError, IOChannelError; + public IOStatus read_line_string (StringBuilder buffer, out size_t terminator_pos) throws ConvertError, IOChannelError; + public IOStatus read_to_end (out string str_return, out size_t length) throws ConvertError, IOChannelError; + public IOStatus write_chars (char[] buf, out size_t bytes_written) throws ConvertError, IOChannelError; + public IOStatus write_unichar (unichar thechar) throws ConvertError, IOChannelError; + public IOStatus flush () throws IOChannelError; + public IOStatus seek_position (int64 offset, SeekType type) throws IOChannelError; + public IOStatus shutdown (bool flush) throws IOChannelError; + [CCode (cname = "g_io_create_watch")] + public IOSource create_watch (IOCondition condition); + [CCode (cname = "g_io_add_watch")] + public uint add_watch (IOCondition condition, IOFunc func); + [CCode (cname = "g_io_add_watch_full")] + public uint add_watch_full (int priority, IOCondition condition, owned IOFunc func); + public size_t get_buffer_size (); + public void set_buffer_size (size_t size); + public IOCondition get_buffer_condition (); + public IOFlags get_flags (); + public IOStatus set_flags (IOFlags flags) throws IOChannelError; + public unowned string get_line_term (out int length); + public void set_line_term (string line_term, int length); + public bool get_buffered (); + public void set_buffered (bool buffered); + public unowned string get_encoding (); + public IOStatus set_encoding (string? encoding) throws IOChannelError; + public bool get_close_on_unref (); + public void set_close_on_unref (bool do_close); + } + + [Compact] + [CCode (cname = "GSource")] + public class IOSource : Source { + [CCode (cname = "g_io_create_watch")] + public IOSource (IOChannel channel, IOCondition condition); + [CCode (cname = "g_source_set_callback")] + public void set_callback ([CCode (type = "GSourceFunc")] owned IOFunc func); + } + + [CCode (cprefix = "G_SEEK_", has_type_id = false)] + public enum SeekType { + CUR, + SET, + END + } + + [CCode (has_type_id = false)] + public enum IOStatus { + ERROR, + NORMAL, + EOF, + AGAIN + } + + public errordomain IOChannelError { + FBIG, + INVAL, + IO, + ISDIR, + NOSPC, + NXIO, + OVERFLOW, + PIPE, + FAILED + } + + [Flags] + [CCode (cprefix = "G_IO_")] + public enum IOCondition { + IN, + OUT, + PRI, + ERR, + HUP, + NVAL + } + + public delegate bool IOFunc (IOChannel source, IOCondition condition); + + [CCode (cprefix = "G_IO_FLAG_", has_type_id = false)] + [Flags] + public enum IOFlags { + APPEND, + NONBLOCK, + IS_READABLE, + IS_WRITABLE, + IS_WRITEABLE, + IS_SEEKABLE, + MASK, + GET_MASK, + SET_MASK + } + + /* Error Reporting */ + + [Compact] + [ErrorBase] + [CCode (copy_function = "g_error_copy", free_function = "g_error_free")] + public class Error { + [PrintfFormat] + public Error (Quark domain, int code, string format, ...); + public Error copy (); + public bool matches (Quark domain, int code); + + public Quark domain; + public int code; + public string message; + + [CCode (cname = "g_set_error")] + public static void set (ref Error e, Quark domain, int code, string format, ...); + } + + /* Message Output and Debugging Functions */ + + [PrintfFormat] + public static void print (string format, ...); + public static void set_print_handler (PrintFunc func); + [CCode (has_target = false)] + public delegate void PrintFunc (string text); + [PrintfFormat] + public static void printerr (string format, ...); + public static void set_printerr_handler (PrintFunc func); + + public static void return_if_fail (bool expr); + [CCode (sentinel = "")] + public static void return_val_if_fail (bool expr, ...); + [NoReturn] + public static void return_if_reached (); + [NoReturn] + [CCode (sentinel = "")] + public static void return_val_if_reached (...); + public static void warn_if_fail (bool expr); + public static void warn_if_reached (); + + [Assert] + public static void assert (bool expr); + [Assert] + public static void assert_false (bool expr); + [Assert] + public static void assert_true (bool expr); + [Assert] + public static void assert_null (void* expr); + [Assert] + public static void assert_nonnull (void* expr); + [NoReturn] + public static void assert_not_reached (); + + public static void on_error_query (string? prg_name = null); + public static void on_error_stack_trace (string? prg_name = null); + [CCode (cname = "G_BREAKPOINT")] + public static void breakpoint (); + + /* Message Logging */ + + [CCode (cprefix = "G_LOG_", has_type_id = false)] + [Flags] + public enum LogLevelFlags { + /* log flags */ + FLAG_RECURSION, + FLAG_FATAL, + + /* GLib log levels */ + LEVEL_ERROR, + LEVEL_CRITICAL, + LEVEL_WARNING, + LEVEL_MESSAGE, + LEVEL_INFO, + LEVEL_DEBUG, + + LEVEL_MASK + } + + public void logv (string? log_domain, LogLevelFlags log_level, string format, va_list args); + [Diagnostics] + [PrintfFormat] + public void log (string? log_domain, LogLevelFlags log_level, string format, ...); + + [Diagnostics] + [PrintfFormat] + public void message (string format, ...); + [Diagnostics] + [PrintfFormat] + public void warning (string format, ...); + [Diagnostics] + [PrintfFormat] + public void critical (string format, ...); + [Diagnostics] + [PrintfFormat] + [NoReturn] + public void error (string format, ...); + [Diagnostics] + [PrintfFormat] + public void debug (string format, ...); + [Diagnostics] + [PrintfFormat] + public void info (string format, ...); + + public delegate void LogFunc (string? log_domain, LogLevelFlags log_levels, string message); + + namespace Log { + public static uint set_handler (string? log_domain, LogLevelFlags log_levels, LogFunc log_func); + public static void set_default_handler (LogFunc log_func); + [CCode (delegate_target = false)] + public static GLib.LogFunc default_handler; + public static LogLevelFlags set_fatal_mask (string log_domain, LogLevelFlags log_levels); + public static LogLevelFlags set_always_fatal (LogLevelFlags log_levels); + public static void remove_handler (string? log_domain, uint handler_id); + + public const string FILE; + public const int LINE; + public const string METHOD; + } + + [CCode (has_type_id = false)] + public struct DebugKey { + unowned string key; + uint value; + } + + public uint parse_debug_string (string? debug_string, DebugKey[] keys); + + /* String Utility Functions */ + + public void strfreev (string** str_array); + public uint strv_length ([CCode (array_length = false, array_null_terminated = true)] string[] str_array); + public bool strv_contains ([CCode (array_length = false, array_null_terminated = true)] string[] str_array, string str); + + [CCode (cname = "errno", cheader_filename = "errno.h")] + public int errno; + public unowned string strerror (int errnum); + + /* Character Set Conversions */ + + public static string convert (string str, ssize_t len, string to_codeset, string from_codeset, out size_t bytes_read = null, out size_t bytes_written = null) throws ConvertError; + public static bool get_charset (out unowned string charset); + public static bool get_filename_charsets ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] charsets); + + [SimpleType] + public struct IConv { + public static IConv open (string to_codeset, string from_codeset); + [CCode (cname = "g_iconv")] + public uint iconv (out string inbuf, out uint inbytes_left, out string outbuf, out uint outbytes_left); + public int close (); + } + + namespace Filename { + public static string to_utf8 (string opsysstring, ssize_t len, out size_t bytes_read, out size_t bytes_written) throws ConvertError; + public static string from_utf8 (string utf8string, ssize_t len, out size_t bytes_read, out size_t bytes_written) throws ConvertError; + public static string from_uri (string uri, out string hostname = null) throws ConvertError; + public static string to_uri (string filename, string? hostname = null) throws ConvertError; + public static string display_name (string filename); + public static string display_basename (string filename); + } + + public errordomain ConvertError { + NO_CONVERSION, + ILLEGAL_SEQUENCE, + FAILED, + PARTIAL_INPUT, + BAD_URI, + NOT_ABSOLUTE_PATH + } + + /* Base64 Encoding */ + + namespace Base64 { + public static size_t encode_step (uchar[] _in, bool break_lines, char* _out, ref int state, ref int save); + public static size_t encode_close (bool break_lines, char* _out, ref int state, ref int save); + public static string encode (uchar[] data); + public static size_t decode_step (char[] _in, uchar* _out, ref int state, ref uint save); + [CCode (array_length_type = "size_t")] + public static uchar[] decode (string text); + } + + /* Data Checksums */ + + [CCode (cprefix = "G_CHECKSUM_", has_type_id = false)] + public enum ChecksumType { + MD5, + SHA1, + SHA256, + SHA512; + + public ssize_t get_length (); + } + + [Compact] + [CCode (free_function = "g_checksum_free")] + public class Checksum { + public Checksum (ChecksumType checksum_type); + public Checksum copy (); + public void update ([CCode (array_length = false)] uchar[] data, size_t length); + public unowned string get_string (); + public void get_digest ([CCode (array_length = false)] uint8[] buffer, ref size_t digest_len); + [CCode (cname = "g_compute_checksum_for_data")] + public static string compute_for_data (ChecksumType checksum_type, uchar[] data); + [CCode (cname = "g_compute_checksum_for_string")] + public static string compute_for_string (ChecksumType checksum_type, string str, size_t length = -1); + [CCode (cname = "g_compute_checksum_for_bytes")] + public static string compute_for_bytes (ChecksumType checksum_type, Bytes data); + } + + /* Secure HMAC Digests */ + + [Compact] + [CCode (ref_function = "g_hmac_ref", unref_function = "g_hmac_unref")] + public class Hmac { + public Hmac (ChecksumType digest_type, [CCode (array_length_type = "gsize")] uint8[] key); + public Hmac copy (); + public void update ([CCode (array_length_type = "gssize")] uint8[] data); + public unowned string get_string (); + public void get_digest ([CCode (array_length = false)] uint8[] buffer, ref size_t digest_len); + [CCode (cname = "g_compute_hmac_for_data")] + public static string compute_for_data (ChecksumType checksum_type, uint8[] key, uint8[] data); + [CCode (cname = "g_compute_hmac_for_string")] + public static string compute_for_string (ChecksumType checksum_type, uint8[] key, string str, size_t length = -1); + } + + /* Date and Time Functions */ + + [CCode (has_type_id = false)] + public struct TimeVal { + public long tv_sec; + public long tv_usec; + + [CCode (cname = "g_get_current_time")] + public TimeVal (); + [CCode (cname = "g_get_current_time")] + public void get_current_time (); + public void add (long microseconds); + [CCode (instance_pos = -1)] + public bool from_iso8601 (string iso_date); + public string to_iso8601 (); + } + + public static int64 get_monotonic_time (); + public static int64 get_real_time (); + + public struct DateDay : uchar { + [CCode (cname = "G_DATE_BAD_DAY")] + public static DateDay BAD_DAY; + + [CCode (cname = "g_date_valid_day")] + public bool valid (); + } + + [CCode (cprefix = "G_DATE_", has_type_id = false)] + public enum DateMonth { + BAD_MONTH, + JANUARY, + FEBRUARY, + MARCH, + APRIL, + MAY, + JUNE, + JULY, + AUGUST, + SEPTEMBER, + OCTOBER, + NOVEMBER, + DECEMBER; + + [CCode (cname = "g_date_get_days_in_month")] + public uchar get_days_in_month (DateYear year); + [CCode (cname = "g_date_valid_month")] + public bool valid (); + } + + public struct DateYear : ushort { + [CCode (cname = "G_DATE_BAD_YEAR")] + public static DateDay BAD_YEAR; + + [CCode (cname = "g_date_is_leap_year")] + public bool is_leap_year (); + [CCode (cname = "g_date_get_monday_weeks_in_year")] + public uchar get_monday_weeks_in_year (); + [CCode (cname = "g_date_get_sunday_weeks_in_year")] + public uchar get_sunday_weeks_in_year (); + [CCode (cname = "g_date_valid_year")] + public bool valid (); + } + + [CCode (cprefix = "G_DATE_", has_type_id = false)] + public enum DateWeekday { + BAD_WEEKDAY, + MONDAY, + TUESDAY, + WEDNESDAY, + THURSDAY, + FRIDAY, + SATURDAY, + SUNDAY; + + [CCode (cname = "g_date_valid_weekday")] + public bool valid (); + } + + [CCode (cprefix = "G_DATE_", has_type_id = false)] + public enum DateDMY { + DAY, + MONTH, + YEAR + } + + [CCode (type_id = "G_TYPE_DATE")] + public struct Date { + public void clear (uint n_dates = 1); + public void set_day (DateDay day); + public void set_month (DateMonth month); + public void set_year (DateYear year); + public void set_dmy (DateDay day, int month, DateYear y); + public void set_julian (uint julian_day); + public void set_time_t (time_t timet); + public void set_time_val (TimeVal timeval); + public void set_parse (string str); + public void add_days (uint n_days); + public void subtract_days (uint n_days); + public void add_months (uint n_months); + public void subtract_months (uint n_months); + public void add_years (uint n_years); + public void subtract_years (uint n_years); + public int days_between (Date date2); + public int compare (Date rhs); + public void clamp (Date min_date, Date max_date); + public void order (Date date2); + public DateDay get_day (); + public DateMonth get_month (); + public DateYear get_year (); + public uint get_julian (); + public DateWeekday get_weekday (); + public uint get_day_of_year (); + public bool is_first_of_month (); + public bool is_last_of_month (); + public uint get_monday_week_of_year (); + public uint get_sunday_week_of_year (); + public uint get_iso8601_week_of_year (); + [CCode (instance_pos = -1)] + public size_t strftime (char[] s, string format); + [CCode (cname = "g_date_to_struct_tm")] + public void to_time (out Time tm); + public bool valid (); + public static uchar get_days_in_month (DateMonth month, DateYear year); + public static bool valid_day (DateDay day); + public static bool valid_dmy (DateDay day, DateMonth month, DateYear year); + public static bool valid_julian (uint julian_date); + public static bool valid_weekday (DateWeekday weekday); + } + + [CCode (cname = "struct tm", cheader_filename = "time.h", has_type_id = false)] + public struct Time { + [CCode (cname = "tm_sec")] + public int second; + [CCode (cname = "tm_min")] + public int minute; + [CCode (cname = "tm_hour")] + public int hour; + [CCode (cname = "tm_mday")] + public int day; + [CCode (cname = "tm_mon")] + public int month; + [CCode (cname = "tm_year")] + public int year; + [CCode (cname = "tm_wday")] + public int weekday; + [CCode (cname = "tm_yday")] + public int day_of_year; + [CCode (cname = "tm_isdst")] + public int isdst; + + [CCode (cname = "gmtime_r")] + static void gmtime_r (ref time_t time, out Time result); + [CCode (cname = "localtime_r")] + static void localtime_r (ref time_t time, out Time result); + + public static Time gm (time_t time) { + Time result; + gmtime_r (ref time, out result); + return result; + } + public static Time local (time_t time) { + Time result; + localtime_r (ref time, out result); + return result; + } + + public string to_string () { + return "%04d-%02d-%02d %02d:%02d:%02d".printf (year + 1900, month + 1, day, hour, minute, second); + } + + public string format (string format) { + var buffer = new char[64]; + this.strftime (buffer, format); + return (string) buffer; + } + + [CCode (cname = "mktime")] + public time_t mktime (); + + [CCode (cname = "strftime", instance_pos = -1)] + public size_t strftime (char[] s, string format); + [CCode (cname = "strptime", instance_pos = -1)] + public unowned string? strptime (string buf, string format); + } + + [SimpleType] + [CCode (cheader_filename = "glib.h", type_id = "G_TYPE_INT64", marshaller_type_name = "INT64", get_value_function = "g_value_get_int64", set_value_function = "g_value_set_int64", default_value = "0LL", type_signature = "x")] + [IntegerType (rank = 10)] + public struct TimeSpan : int64 { + public const TimeSpan DAY; + public const TimeSpan HOUR; + public const TimeSpan MINUTE; + public const TimeSpan SECOND; + public const TimeSpan MILLISECOND; + } + + [Compact] + [CCode (ref_function = "g_date_time_ref", unref_function = "g_date_time_unref", type_id = "G_TYPE_DATE_TIME")] + public class DateTime { + public DateTime.now (TimeZone tz); + public DateTime.now_local (); + public DateTime.now_utc (); + public DateTime.from_unix_local (int64 t); + public DateTime.from_unix_utc (int64 t); + public DateTime.from_timeval_local (TimeVal tv); + public DateTime.from_timeval_utc (TimeVal tv); + public DateTime (TimeZone tz, int year, int month, int day, int hour, int minute, double seconds); + public DateTime.local (int year, int month, int day, int hour, int minute, double seconds); + public DateTime.utc (int year, int month, int day, int hour, int minute, double seconds); + public DateTime add (TimeSpan timespan); + public DateTime add_years (int years); + public DateTime add_months (int months); + public DateTime add_weeks (int weeks); + public DateTime add_days (int days); + public DateTime add_hours (int hours); + public DateTime add_minutes (int minutes); + public DateTime add_seconds (double seconds); + public DateTime add_full (int years, int months, int days, int hours = 0, int minutes = 0, double seconds = 0); + public int compare (DateTime dt); + public TimeSpan difference (DateTime begin); + public uint hash (); + public bool equal (DateTime dt); + public void get_ymd (out int year, out int month, out int day); + public int get_year (); + public int get_month (); + public int get_day_of_month (); + public int get_week_numbering_year (); + public int get_week_of_year (); + public int get_day_of_week (); + public int get_day_of_year (); + public int get_hour (); + public int get_minute (); + public int get_second (); + public int get_microsecond (); + public double get_seconds (); + public int64 to_unix (); + public bool to_timeval (out TimeVal tv); + public TimeSpan get_utc_offset (); + public unowned string get_timezone_abbreviation (); + public bool is_daylight_savings (); + public DateTime to_timezone (TimeZone tz); + public DateTime to_local (); + public DateTime to_utc (); + public string format (string format); + public string to_string () { + return this.format ("%FT%H:%M:%S%z"); + } + } + + public enum TimeType { + STANDARD, + DAYLIGHT, + UNIVERSAL + } + + [Compact] + [CCode (ref_function = "g_time_zone_ref", unref_function = "g_time_zone_unref")] + public class TimeZone { + public TimeZone (string identifier); + public TimeZone.utc (); + public TimeZone.local (); + public int find_interval (TimeType type, int64 time); + public int adjust_time (TimeType type, ref int64 time); + public unowned string get_abbreviation (int interval); + public int32 get_offset (int interval); + public bool is_dst (int interval); + } + + /* Random Numbers */ + + [Compact] + [CCode (copy_function = "g_rand_copy", free_function = "g_rand_free")] + public class Rand { + public Rand.with_seed (uint32 seed); + public Rand.with_seed_array ([CCode (array_length = false)] uint32[] seed, uint seed_length); + public Rand (); + public void set_seed (uint32 seed); + public void set_seed_array ([CCode (array_length = false)] uint32[] seed, uint seed_length); + public bool boolean (); + [CCode (cname = "g_rand_int")] + public uint32 next_int (); + public int32 int_range (int32 begin, int32 end); + [CCode (cname = "g_rand_double")] + public double next_double (); + public double double_range (double begin, double end); + } + + namespace Random { + public static void set_seed (uint32 seed); + public static bool boolean (); + [CCode (cname = "g_random_int")] + public static uint32 next_int (); + public static int32 int_range (int32 begin, int32 end); + [CCode (cname = "g_random_double")] + public static double next_double (); + public static double double_range (double begin, double end); + } + + /* Miscellaneous Utility Functions */ + + namespace Environment { + [CCode (cname = "g_get_application_name")] + public static unowned string? get_application_name (); + [CCode (cname = "g_set_application_name")] + public static void set_application_name (string application_name); + [CCode (cname = "g_get_prgname")] + public static unowned string get_prgname (); + [CCode (cname = "g_set_prgname")] + public static void set_prgname (string application_name); + [CCode (cname = "g_getenv")] + public static unowned string? get_variable (string variable); + [CCode (cname = "g_setenv")] + public static bool set_variable (string variable, string value, bool overwrite); + [CCode (cname = "g_unsetenv")] + public static void unset_variable (string variable); + [CCode (cname = "g_listenv", array_length = false, array_null_terminated = true)] + public static string[] list_variables (); + [CCode (cname = "g_get_user_name")] + public static unowned string get_user_name (); + [CCode (cname = "g_get_real_name")] + public static unowned string get_real_name (); + [CCode (cname = "g_get_user_cache_dir")] + public static unowned string get_user_cache_dir (); + [CCode (cname = "g_get_user_data_dir")] + public static unowned string get_user_data_dir (); + [CCode (cname = "g_get_user_config_dir")] + public static unowned string get_user_config_dir (); + [CCode (cname = "g_get_user_special_dir")] + public static unowned string get_user_special_dir (UserDirectory directory); + [CCode (cname = "g_get_system_data_dirs", array_length = false, array_null_terminated = true)] + public static unowned string[] get_system_data_dirs (); + [CCode (cname = "g_get_system_config_dirs", array_length = false, array_null_terminated = true)] + public static unowned string[] get_system_config_dirs (); + [CCode (cname = "g_get_host_name")] + public static unowned string get_host_name (); + [CCode (cname = "g_get_home_dir")] + public static unowned string get_home_dir (); + [CCode (cname = "g_get_tmp_dir")] + public static unowned string get_tmp_dir (); + [CCode (cname = "g_get_current_dir")] + public static string get_current_dir (); + [CCode (cname = "g_find_program_in_path")] + public static string? find_program_in_path (string program); + [Deprecated (since = "2.32")] + [CCode (cname = "g_atexit")] + public static void atexit (VoidFunc func); + [CCode (cname = "g_chdir")] + public static int set_current_dir (string path); + } + + namespace Environ { + [CCode (cname = "g_get_environ", array_length = false, array_null_terminated = true)] + public static string[] get (); + [CCode (cname = "g_environ_getenv")] + public static unowned string? get_variable ([CCode (array_length = false, array_null_terminated = true)] string[]? envp, string variable); + [CCode (cname = "g_environ_setenv", array_length = false, array_null_terminated = true)] + public static string[] set_variable ([CCode (array_length = false, array_null_terminated = true)] owned string[]? envp, string variable, string value, bool overwrite = true); + [CCode (cname = "g_environ_unsetenv", array_length = false, array_null_terminated = true)] + public static string[] unset_variable ([CCode (array_length = false, array_null_terminated = true)] owned string[]? envp, string variable); + } + + [CCode (has_type_id = false)] + public enum UserDirectory { + DESKTOP, + DOCUMENTS, + DOWNLOAD, + MUSIC, + PICTURES, + PUBLIC_SHARE, + TEMPLATES, + VIDEOS, + [CCode (cname = "G_USER_N_DIRECTORIES")] + N_DIRECTORIES + } + + namespace Path { + public static bool is_absolute (string file_name); + public static unowned string skip_root (string file_name); + public static string get_basename (string file_name); + public static string get_dirname (string file_name); + [CCode (cname = "g_build_filename")] + public static string build_filename (string first_element, ...); + [CCode (cname = "g_build_path")] + public static string build_path (string separator, string first_element, ...); + + [CCode (cname = "G_DIR_SEPARATOR")] + public const char DIR_SEPARATOR; + [CCode (cname = "G_DIR_SEPARATOR_S")] + public const string DIR_SEPARATOR_S; + [CCode (cname = "G_IS_DIR_SEPARATOR")] + public static bool is_dir_separator (unichar c); + [CCode (cname = "G_SEARCHPATH_SEPARATOR")] + public const char SEARCHPATH_SEPARATOR; + [CCode (cname = "G_SEARCHPATH_SEPARATOR_S")] + public const string SEARCHPATH_SEPARATOR_S; + } + + namespace Bit { + public static int nth_lsf (ulong mask, int nth_bit); + public static int nth_msf (ulong mask, int nth_bit); + public static uint storage (ulong number); + } + + namespace SpacedPrimes { + public static uint closest (uint num); + } + + [CCode (has_target = false)] + public delegate void FreeFunc (void* data); + [CCode (has_target = false)] + public delegate void VoidFunc (); + + [Deprecated (since = "2.16", replacement = "format_size")] + public string format_size_for_display (int64 size); + + [CCode (cname = "g_format_size_full")] + public string format_size (uint64 size, FormatSizeFlags flags = FormatSizeFlags.DEFAULT); + + [CCode (cprefix = "G_FORMAT_SIZE_", has_type_id = false)] + [Flags] + public enum FormatSizeFlags { + DEFAULT, + LONG_FORMAT, + IEC_UNITS + } + + /* Lexical Scanner */ + [CCode (has_target = false)] + public delegate void ScannerMsgFunc (Scanner scanner, string message, bool error); + + [Compact] + [CCode (free_function = "g_scanner_destroy")] + public class Scanner { + public unowned string input_name; + public TokenType token; + public TokenValue value; + public uint line; + public uint position; + public TokenType next_token; + public TokenValue next_value; + public uint next_line; + public uint next_position; + public ScannerMsgFunc msg_handler; + public ScannerConfig? config; + public Scanner (ScannerConfig? config_templ); + public void input_file (int input_fd); + public void sync_file_offset (); + public void input_text (string text, uint text_len); + public TokenType peek_next_token (); + public TokenType get_next_token (); + public bool eof (); + public int cur_line (); + public int cur_position (); + public TokenType cur_token (); + public TokenValue cur_value (); + public uint set_scope (uint scope_id); + public void scope_add_symbol (uint scope_id, string symbol, void* value); + public void scope_foreach_symbol (uint scope_id, HFunc func); + public void* scope_lookup_symbol (uint scope_id, string symbol); + public void scope_remove_symbol (uint scope_id, string symbol); + public void* lookup_symbol (string symbol); + [PrintfFormat] + public void warn (string format, ...); + [PrintfFormat] + public void error (string format, ...); + public void unexp_token (TokenType expected_token, string? identifier_spec, string? symbol_spec, string? symbol_name, string? message, bool is_error); + } + + public struct ScannerConfig { + public string* cset_skip_characters; + public string* cset_identifier_first; + public string* cset_identifier_nth; + public string* cpair_comment_single; + public bool case_sensitive; + public bool skip_comment_multi; + public bool skip_comment_single; + public bool scan_comment_multi; + public bool scan_identifier; + public bool scan_identifier_1char; + public bool scan_identifier_NULL; + public bool scan_symbols; + public bool scan_binary; + public bool scan_octal; + public bool scan_float; + public bool scan_hex; + public bool scan_hex_dollar; + public bool scan_string_sq; + public bool scan_string_dq; + public bool numbers_2_int; + public bool int_2_float; + public bool identifier_2_string; + public bool char_2_token; + public bool symbol_2_token; + public bool scope_0_fallback; + public bool store_int64; + } + + [CCode (lower_case_cprefix="G_CSET_")] + namespace CharacterSet { + public const string A_2_Z; + public const string a_2_z; + public const string DIGITS; + public const string LATINC; + public const string LATINS; + } + + [CCode (cprefix = "G_TOKEN_", has_type_id = false)] + public enum TokenType { + EOF, + LEFT_PAREN, + RIGHT_PAREN, + LEFT_CURLY, + RIGHT_CURLY, + LEFT_BRACE, + RIGHT_BRACE, + EQUAL_SIGN, + COMMA, + NONE, + ERROR, + CHAR, + BINARY, + OCTAL, + INT, + HEX, + FLOAT, + STRING, + SYMBOL, + IDENTIFIER, + IDENTIFIER_NULL, + COMMENT_SINGLE, + COMMENT_MULTI, + LAST + } + + [SimpleType] + public struct TokenValue { + [CCode (cname="v_symbol")] + public void* symbol; + [CCode (cname="v_identifier")] + public unowned string identifier; + [CCode (cname="v_binary")] + public ulong binary; + [CCode (cname="v_octal")] + public ulong octal; + [CCode (cname="v_int")] + public ulong int; + [CCode (cname="v_int64")] + public ulong int64; + [CCode (cname="v_float")] + public double float; + [CCode (cname="v_hex")] + public ulong hex; + [CCode (cname="v_string")] + public unowned string string; + [CCode (cname="v_comment")] + public unowned string comment; + [CCode (cname="v_char")] + public uchar char; + [CCode (cname="v_error")] + public uint error; + } + + [CCode (cprefix = "G_ERR_", has_type_id = false)] + public enum ErrorType { + UNKNOWN, + UNEXP_EOF, + UNEXP_EOF_IN_STRING, + UNEXP_EOF_IN_COMMENT, + NON_DIGIT_IN_CONST, + DIGIT_RADIX, + FLOAT_RADIX, + FLOAT_MALFORMED + } + + /* Automatic String Completion */ + + [Deprecated (since = "2.26")] + [Compact] + [CCode (free_function = "g_completion_free")] + public class Completion { + public Completion (CompletionFunc? func = null); + public List items; + public CompletionFunc func; + public string prefix; + public List cache; + public CompletionStrncmpFunc strncmp_func; + public void add_items (List items); + public void remove_items (List items); + public void clear_items (); + public unowned List complete (string prefix, out string? new_prefix = null); + public unowned List complete_utf8 (string prefix, out string? new_prefix = null); + } + + [CCode (has_target = false)] + public delegate string CompletionFunc (void* item); + [CCode (has_target = false)] + public delegate int CompletionStrncmpFunc (string s1, string s2, size_t n); + + /* Timers */ + + [Compact] + [CCode (free_function = "g_timer_destroy")] + public class Timer { + public Timer (); + public void start (); + public void stop (); + public void @continue (); + public double elapsed (out ulong microseconds = null); + public void reset (); + } + + /* Spawning Processes */ + + public errordomain SpawnError { + FORK, + READ, + CHDIR, + ACCES, + PERM, + TOO_BIG, + NOEXEC, + NAMETOOLONG, + NOENT, + NOMEM, + NOTDIR, + LOOP, + TXTBUSY, + IO, + NFILE, + MFILE, + INVAL, + ISDIR, + LIBBAD, + FAILED + } + + [CCode (cprefix = "G_SPAWN_", has_type_id = false)] + [Flags] + public enum SpawnFlags { + LEAVE_DESCRIPTORS_OPEN, + DO_NOT_REAP_CHILD, + SEARCH_PATH, + STDOUT_TO_DEV_NULL, + STDERR_TO_DEV_NULL, + CHILD_INHERITS_STDIN, + FILE_AND_ARGV_ZERO, + SEARCH_PATH_FROM_ENVP + } + + public delegate void SpawnChildSetupFunc (); + [CCode (has_target = false, cheader_filename = "signal.h")] + public delegate void SignalHandlerFunc (int signum); + + public unowned string strsignal (int signum); + + [CCode (lower_case_cprefix = "g_")] + namespace Process { + public static bool spawn_async_with_pipes (string? working_directory, [CCode (array_length = false, array_null_terminated = true)] string[] argv, [CCode (array_length = false, array_null_terminated = true)] string[]? envp, SpawnFlags _flags, SpawnChildSetupFunc? child_setup, out Pid child_pid, out int standard_input = null, out int standard_output = null, out int standard_error = null) throws SpawnError; + public static bool spawn_async (string? working_directory, [CCode (array_length = false, array_null_terminated = true)] string[] argv, [CCode (array_length = false, array_null_terminated = true)] string[]? envp, SpawnFlags _flags, SpawnChildSetupFunc? child_setup, out Pid child_pid) throws SpawnError; + public static bool spawn_sync (string? working_directory, [CCode (array_length = false, array_null_terminated = true)] string[] argv, [CCode (array_length = false, array_null_terminated = true)] string[]? envp, SpawnFlags _flags, SpawnChildSetupFunc? child_setup, out string standard_output = null, out string standard_error = null, out int exit_status = null) throws SpawnError; + public static bool spawn_command_line_async (string command_line) throws SpawnError; + public static bool spawn_command_line_sync (string command_line, out string standard_output = null, out string standard_error = null, out int exit_status = null) throws SpawnError; + [CCode (cname = "g_spawn_close_pid")] + public static void close_pid (Pid pid); + [CCode (cname = "g_spawn_check_exit_status")] + public static bool check_exit_status (int exit_status) throws GLib.Error; + + /* these macros are required to examine the exit status of a process */ + [CCode (cname = "WIFEXITED", cheader_filename = "sys/wait.h")] + public static bool if_exited (int status); + [CCode (cname = "WEXITSTATUS", cheader_filename = "sys/wait.h")] + public static int exit_status (int status); + [CCode (cname = "WIFSIGNALED", cheader_filename = "sys/wait.h")] + public static bool if_signaled (int status); + [CCode (cname = "WTERMSIG", cheader_filename = "sys/wait.h")] + public static ProcessSignal term_sig (int status); + [CCode (cname = "WCOREDUMP", cheader_filename = "sys/wait.h")] + public static bool core_dump (int status); + [CCode (cname = "WIFSTOPPED", cheader_filename = "sys/wait.h")] + public static bool if_stopped (int status); + [CCode (cname = "WSTOPSIG", cheader_filename = "sys/wait.h")] + public static ProcessSignal stop_sig (int status); + [CCode (cname = "WIFCONTINUED", cheader_filename = "sys/wait.h")] + public static bool if_continued (int status); + + [NoReturn] + [CCode (cname = "abort", cheader_filename = "stdlib.h")] + public void abort (); + [NoReturn] + [CCode (cname = "exit", cheader_filename = "stdlib.h")] + public void exit (int status); + [CCode (cname = "raise", cheader_filename = "signal.h")] + public int raise (ProcessSignal sig); + [CCode (cname = "signal", cheader_filename = "signal.h")] + public SignalHandlerFunc @signal (ProcessSignal signum, SignalHandlerFunc handler); + } + + [CCode (cname = "int", has_type_id = false, cheader_filename = "signal.h", cprefix = "SIG")] + public enum ProcessSignal { + HUP, + INT, + QUIT, + ILL, + TRAP, + ABRT, + BUS, + FPE, + KILL, + SEGV, + PIPE, + ALRM, + TERM, + USR1, + USR2, + CHLD, + CONT, + STOP, + TSTP, + TTIN, + TTOU + } + + + /* File Utilities */ + + public errordomain FileError { + EXIST, + ISDIR, + ACCES, + NAMETOOLONG, + NOENT, + NOTDIR, + NXIO, + NODEV, + ROFS, + TXTBSY, + FAULT, + LOOP, + NOSPC, + NOMEM, + MFILE, + NFILE, + BADF, + INVAL, + PIPE, + AGAIN, + INTR, + IO, + PERM, + NOSYS, + FAILED + } + + [CCode (has_type_id = false)] + [Flags] + public enum FileTest { + IS_REGULAR, + IS_SYMLINK, + IS_DIR, + IS_EXECUTABLE, + EXISTS + } + + [CCode (cname = "int", cprefix = "SEEK_", has_type_id = false)] + public enum FileSeek { + SET, + CUR, + END + } + + [Compact] + [CCode (cname = "FILE", free_function = "fclose", cheader_filename = "stdio.h")] + public class FileStream { + [CCode (cname = "EOF", cheader_filename = "stdio.h")] + public const int EOF; + + [CCode (cname = "g_fopen", cheader_filename = "glib/gstdio.h")] + public static FileStream? open (string path, string mode); + [CCode (cname = "fdopen")] + public static FileStream? fdopen (int fildes, string mode); + [CCode (cname = "fprintf")] + [PrintfFormat ()] + public void printf (string format, ...); + [CCode (cname = "vfprintf")] + public void vprintf (string format, va_list args); + [CCode (cname = "fputc", instance_pos = -1)] + public void putc (char c); + [CCode (cname = "fputs", instance_pos = -1)] + public void puts (string s); + [CCode (cname = "fgetc")] + public int getc (); + [CCode (cname = "ungetc", instance_pos = -1)] + public int ungetc (int c); + [CCode (cname = "fgets", instance_pos = -1)] + public unowned string? gets (char[] s); + [CCode (cname = "feof")] + public bool eof (); + [CCode (cname = "fscanf"), ScanfFormat] + public int scanf (string format, ...); + [CCode (cname = "fflush")] + public int flush (); + [CCode (cname = "fseek")] + public int seek (long offset, FileSeek whence); + [CCode (cname = "ftell")] + public long tell (); + [CCode (cname = "rewind")] + public void rewind (); + [CCode (cname = "fileno")] + public int fileno (); + [CCode (cname = "ferror")] + public int error (); + [CCode (cname = "clearerr")] + public void clearerr (); + [CCode (cname = "fread", instance_pos = -1)] + public size_t read ([CCode (array_length_pos = 2.1)] uint8[] buf, size_t size = 1); + [CCode (cname = "fwrite", instance_pos = -1)] + public size_t write ([CCode (array_length_pos = 2.1)] uint8[] buf, size_t size = 1); + + public string? read_line () { + int c; + StringBuilder? ret = null; + while ((c = getc ()) != EOF) { + if (ret == null) { + ret = new StringBuilder (); + } + if (c == '\n') { + break; + } + ((!)(ret)).append_c ((char) c); + } + if (ret == null) { + return null; + } else { + return ((!)(ret)).str; + } + } + } + + [CCode (cname = "struct utimbuf", cheader_filename = "sys/types.h,utime.h")] + public struct UTimBuf { + time_t actime; /* access time */ + time_t modtime; /* modification time */ + } + + [CCode (lower_case_cprefix = "g_file_", cheader_filename = "glib/gstdio.h")] + namespace FileUtils { + public static bool get_contents (string filename, out string contents, out size_t length = null) throws FileError; + public static bool set_contents (string filename, string contents, ssize_t length = -1) throws FileError; + [CCode (cname = "g_file_get_contents")] + public static bool get_data (string filename, [CCode (type = "gchar**", array_length_type = "size_t")] out uint8[] contents) throws FileError; + [CCode (cname = "g_file_set_contents")] + public static bool set_data (string filename, [CCode (type = "const char*", array_length_type = "size_t")] uint8[] contents) throws FileError; + public static bool test (string filename, FileTest test); + public static int open_tmp (string tmpl, out string name_used) throws FileError; + public static string read_link (string filename) throws FileError; + public static int error_from_errno (int err_no); + + [CCode (cname = "g_mkstemp")] + public static int mkstemp (string tmpl); + [CCode (cname = "g_rename")] + public static int rename (string oldfilename, string newfilename); + [CCode (cname = "g_remove")] + public static int remove (string filename); + [CCode (cname = "g_unlink")] + public static int unlink (string filename); + [CCode (cname = "g_chmod")] + public static int chmod (string filename, int mode); + [CCode (cname = "g_utime")] + public static int utime (string filename, UTimBuf? times = null); + + [CCode (cname = "symlink", cheader_filename = "unistd.h")] + public static int symlink (string oldpath, string newpath); + + [CCode (cname = "close", cheader_filename = "unistd.h")] + public static int close (int fd); + } + + [CCode (cname = "struct stat", cheader_filename = "sys/stat.h,glib/gstdio.h")] + public struct Stat { + [CCode (cname = "g_stat", instance_pos = -1)] + public Stat (string filename); + [CCode (cname = "g_lstat", instance_pos = -1)] + public Stat.l (string filename); + } + + [Compact] + [CCode (free_function = "g_dir_close")] + public class Dir { + public static Dir open (string filename, uint _flags = 0) throws FileError; + public unowned string? read_name (); + public void rewind (); + } + + [CCode (cheader_filename = "glib/gstdio.h")] + namespace DirUtils { + [CCode (cname = "g_mkdir")] + public static int create (string pathname, int mode); + [CCode (cname = "g_mkdir_with_parents")] + public static int create_with_parents (string pathname, int mode); + [CCode (cname = "mkdtemp")] + public static unowned string mkdtemp (string template); + [CCode (cname = "g_dir_make_tmp")] + public static string make_tmp (string tmpl) throws FileError; + [CCode (cname = "g_rmdir")] + public static int remove (string filename); + } + + [Compact] + [CCode (ref_function = "g_mapped_file_ref", unref_function = "g_mapped_file_unref")] + public class MappedFile { + public MappedFile (string filename, bool writable) throws FileError; + public size_t get_length (); + public unowned char* get_contents (); + public Bytes get_bytes (); + } + + [CCode (cname = "stdin", cheader_filename = "stdio.h")] + public static FileStream stdin; + + [CCode (cname = "stdout", cheader_filename = "stdio.h")] + public static FileStream stdout; + + [CCode (cname = "stderr", cheader_filename = "stdio.h")] + public static FileStream stderr; + + /* URI Functions */ + + namespace Uri { + public const string RESERVED_CHARS_ALLOWED_IN_PATH; + public const string RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT; + public const string RESERVED_CHARS_ALLOWED_IN_USERINFO; + public const string RESERVED_CHARS_GENERIC_DELIMITERS; + public const string RESERVED_CHARS_SUBCOMPONENT_DELIMITERS; + + public static string? parse_scheme (string uri); + public static string escape_string (string unescaped, string? reserved_chars_allowed = null, bool allow_utf8 = true); + public static string? unescape_string (string escaped_string, string? illegal_characters = null); + public static string? unescape_segment (string? escaped_string, string? escaped_string_end, string? illegal_characters = null); + [CCode (array_length = false, array_null_terminated = true)] + public static string[] list_extract_uris (string uri_list); + } + + /* Shell-related Utilities */ + + public errordomain ShellError { + BAD_QUOTING, + EMPTY_STRING, + FAILED + } + + namespace Shell { + public static bool parse_argv (string command_line, [CCode (array_length_pos = 1.9)] out string[] argvp) throws ShellError; + public static string quote (string unquoted_string); + public static string unquote (string quoted_string) throws ShellError; + } + + /* Commandline option parser */ + + public errordomain OptionError { + UNKNOWN_OPTION, + BAD_VALUE, + FAILED + } + + [Compact] + [CCode (free_function = "g_option_context_free")] + public class OptionContext { + public OptionContext (string? parameter_string = null); + public void set_summary (string summary); + public unowned string get_summary (); + public void set_description (string description); + public void get_description (); + public void set_translate_func (TranslateFunc func, DestroyNotify? destroy_notify); + public void set_translation_domain (string domain); + public bool parse ([CCode (array_length_pos = 0.9)] ref unowned string[] argv) throws OptionError; + public bool parse_strv ([CCode (array_length = false, array_null_terminated = true)] ref string[] argv) throws OptionError; + public void set_help_enabled (bool help_enabled); + public bool get_help_enabled (); + public void set_ignore_unknown_options (bool ignore_unknown); + public bool get_ignore_unknown_options (); + public string get_help (bool main_help, OptionGroup? group); + public void add_main_entries ([CCode (array_length = false)] OptionEntry[] entries, string? translation_domain); + public void add_group (owned OptionGroup group); + public void set_main_group (owned OptionGroup group); + public unowned OptionGroup get_main_group (); + public void set_strict_posix (bool strict_posix); + public bool get_strict_posix (); + } + + public delegate unowned string TranslateFunc (string str); + + [CCode (has_type_id = false)] + public enum OptionArg { + NONE, + STRING, + INT, + CALLBACK, + FILENAME, + STRING_ARRAY, + FILENAME_ARRAY, + DOUBLE, + INT64 + } + + [Flags] + [CCode (cprefix = "G_OPTION_FLAG_", has_type_id = false)] + public enum OptionFlags { + HIDDEN, + IN_MAIN, + REVERSE, + NO_ARG, + FILENAME, + OPTIONAL_ARG, + NOALIAS + } + + public struct OptionEntry { + public unowned string long_name; + public char short_name; + public int flags; + + public OptionArg arg; + public void* arg_data; + + public unowned string description; + public unowned string? arg_description; + } + + [Compact] +#if GLIB_2_44 + [CCode (ref_function = "g_option_group_ref", unref_function = "g_option_group_unref", type_id = "G_TYPE_OPTION_GROUP")] +#else + [CCode (free_function = "g_option_group_free")] +#endif + public class OptionGroup { + public OptionGroup (string name, string description, string help_description, void* user_data = null, DestroyNotify? destroy = null); + public void add_entries ([CCode (array_length = false)] OptionEntry[] entries); + public void set_parse_hooks (OptionParseFunc? pre_parse_func, OptionParseFunc? post_parse_hook); + public void set_error_hook (OptionErrorFunc? error_func); + public void set_translate_func (owned TranslateFunc? func); + public void set_translation_domain (string domain); + } + + [CCode (has_target = false)] + public delegate bool OptionParseFunc (OptionContext context, OptionGroup group, void* data) throws OptionError; + [CCode (has_target = false)] + public delegate void OptionErrorFunc (OptionContext context, OptionGroup group, void* data, ref Error error); + + /* Perl-compatible regular expressions */ + + public errordomain RegexError { + COMPILE, + OPTIMIZE, + REPLACE, + MATCH, + INTERNAL, + STRAY_BACKSLASH, + MISSING_CONTROL_CHAR, + UNRECOGNIZED_ESCAPE, + QUANTIFIERS_OUT_OF_ORDER, + QUANTIFIER_TOO_BIG, + UNTERMINATED_CHARACTER_CLASS, + INVALID_ESCAPE_IN_CHARACTER_CLASS, + RANGE_OUT_OF_ORDER, + NOTHING_TO_REPEAT, + UNRECOGNIZED_CHARACTER, + POSIX_NAMED_CLASS_OUTSIDE_CLASS, + UNMATCHED_PARENTHESIS, + INEXISTENT_SUBPATTERN_REFERENCE, + UNTERMINATED_COMMENT, + EXPRESSION_TOO_LARGE, + MEMORY_ERROR, + VARIABLE_LENGTH_LOOKBEHIND, + MALFORMED_CONDITION, + TOO_MANY_CONDITIONAL_BRANCHES, + ASSERTION_EXPECTED, + UNKNOWN_POSIX_CLASS_NAME, + POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED, + HEX_CODE_TOO_LARGE, + INVALID_CONDITION, + SINGLE_BYTE_MATCH_IN_LOOKBEHIND, + INFINITE_LOOP, + MISSING_SUBPATTERN_NAME_TERMINATOR, + DUPLICATE_SUBPATTERN_NAME, + MALFORMED_PROPERTY, + UNKNOWN_PROPERTY, + SUBPATTERN_NAME_TOO_LONG, + TOO_MANY_SUBPATTERNS, + INVALID_OCTAL_VALUE, + TOO_MANY_BRANCHES_IN_DEFINE, + DEFINE_REPETION, + INCONSISTENT_NEWLINE_OPTIONS, + MISSING_BACK_REFERENCE, + INVALID_RELATIVE_REFERENCE, + BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN, + UNKNOWN_BACKTRACKING_CONTROL_VERB, + NUMBER_TOO_BIG, + MISSING_SUBPATTERN_NAME, + MISSING_DIGIT, + INVALID_DATA_CHARACTER, + EXTRA_SUBPATTERN_NAME, + BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED, + INVALID_CONTROL_CHAR, + MISSING_NAME, + NOT_SUPPORTED_IN_CLASS, + TOO_MANY_FORWARD_REFERENCES, + NAME_TOO_LONG, + CHARACTER_VALUE_TOO_LARGE + } + + [CCode (cprefix = "G_REGEX_", has_type_id = false)] + [Flags] + public enum RegexCompileFlags { + CASELESS, + MULTILINE, + DOTALL, + EXTENDED, + ANCHORED, + DOLLAR_ENDONLY, + UNGREEDY, + RAW, + NO_AUTO_CAPTURE, + OPTIMIZE, + DUPNAMES, + NEWLINE_CR, + NEWLINE_LF, + NEWLINE_CRLF, + NEWLINE_ANYCRLF, + BSR_ANYCRLF, + JAVASCRIPT_COMPAT + } + + [CCode (cprefix = "G_REGEX_MATCH_", has_type_id = false)] + [Flags] + public enum RegexMatchFlags { + ANCHORED, + NOTBOL, + NOTEOL, + NOTEMPTY, + PARTIAL, + NEWLINE_CR, + NEWLINE_LF, + NEWLINE_CRLF, + NEWLINE_ANY, + NEWLINE_ANYCRLF, + BSR_ANYCRLF, + BSR_ANY, + PARTIAL_SOFT, + PARTIAL_HARD, + NOTEMPTY_ATSTART + } + + [Compact] + [CCode (ref_function = "g_regex_ref", unref_function = "g_regex_unref", type_id = "G_TYPE_REGEX")] + public class Regex { + public Regex (string pattern, RegexCompileFlags compile_options = 0, RegexMatchFlags match_options = 0) throws RegexError; + public unowned string get_pattern (); + public RegexCompileFlags get_compile_flags (); + public RegexMatchFlags get_match_flags (); + public int get_max_backref (); + public int get_max_lookbehind (); + public int get_capture_count (); + public int get_string_number (string name); + public static string escape_string (string str, int length = -1); + public static bool match_simple (string pattern, string str, RegexCompileFlags compile_options = 0, RegexMatchFlags match_options = 0); + public bool match (string str, RegexMatchFlags match_options = 0, out MatchInfo match_info = null); + public bool match_full (string str, ssize_t string_len = -1, int start_position = 0, RegexMatchFlags match_options = 0, out MatchInfo match_info = null) throws RegexError; + public bool match_all (string str, RegexMatchFlags match_options = 0, out MatchInfo match_info = null); + public bool match_all_full (string str, ssize_t string_len = -1, int start_position = 0, RegexMatchFlags match_options = 0, out MatchInfo match_info = null) throws RegexError; + [CCode (array_length = false, array_null_terminated = true)] + public static string[] split_simple (string pattern, string str, RegexCompileFlags compile_options = 0, RegexMatchFlags match_options = 0); + [CCode (array_length = false, array_null_terminated = true)] + public string[] split (string str, RegexMatchFlags match_options = 0); + [CCode (array_length = false, array_null_terminated = true)] + public string[] split_full (string str, ssize_t string_len = -1, int start_position = 0, RegexMatchFlags match_options = 0, int max_tokens = 0) throws RegexError; + public string replace (string str, ssize_t string_len, int start_position, string replacement, RegexMatchFlags match_options = 0) throws RegexError; + public string replace_literal (string str, ssize_t string_len, int start_position, string replacement, RegexMatchFlags match_options = 0) throws RegexError; + public string replace_eval (string str, ssize_t string_len, int start_position, RegexMatchFlags match_options, RegexEvalCallback eval) throws RegexError; + public static bool check_replacement (out bool has_references = null) throws RegexError; + } + + public delegate bool RegexEvalCallback (MatchInfo match_info, StringBuilder result); + + [Compact] +#if GLIB_2_30 + [CCode (ref_function = "g_match_info_ref", unref_function = "g_match_info_unref", type_id = "G_TYPE_MATCH_INFO")] +#else + [CCode (free_function = "g_match_info_free")] +#endif + public class MatchInfo { + public unowned Regex get_regex (); + public unowned string get_string (); + public bool matches (); + public bool next () throws RegexError; + public int get_match_count (); + public bool is_partial_match (); + public string expand_references (string string_to_expand) throws RegexError; + public string? fetch (int match_num); + public bool fetch_pos (int match_num, out int start_pos, out int end_pos); + public string? fetch_named (string name); + public bool fetch_named_pos (string name, out int start_pos, out int end_pos); + [CCode (array_length = false, array_null_terminated = true)] + public string[] fetch_all (); + } + + /* Simple XML Subset Parser + See http://live.gnome.org/Vala/MarkupSample for an example */ + + public errordomain MarkupError { + BAD_UTF8, + EMPTY, + PARSE, + UNKNOWN_ELEMENT, + UNKNOWN_ATTRIBUTE, + INVALID_CONTENT, + MISSING_ATTRIBUTE + } + + [CCode (cprefix = "G_MARKUP_", has_type_id = false)] + [Flags] + public enum MarkupParseFlags { + TREAT_CDATA_AS_TEXT, + PREFIX_ERROR_POSITION + } + + [Compact] +#if GLIB_2_36 + [CCode (ref_function = "g_markup_parse_context_ref", unref_function = "g_markup_parse_context_unref", type_id = "G_TYPE_MARKUP_PARSE_CONTEXT")] +#else + [CCode (free_function = "g_markup_parse_context_free")] +#endif + public class MarkupParseContext { + public MarkupParseContext (MarkupParser parser, MarkupParseFlags _flags, void* user_data, DestroyNotify? user_data_dnotify); + public bool parse (string text, ssize_t text_len) throws MarkupError; + public bool end_parse () throws MarkupError; + public unowned string get_element (); + public unowned SList get_element_stack (); + public void get_position (out int line_number, out int char_number); + public void push (MarkupParser parser, void* user_data); + public void* pop (); + public void* get_user_data (); + } + + public delegate void MarkupParserStartElementFunc (MarkupParseContext context, string element_name, [CCode (array_length = false, array_null_terminated = true)] string[] attribute_names, [CCode (array_length = false, array_null_terminated = true)] string[] attribute_values) throws MarkupError; + + public delegate void MarkupParserEndElementFunc (MarkupParseContext context, string element_name) throws MarkupError; + + public delegate void MarkupParserTextFunc (MarkupParseContext context, string text, size_t text_len) throws MarkupError; + + public delegate void MarkupParserPassthroughFunc (MarkupParseContext context, string passthrough_text, size_t text_len) throws MarkupError; + + public delegate void MarkupParserErrorFunc (MarkupParseContext context, Error error); + + public struct MarkupParser { + [CCode (delegate_target = false)] + public unowned MarkupParserStartElementFunc start_element; + [CCode (delegate_target = false)] + public unowned MarkupParserEndElementFunc end_element; + [CCode (delegate_target = false)] + public unowned MarkupParserTextFunc text; + [CCode (delegate_target = false)] + public unowned MarkupParserPassthroughFunc passthrough; + [CCode (delegate_target = false)] + public unowned MarkupParserErrorFunc error; + } + + namespace Markup { + [CCode (cprefix = "G_MARKUP_COLLECT_", has_type_id = false)] + public enum CollectType { + INVALID, + STRING, + STRDUP, + BOOLEAN, + TRISTATE, + OPTIONAL + } + + public static string escape_text (string text, ssize_t length = -1); + [PrintfFormat] + public static string printf_escaped (string format, ...); + public static string vprintf_escaped (string format, va_list args); + [CCode (sentinel = "G_MARKUP_COLLECT_INVALID")] + public static bool collect_attributes (string element_name, string[] attribute_names, string[] attribute_values, ...) throws MarkupError; + } + + /* Key-value file parser */ + + public errordomain KeyFileError { + UNKNOWN_ENCODING, + PARSE, + NOT_FOUND, + KEY_NOT_FOUND, + GROUP_NOT_FOUND, + INVALID_VALUE + } + + [Compact] +#if GLIB_2_32 + [CCode (ref_function = "g_key_file_ref", unref_function = "g_key_file_unref", type_id = "G_TYPE_KEY_FILE")] +#else + [CCode (free_function = "g_key_file_free")] +#endif + public class KeyFile { + public KeyFile (); + public void set_list_separator (char separator); + public bool load_from_file (string file, KeyFileFlags @flags) throws KeyFileError, FileError; + public bool load_from_dirs (string file, [CCode (array_length = false, array_null_terminated = true)] string[] search_dirs, out string full_path, KeyFileFlags @flags) throws KeyFileError, FileError; + public bool load_from_data (string data, size_t length, KeyFileFlags @flags) throws KeyFileError; + public bool load_from_data_dirs (string file, out string full_path, KeyFileFlags @flags) throws KeyFileError, FileError; + // g_key_file_to_data never throws an error according to the documentation + public string to_data (out size_t length = null, out GLib.Error error = null); + public string get_start_group (); + [CCode (array_length_type = "gsize")] + public string[] get_groups (); + [CCode (array_length_type = "gsize")] + public string[] get_keys (string group_name) throws KeyFileError; + public bool has_group (string group_name); + public bool has_key (string group_name, string key) throws KeyFileError; + public string get_value (string group_name, string key) throws KeyFileError; + public string get_string (string group_name, string key) throws KeyFileError; + public string get_locale_string (string group_name, string key, string? locale = null) throws KeyFileError; + public bool get_boolean (string group_name, string key) throws KeyFileError; + public int get_integer (string group_name, string key) throws KeyFileError; + public int64 get_int64 (string group_name, string key) throws KeyFileError; + public uint64 get_uint64 (string group_name, string key) throws KeyFileError; + public double get_double (string group_name, string key) throws KeyFileError; + [CCode (array_length_type = "gsize")] + public string[] get_string_list (string group_name, string key) throws KeyFileError; + [CCode (array_length_type = "gsize")] + public string[] get_locale_string_list (string group_name, string key, string? locale = null) throws KeyFileError; + [CCode (array_length_type = "gsize")] + public bool[] get_boolean_list (string group_name, string key) throws KeyFileError; + [CCode (array_length_type = "gsize")] + public int[] get_integer_list (string group_name, string key) throws KeyFileError; + [CCode (array_length_type = "gsize")] + public double[] get_double_list (string group_name, string key) throws KeyFileError; + public string get_comment (string? group_name, string? key) throws KeyFileError; + public bool save_to_file (string filename) throws GLib.FileError; + public void set_value (string group_name, string key, string value); + public void set_string (string group_name, string key, string str); + public void set_locale_string (string group_name, string key, string locale, string str); + public void set_boolean (string group_name, string key, bool value); + public void set_integer (string group_name, string key, int value); + public void set_int64 (string group_name, string key, int64 value); + public void set_uint64 (string group_name, string key, uint64 value); + public void set_double (string group_name, string key, double value); + public void set_string_list (string group_name, string key, [CCode (type = "const gchar* const*")] string[] list); + public void set_locale_string_list (string group_name, string key, string locale, string[] list); + public void set_boolean_list (string group_name, string key, bool[] list); + public void set_integer_list (string group_name, string key, int[] list); + public void set_double_list (string group_name, string key, double[] list); + public void set_comment (string? group_name, string? key, string comment) throws KeyFileError; + public void remove_group (string group_name) throws KeyFileError; + public void remove_key (string group_name, string key) throws KeyFileError; + public void remove_comment (string group_name, string key) throws KeyFileError; + } + + [CCode (cprefix = "G_KEY_FILE_", has_type_id = false)] + [Flags] + public enum KeyFileFlags { + NONE, + KEEP_COMMENTS, + KEEP_TRANSLATIONS + } + + [CCode (cprefix = "G_KEY_FILE_DESKTOP_")] + namespace KeyFileDesktop { + public const string GROUP; + public const string KEY_ACTIONS; + public const string KEY_CATEGORIES; + public const string KEY_COMMENT; + public const string KEY_DBUS_ACTIVATABLE; + public const string KEY_EXEC; + public const string KEY_FULLNAME; + public const string KEY_GENERIC_NAME; + public const string KEY_GETTEXT_DOMAIN; + public const string KEY_HIDDEN; + public const string KEY_ICON; + public const string KEY_KEYWORDS; + public const string KEY_MIME_TYPE; + public const string KEY_NAME; + public const string KEY_NOT_SHOW_IN; + public const string KEY_NO_DISPLAY; + public const string KEY_ONLY_SHOW_IN; + public const string KEY_PATH; + public const string KEY_STARTUP_NOTIFY; + public const string KEY_STARTUP_WM_CLASS; + public const string KEY_TERMINAL; + public const string KEY_TRY_EXEC; + public const string KEY_TYPE; + public const string KEY_URL; + public const string KEY_VERSION; + public const string TYPE_APPLICATION; + public const string TYPE_DIRECTORY; + public const string TYPE_LINK; + } + + /* Bookmark file parser */ + + [Compact] + [CCode (free_function = "g_bookmark_file_free")] + public class BookmarkFile { + public BookmarkFile (); + public bool load_from_file (string file) throws BookmarkFileError; + public bool load_from_data (string data, size_t length) throws BookmarkFileError; + public bool load_from_data_dirs (string file, out string full_path) throws BookmarkFileError; + public string to_data (out size_t length) throws BookmarkFileError; + public bool to_file (string filename) throws BookmarkFileError; + public bool has_item (string uri); + public bool has_group (string uri, string group) throws BookmarkFileError; + public bool has_application (string uri, string name) throws BookmarkFileError; + public int get_size (); + public string[] get_uris (); + public string get_title (string uri) throws BookmarkFileError; + public string get_description (string uri) throws BookmarkFileError; + public string get_mime_type (string uri) throws BookmarkFileError; + public bool get_is_private (string uri) throws BookmarkFileError; + public bool get_icon (string uri, out string href, out string mime_type) throws BookmarkFileError; + public time_t get_added (string uri) throws BookmarkFileError; + public time_t get_modified (string uri) throws BookmarkFileError; + public time_t get_visited (string uri) throws BookmarkFileError; + public string[] get_groups (string uri) throws BookmarkFileError; + public string[] get_applications (string uri) throws BookmarkFileError; + public bool get_app_info (string uri, string name, out string exec, out uint count, out time_t stamp) throws BookmarkFileError; + public void set_title (string uri, string title); + public void set_description (string uri, string description); + public void set_mime_type (string uri, string mime_type); + public void set_is_private (string uri, bool is_private); + public void set_icon (string uri, string href, string mime_type); + public void set_added (string uri, time_t added); + public void set_groups (string uri, string[] groups); + public void set_modified (string uri, time_t modified); + public void set_visited (string uri, time_t visited); + public bool set_app_info (string uri, string name, string exec, int count, time_t stamp) throws BookmarkFileError; + public void add_group (string uri, string group); + public void add_application (string uri, string name, string exec); + public bool remove_group (string uri, string group) throws BookmarkFileError; + public bool remove_application (string uri, string name) throws BookmarkFileError; + public bool remove_item (string uri) throws BookmarkFileError; + public bool move_item (string old_uri, string new_uri) throws BookmarkFileError; + } + + public errordomain BookmarkFileError { + INVALID_URI, + INVALID_VALUE, + APP_NOT_REGISTERED, + URI_NOT_FOUND, + READ, + UNKNOWN_ENCODING, + WRITE, + FILE_NOT_FOUND + } + + /* Testing */ + + namespace Test { + [CCode (cprefix = "G_TEST_", has_type_id = false)] + public enum FileType { + DIST, + BUILT + } + + [PrintfFormat] + public static void minimized_result (double minimized_quantity, string format, ...); + [PrintfFormat] + public static void maximized_result (double maximized_quantity, string format, ...); + public static void init ([CCode (array_length_pos = 0.9)] ref unowned string[] args, ...); + public static bool quick (); + public static bool slow (); + public static bool thorough (); + public static bool perf (); + public static bool verbose (); + public static bool quiet (); + public static int run (); +#if GLIB_2_26 + public static void add_func (string testpath, TestFunc test_funcvoid); +#else + public static void add_func (string testpath, Callback test_funcvoid); +#endif + public static void add_data_func (string testpath, [CCode (delegate_target_pos = 1.9)] TestDataFunc test_funcvoid); + public static string build_filename (GLib.Test.FileType file_type, params string[] path_segments); + public static void fail (); + public static bool failed (); + public static unowned string get_dir (GLib.Test.FileType file_type); + public static unowned string get_filename (GLib.Test.FileType file_type, params string[] path_segments); + public static void incomplete (string msg); + [PrintfFormat] + public static void message (string format, ...); + public static void set_nonfatal_assertions (); + public static void skip (string msg); + public static bool subprocess (); + public static void bug_base (string uri_pattern); + public static void bug (string bug_uri_snippet); + public static void timer_start (); + public static double timer_elapsed (); + public static double timer_last (); + [Deprecated (since = "2.38", replacement = "trap_subprocess")] + public static bool trap_fork (uint64 usec_timeout, TestTrapFlags test_trap_flags); + public static bool trap_has_passed (); + public static bool trap_reached_timeout (); + public static void trap_subprocess (string test_path, uint64 usec_timeout, TestSubprocessFlags test_flags); + public static void trap_assert_passed (); + public static void trap_assert_failed (); + public static void trap_assert_stdout (string soutpattern); + public static void trap_assert_stdout_unmatched (string soutpattern); + public static void trap_assert_stderr (string serrpattern); + public static void trap_assert_stderr_unmatched (string serrpattern); + public static bool rand_bit (); + public static int32 rand_int (); + public static int32 rand_int_range (int32 begin, int32 end); + public static double rand_double (); + public static double rand_double_range (double begin, double end); + public static void log_set_fatal_handler (LogFatalFunc log_func); + } + + public delegate bool LogFatalFunc (string? log_domain, LogLevelFlags log_levels, string message); + + [Compact] + [CCode (cname = "GTestCase", ref_function = "", unref_function = "")] + public class TestCase { + [CCode (cname = "g_test_create_case")] +#if GLIB_2_26 + public TestCase (string test_name, [CCode (delegate_target_pos = 1.9)] TestFixtureFunc data_setup, [CCode (delegate_target_pos = 1.9)] TestFixtureFunc data_func, [CCode (delegate_target_pos = 1.9)] TestFixtureFunc data_teardown, [CCode (pos = 1.8)] size_t data_size = 0); +#else + public TestCase (string test_name, [CCode (delegate_target_pos = 1.9, type = "void (*) (void)")] TestFunc data_setup, [CCode (delegate_target_pos = 1.9, type = "void (*) (void)")] TestFunc data_func, [CCode (delegate_target_pos = 1.9, type = "void (*) (void)")] TestFunc data_teardown, [CCode (pos = 1.8)] size_t data_size = 0); +#endif + } + + [Compact] + [CCode (cname = "GTestSuite", ref_function = "", unref_function = "")] + public class TestSuite { + [CCode (cname = "g_test_create_suite")] + public TestSuite (string name); + [CCode (cname = "g_test_get_root")] + public static TestSuite get_root (); + [CCode (cname = "g_test_suite_add")] + public void add (TestCase test_case); + [CCode (cname = "g_test_suite_add_suite")] + public void add_suite (TestSuite test_suite); + } + +#if GLIB_2_26 + [CCode (has_target = false)] + public delegate void TestFunc (); + public delegate void TestDataFunc (); + public delegate void TestFixtureFunc (void* fixture); +#else + public delegate void TestFunc (void* fixture); + public delegate void TestDataFunc (); +#endif + + [CCode (cprefix = "G_TEST_SUBPROCESS_INHERIT_", has_type_id = false)] + [Flags] + public enum TestSubprocessFlags { + STDIN, + STDOUT, + STDERR + } + + [Flags] + [CCode (cprefix = "G_TEST_TRAP_", has_type_id = false)] + public enum TestTrapFlags { + SILENCE_STDOUT, + SILENCE_STDERR, + INHERIT_STDIN + } + + /* Doubly-Linked Lists */ + + [Compact] + [CCode (dup_function = "g_list_copy", free_function = "g_list_free")] + public class List { + public List (); + + [ReturnsModifiedPointer ()] + public void append (owned G data); + [ReturnsModifiedPointer ()] + public void prepend (owned G data); + [ReturnsModifiedPointer ()] + public void insert (owned G data, int position); + [ReturnsModifiedPointer ()] + public void insert_before (List sibling, owned G data); + [ReturnsModifiedPointer ()] + public void insert_sorted (owned G data, CompareFunc compare_func); + [ReturnsModifiedPointer ()] + public void remove (G data); + [ReturnsModifiedPointer ()] + public void remove_link (List llink); + [ReturnsModifiedPointer ()] + public void delete_link (List link_); + [ReturnsModifiedPointer ()] + public void remove_all (G data); + + public uint length (); + public List copy (); + [ReturnsModifiedPointer ()] + public void reverse (); + [ReturnsModifiedPointer ()] + public void sort (CompareFunc compare_func); + [ReturnsModifiedPointer ()] + public void insert_sorted_with_data (owned G data, CompareDataFunc compare_func); + [ReturnsModifiedPointer ()] + public void sort_with_data (CompareDataFunc compare_func); + [ReturnsModifiedPointer ()] + public void concat (owned List list2); + public void @foreach (Func func); + + public unowned List first (); + public unowned List last (); + public unowned List nth (uint n); + public unowned G nth_data (uint n); + public unowned List nth_prev (uint n); + + public unowned List find (G data); + public unowned List find_custom (G data, CompareFunc func); + [CCode (cname = "g_list_find_custom", simple_generics = true)] + public unowned List search (T data, SearchFunc func); + + public int position (List llink); + public int index (G data); + + public G data; + public List next; + public unowned List prev; + } + + /* Singly-Linked Lists */ + + [Compact] + [CCode (dup_function = "g_slist_copy", free_function = "g_slist_free")] + public class SList { + public SList (); + + [ReturnsModifiedPointer ()] + public void append (owned G data); + [ReturnsModifiedPointer ()] + public void prepend (owned G data); + [ReturnsModifiedPointer ()] + public void insert (owned G data, int position); + [ReturnsModifiedPointer ()] + public void insert_before (SList sibling, owned G data); + [ReturnsModifiedPointer ()] + public void insert_sorted (owned G data, CompareFunc compare_func); + [ReturnsModifiedPointer ()] + public void remove (G data); + [ReturnsModifiedPointer ()] + public void remove_link (SList llink); + [ReturnsModifiedPointer ()] + public void delete_link (SList link_); + [ReturnsModifiedPointer ()] + public void remove_all (G data); + + public uint length (); + public SList copy (); + [ReturnsModifiedPointer ()] + public void reverse (); + [ReturnsModifiedPointer ()] + public void insert_sorted_with_data (owned G data, CompareDataFunc compare_func); + [ReturnsModifiedPointer ()] + public void sort (CompareFunc compare_func); + [ReturnsModifiedPointer ()] + public void sort_with_data (CompareDataFunc compare_func); + [ReturnsModifiedPointer ()] + public void concat (owned SList list2); + public void @foreach (Func func); + + public unowned SList last (); + public unowned SList nth (uint n); + public unowned G nth_data (uint n); + + public unowned SList find (G data); + public unowned SList find_custom (G data, CompareFunc func); + [CCode (cname = "g_slist_find_custom", simple_generics = true)] + public unowned SList search (T data, SearchFunc func); + + public int position (SList llink); + public int index (G data); + + public G data; + public SList next; + } + + [CCode (has_target = false)] + public delegate int CompareFunc (G a, G b); + + public delegate int CompareDataFunc (G a, G b); + + [CCode (cname = "g_strcmp0")] + public static GLib.CompareFunc strcmp; + + [CCode (cname = "GCompareFunc", has_target = false)] + public delegate int SearchFunc (G a, T b); + + /* Double-ended Queues */ + + [Compact] + [CCode (dup_function = "g_queue_copy", free_function = "g_queue_free")] + public class Queue { + public unowned List head; + public unowned List tail; + public uint length; + + public Queue (); + + public void clear (); + public bool is_empty (); + public uint get_length (); + public void reverse (); + public Queue copy (); + public unowned List find (G data); + public unowned List find_custom (G data, CompareFunc func); + [CCode (cname = "g_queue_find_custom", simple_generics = true)] + public unowned List search (T data, SearchFunc func); + public void sort (CompareDataFunc compare_func); + public void push_head (owned G data); + public void push_tail (owned G data); + public void push_nth (owned G data, int n); + public G pop_head (); + public G pop_tail (); + public G pop_nth (uint n); + public unowned G peek_head (); + public unowned G peek_tail (); + public unowned G peek_nth (uint n); + public int index (G data); + public void remove (G data); + public void remove_all (G data); + public void delete_link (List link); + public void unlink (List link); + public void insert_before (List sibling, owned G data); + public void insert_after (List sibling, owned G data); + public void insert_sorted (owned G data, CompareDataFunc func); + } + + /* Sequences */ + + [Compact] + [CCode (free_function = "g_sequence_free")] + public class Sequence { + [CCode (simple_generics = true)] + public Sequence (); + public int get_length (); + public void @foreach (Func func); + public void sort (CompareDataFunc cmp_func); + public void sort_iter (SequenceIterCompareFunc func); + public SequenceIter get_begin_iter (); + public SequenceIter get_end_iter (); + public SequenceIter get_iter_at_pos (int pos); + public SequenceIter append (owned G data); + public SequenceIter prepend (owned G data); + public SequenceIter insert_sorted (owned G data, CompareDataFunc cmp_func); + public SequenceIter insert_sorted_iter (owned G data, SequenceIterCompareFunc iter_cmp); + public SequenceIter search (G data, CompareDataFunc cmp_func); + public SequenceIter search_iter (G data, SequenceIterCompareFunc iter_cmp); + public SequenceIter lookup (G data, CompareDataFunc cmp_func); + public SequenceIter lookup_iter (G data, SequenceIterCompareFunc iter_cmp); + + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.foreach_range")] + public static void foreach_range (SequenceIter begin, SequenceIter end, Func func); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.insert_before")] + public static SequenceIter insert_before (SequenceIter iter, owned G data); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.move_to")] + public static void move (SequenceIter src, SequenceIter dest); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.swap")] + public static void swap (SequenceIter src, SequenceIter dest); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.sort_changed")] + public static void sort_changed (SequenceIter iter, CompareDataFunc cmp_func); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.sort_changed_iter")] + public static void sort_changed_iter (SequenceIter iter, SequenceIterCompareFunc iter_cmp); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.remove")] + public static void remove (SequenceIter iter); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.remove_range")] + public static void remove_range (SequenceIter begin, SequenceIter end); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.move_range")] + public static void move_range (SequenceIter dest, SequenceIter begin, SequenceIter end); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.get")] + public static unowned G get (SequenceIter iter); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.set")] + public static void set (SequenceIter iter, owned G data); + [Deprecated (since = "vala-0.26", replacement = "SequenceIter.range_get_midpoint")] + public static SequenceIter range_get_midpoint (SequenceIter begin, SequenceIter end); + } + + [Compact] + [CCode (ref_function = "", unref_function = "")] + public class SequenceIter { + public bool is_begin (); + public bool is_end (); + public SequenceIter next (); + public SequenceIter prev (); + public int get_position (); + public SequenceIter move (int delta); + public unowned Sequence get_sequence (); + public int compare (SequenceIter other); + + [CCode (cname = "g_sequence_foreach_range")] + public void foreach_range (SequenceIter end, Func func); + [CCode (cname = "g_sequence_insert_before")] + public SequenceIter insert_before (owned G data); + [CCode (cname = "g_sequence_move")] + public void move_to (SequenceIter dest); + [CCode (cname = "g_sequence_swap")] + public void swap (SequenceIter dest); + [CCode (cname = "g_sequence_sort_changed")] + public void sort_changed (CompareDataFunc cmp_func); + [CCode (cname = "g_sequence_sort_changed_iter")] + public void sort_changed_iter (SequenceIterCompareFunc iter_cmp); + [CCode (cname = "g_sequence_remove")] + public void remove (); + [CCode (cname = "g_sequence_remove_range")] + public void remove_range (SequenceIter end); + [CCode (cname = "g_sequence_move_range")] + public void move_range (SequenceIter begin, SequenceIter end); + [CCode (cname = "g_sequence_get")] + public unowned G get (); + [CCode (cname = "g_sequence_set")] + public void set (owned G data); + [CCode (cname = "g_sequence_range_get_midpoint")] + public SequenceIter range_get_midpoint (SequenceIter end); + } + + public delegate int SequenceIterCompareFunc (SequenceIter a, SequenceIter b); + + /* Hash Tables */ + + [Compact] + [CCode (ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref", type_id = "G_TYPE_HASH_TABLE", type_signature = "a{%s}")] + public class HashTable { + [CCode (cname = "g_hash_table_new_full", simple_generics = true)] + public HashTable (HashFunc? hash_func, EqualFunc? key_equal_func); + public HashTable.full (HashFunc? hash_func, EqualFunc? key_equal_func, DestroyNotify? key_destroy_func, DestroyNotify? value_destroy_func); + public void insert (owned K key, owned V value); + public void replace (owned K key, owned V value); + [Deprecated (since = "vala-0.26", replacement = "GenericSet.add")] + public void add (owned K key); + public unowned V? lookup (K key); + public bool lookup_extended (K lookup_key, out unowned K orig_key, out unowned V value); + public bool contains (K key); + public bool remove (K key); + public void remove_all (); + public uint foreach_remove (HRFunc predicate); + [CCode (cname = "g_hash_table_lookup")] + public unowned V? @get (K key); + [CCode (cname = "g_hash_table_insert")] + public void @set (owned K key, owned V value); + public List get_keys (); +#if VALA_0_26 + public (unowned K)[] get_keys_as_array (); +#endif + public List get_values (); + public void @foreach (HFunc func); + [CCode (cname = "g_hash_table_foreach")] + public void for_each (HFunc func); + public unowned V? find (HRFunc predicate); + public uint size (); + public bool steal (K key); + public void steal_all (); + [CCode (cname = "_vala_g_hash_table_take")] + public V? take (K key, out bool exists = null) { + GLib.HashTable? ht = null; + void** htp = &ht; + *htp = this.lookup (key); + exists = this.steal (key); + return ht; + } + public uint length { + [CCode (cname = "g_hash_table_size")] + get; + } + } + + public struct HashTableIter { + public HashTableIter (GLib.HashTable table); + public bool next ([CCode (type = "gpointer*")] out unowned K key, [CCode (type = "gpointer*")] out unowned V value); + public void remove (); + public void steal (); + public unowned GLib.HashTable get_hash_table (); + } + + [Compact, CCode (cname = "GHashTable", lower_case_cprefix = "g_hash_table_", ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref", type_id = "G_TYPE_HASH_TABLE", type_signature = "a{%s}")] + public class GenericSet { + [CCode (cname = "g_hash_table_new_full", simple_generics = true)] + public GenericSet (HashFunc? hash_func, EqualFunc? equal_func, GLib.DestroyNotify? always_pass_null_here = null); + public void add (owned T value); + public bool contains (T valule); + public bool remove (T value); + public void remove_all (); + public GLib.List get_values (); + [CCode (cname = "g_hash_table_iter_init", instance_pos = -1)] + public GLib.GenericSetIter iterator (); + [CCode (cname = "_vala_g_hash_set_foreach")] + public void @foreach (GLib.Func func) { + ((GLib.HashTable) this).foreach ((k, v) => func (v)); + } + public uint length { + [CCode (cname = "g_hash_table_size")] + get; + } + } + + [CCode (cname = "GHashTableIter", lower_case_cprefix = "g_hash_table_iter_")] + public struct GenericSetIter { + [CCode (cname = "_vala_hash_set_next_value")] + public unowned T? next_value () { + void* vi = &this; + GLib.HashTableIter* htp = vi; + unowned T? value; + return htp->next (out value, null) ? value : null; + } + public void remove (); + } + + [CCode (has_target = false)] + public delegate uint HashFunc (K key); + [CCode (has_target = false)] + public delegate bool EqualFunc (G a, G b); + public delegate void HFunc (K key, V value); + public delegate bool HRFunc (K key, V value); + + public delegate void DestroyNotify (void* data); + + [CCode (cname = "g_direct_hash")] + public static GLib.HashFunc direct_hash; + [CCode (cname = "g_direct_equal")] + public static GLib.EqualFunc direct_equal; + [CCode (cname = "g_int64_hash")] + public static GLib.HashFunc int64_hash; + [CCode (cname = "g_int64_equal")] + public static GLib.EqualFunc int64_equal; + [CCode (cname = "g_int_hash")] + public static GLib.HashFunc int_hash; + [CCode (cname = "g_int_equal")] + public static GLib.EqualFunc int_equal; + [CCode (cname = "g_str_hash")] + public static GLib.HashFunc str_hash; + [CCode (cname = "g_str_equal")] + public static GLib.EqualFunc str_equal; + [CCode (cname = "g_free")] + public static GLib.DestroyNotify g_free; + [CCode (cname = "g_object_unref")] + public static GLib.DestroyNotify g_object_unref; + [CCode (cname = "g_list_free")] + public static GLib.DestroyNotify g_list_free; + [CCode (cname = "((GDestroyNotify) g_variant_unref)")] + public static GLib.DestroyNotify g_variant_unref; + + /* Strings */ + + [Compact] + [GIR (name = "String")] + [CCode (cname = "GString", cprefix = "g_string_", free_function = "g_string_free", type_id = "G_TYPE_GSTRING")] + public class StringBuilder { + public StringBuilder (string init = ""); + [CCode (cname = "g_string_sized_new")] + public StringBuilder.sized (size_t dfl_size); + public unowned StringBuilder assign (string rval); + public unowned StringBuilder append (string val); + public unowned StringBuilder append_c (char c); + public unowned StringBuilder append_unichar (unichar wc); + public unowned StringBuilder append_len (string val, ssize_t len); + public unowned StringBuilder prepend (string val); + public unowned StringBuilder prepend_c (char c); + public unowned StringBuilder prepend_unichar (unichar wc); + public unowned StringBuilder prepend_len (string val, ssize_t len); + public unowned StringBuilder insert (ssize_t pos, string val); + public unowned StringBuilder insert_len (ssize_t pos, string val, ssize_t len); + public unowned StringBuilder insert_unichar (ssize_t pos, unichar wc); + public unowned StringBuilder overwrite (size_t pos, string val); + public unowned StringBuilder overwrite_len (size_t pos, string val, ssize_t len); + public unowned StringBuilder erase (ssize_t pos = 0, ssize_t len = -1); + public unowned StringBuilder truncate (size_t len = 0); + + [PrintfFormat] + public void printf (string format, ...); + [PrintfFormat] + public void append_printf (string format, ...); + public void vprintf (string format, va_list args); + public void append_vprintf (string format, va_list args); + + public string str; + public ssize_t len; + public ssize_t allocated_len; + + public uint8[] data { + get { + unowned uint8[] res = (uint8[]) this.str; + res.length = (int) this.len; + return res; + } + } + + public static Bytes free_to_bytes (StringBuilder str); + } + + /* String Chunks */ + + [Compact] + [CCode (free_function = "g_string_chunk_free")] + public class StringChunk { + public StringChunk (size_t size); + public unowned string insert (string str); + public unowned string insert_const (string str); + public unowned string insert_len (string str, ssize_t len); + public void clear (); + } + + /* Pointer Arrays */ + + [Compact, Deprecated (since = "vala-0.26", replacement="GenericArray")] + [CCode (ref_function = "g_ptr_array_ref", unref_function = "g_ptr_array_unref", type_id = "G_TYPE_PTR_ARRAY")] + public class PtrArray { + public PtrArray (); + public PtrArray.with_free_func (GLib.DestroyNotify? element_free_func); + [CCode (cname = "g_ptr_array_sized_new")] + public PtrArray.sized (uint reserved_size); + public void add (void* data); + public void foreach (GLib.Func func); + [CCode (cname = "g_ptr_array_index")] + public void* index(uint index); + public bool remove (void* data); + public void* remove_index (uint index); + public bool remove_fast (void *data); + public void remove_index_fast (uint index); + public void remove_range (uint index, uint length); + public void sort (CompareFunc compare_func); + public void sort_with_data (CompareDataFunc compare_func); + public void set_free_func (GLib.DestroyNotify? element_free_function); + public void set_size (int length); + + public uint len; + public void** pdata; + } + + [Compact] + [CCode (cname = "GPtrArray", cprefix = "g_ptr_array_", ref_function = "g_ptr_array_ref", unref_function = "g_ptr_array_unref", type_id = "G_TYPE_PTR_ARRAY")] + [GIR (name = "PtrArray")] + public class GenericArray { +#if GLIB_2_30 + [CCode (cname = "g_ptr_array_new_full", simple_generics = true)] + public GenericArray (uint reserved_size = 0); +#else + [CCode (cname = "g_ptr_array_new_with_free_func", simple_generics = true)] + public GenericArray (); +#endif + public void add (owned G data); + public void foreach (GLib.Func func); + [CCode (cname = "g_ptr_array_index")] + public unowned G get (uint index); + public void insert (int index, owned G data); + public bool remove (G data); + public void remove_index (uint index); + public bool remove_fast (G data); + public void remove_index_fast (uint index); + public void remove_range (uint index, uint length); + public void set (uint index, owned G data) { + this.add ((owned) data); + this.remove_index_fast (index); + } + [CCode (cname = "vala_g_ptr_array_sort")] + public void sort (GLib.CompareFunc compare_func) { + this._sort_with_data ((a, b) => { + return compare_func ((G**) (*a), (G**) (*b)); + }); + } + [CCode (cname = "g_ptr_array_sort_with_data")] + public void _sort_with_data (GLib.CompareDataFunc compare_func); + [CCode (cname = "vala_g_ptr_array_sort_with_data")] + public void sort_with_data (GLib.CompareDataFunc compare_func) { + this._sort_with_data ((a, b) => { + return compare_func ((G**) (*a), (G**) (*b)); + }); + } + private void set_size (int length); + + public int length { + get { return (int) this.len; } + set { this.set_size (value); } + } + + [CCode (cname = "pdata", array_length_cname = "len", array_length_type = "guint")] + public G[] data; + + private uint len; + } + + [Compact] + [CCode (cprefix = "g_bytes_", ref_function = "g_bytes_ref", unref_function = "g_bytes_unref", type_id = "G_TYPE_BYTES")] + public class Bytes { + public Bytes ([CCode (array_length_type = "gsize")] uint8[] data); + public Bytes.take ([CCode (array_length_type = "gsize")] owned uint8[] data); + public Bytes.static ([CCode (array_length_type = "gsize")] uint8[] data); + public Bytes.with_free_func ([CCode (array_length_type = "gsize")] owned uint8[] data, GLib.DestroyNotify? free_func = GLib.g_free); + public Bytes.from_bytes (GLib.Bytes bytes, size_t offset, size_t length); + + [CCode (cname = "g_bytes_new_with_free_func", simple_generics = true)] + public static Bytes new_with_owner ([CCode (array_length_type = "gsize")] uint8[] data, [CCode (destroy_notify_pos = 1.9)] owned T? owner = null); + + [CCode (array_length_type = "gsize")] + public unowned uint8[] get_data (); + public size_t get_size (); + public uint hash (); + public int compare (GLib.Bytes bytes2); + public static uint8[] unref_to_data (owned GLib.Bytes bytes); + public static GLib.ByteArray unref_to_array (owned GLib.Bytes bytes); + + [CCode (cname = "_vala_g_bytes_get")] + public uint8 get (int index) { + unowned uint8[] data = this.get_data (); + return data[index]; + } + + [CCode (cname = "_vala_g_bytes_slice")] + public GLib.Bytes slice (int start, int end) { + unowned uint8[] data = this.get_data (); + return new GLib.Bytes (data[start:end]); + } + + public int length { + [CCode (cname = "_vala_g_bytes_get_length")] + get { + return (int) this.get_size (); + } + } + } + + /* Byte Arrays */ + + [Compact] + [CCode (cprefix = "g_byte_array_", ref_function = "g_byte_array_ref", unref_function = "g_byte_array_unref", type_id = "G_TYPE_BYTE_ARRAY")] + public class ByteArray { + public ByteArray (); + [CCode (cname = "g_byte_array_sized_new")] + public ByteArray.sized (uint reserved_size); + public ByteArray.take (owned uint8[] data); + public void append (uint8[] data); + public static GLib.Bytes free_to_bytes (owned GLib.ByteArray array); + public void prepend (uint8[] data); + public void remove_index (uint index); + public void remove_index_fast (uint index); + public void remove_range (uint index, uint length); + public void sort (CompareFunc compare_func); + public void sort_with_data (CompareDataFunc compare_func); + public void set_size (uint length); + + public uint len; + [CCode (array_length_cname = "len", array_length_type = "guint")] + public uint8[] data; + } + + /* N-ary Trees */ + + public delegate bool NodeTraverseFunc (Node node); + public delegate void NodeForeachFunc (Node node); + + [CCode (cprefix = "G_TRAVERSE_")] + public enum TraverseFlags { + LEAVES, + NON_LEAVES, + ALL, + MASK, + LEAFS, + NON_LEAFS + } + + [Compact] + [CCode (dup_function = "g_node_copy", free_function = "g_node_destroy")] + public class Node { + public Node(owned G? data = null); + public Node copy (); + public unowned Node insert (int position, owned Node node); + public unowned Node insert_before (Node sibling, owned Node node); + public unowned Node insert_after (Node sibling, owned Node node); + public unowned Node append (owned Node node); + public unowned Node prepend (owned Node node); + public unowned Node insert_data (int position, owned G data); + public unowned Node insert_data_before (Node sibling, owned G data); + public unowned Node append_data (owned G data); + public unowned Node prepend_data (owned G data); + public void reverse_children (); + public void traverse (TraverseType order, TraverseFlags flags, int max_depth, NodeTraverseFunc func); + public void children_foreach (TraverseFlags flags, NodeForeachFunc func); + public unowned Node get_root (); + public unowned Node find (TraverseType order, TraverseFlags flags, G data); + public unowned Node find_child (TraverseFlags flags, G data); + public int child_index (G data); + public int child_position (Node child); + public unowned Node first_child (); + public unowned Node last_child (); + public unowned Node nth_child (uint n); + public unowned Node first_sibling (); + public unowned Node next_sibling (); + public unowned Node prev_sibling (); + public unowned Node last_sibling (); + + [CCode (cname = "G_NODE_IS_LEAF")] + public bool is_leaf (); + [CCode (cname = "G_NODE_IS_ROOT")] + public bool is_root (); + public bool is_ancestor (Node descendant); + + public uint depth (); + public uint n_nodes (TraverseFlags flags); + public uint n_children (); + public uint max_height (); + + [CCode (cname = "g_node_unlink")] + public void _unlink (); + [CCode (cname = "g_node_unlink_vala")] + public Node unlink () + { + void *ptr = this; + _unlink (); + return (Node) (owned) ptr; + } + + public G data; + public Node next; + public Node prev; + public Node parent; + public Node children; + } + + /* Quarks */ + + [CCode (type_id = "G_TYPE_UINT")] + public struct Quark : uint32 { + public static Quark from_string (string str); + public static Quark try_string (string str); + public unowned string to_string (); + } + + /* Keyed Data Lists */ + + [CCode (cname = "GData*")] + public struct Datalist { + public Datalist (); + public void clear (); + public unowned G id_get_data (Quark key_id); + public void id_set_data (Quark key_id, owned G data); + public void id_set_data_full (Quark key_id, owned G data, DestroyNotify? destroy_func); + public void id_remove_data (Quark key_id); + public G id_remove_no_notify (Quark key_id); + public void @foreach (DataForeachFunc func); + public unowned G get_data (string key); + public void set_data_full (string key, owned G data, DestroyNotify? destry_func); + public G remove_no_notify (string key); + public void set_data (string key, owned G data); + public void remove_data (string key); + } + + public delegate void DataForeachFunc (Quark key_id, G data); + + /* GArray */ + + [Compact] + [CCode (ref_function = "g_array_ref", unref_function = "g_array_unref", type_id = "G_TYPE_ARRAY")] + public class Array { + [CCode (cname = "len")] + public uint length; + [CCode (cname = "data", array_length_cname = "len", array_length_type = "uint")] + public G[] data; + + public Array (bool zero_terminated = true, bool clear = true, ulong element_size = 0); + [CCode (cname = "g_array_sized_new")] + public Array.sized (bool zero_terminated, bool clear, ulong element_size, uint reserved_size); + public void append_val (owned G value); + public void append_vals (void* data, uint len); + public void prepend_val (owned G value); + public void prepend_vals (void* data, uint len); + public void insert_val (uint index, owned G value); + public void insert_vals (uint index, void* data, uint len); + public void remove_index (uint index); + public void remove_index_fast (uint index); + public void remove_range (uint index, uint length); + public void sort (CompareFunc compare_func); + public void sort_with_data (CompareDataFunc compare_func); + [CCode (generic_type_pos = 0.1)] + public unowned G index (uint index); + public void set_size (uint length); + } + + /* GTree */ + + public delegate bool TraverseFunc (K key, V value); + + [CCode (cprefix = "G_", has_type_id = false)] + public enum TraverseType { + IN_ORDER, + PRE_ORDER, + POST_ORDER, + LEVEL_ORDER + } + + public delegate int TreeSearchFunc (K key); + + [Compact] + [CCode (ref_function = "g_tree_ref", unref_function = "g_tree_unref")] + public class Tree { + [CCode (cname = "g_tree_new_full", simple_generics = true)] + public Tree (CompareDataFunc key_compare_func); + [Deprecated (since = "vala-0.20", replacement = "Tree ()")] + public Tree.with_data (CompareDataFunc key_compare_func); + public Tree.full (CompareDataFunc key_compare_func, DestroyNotify? key_destroy_func, DestroyNotify? value_destroy_func); + public void insert (owned K key, owned V value); + public void replace (owned K key, owned V value); + public int nnodes (); + public int height (); + public unowned V lookup (K key); + public bool lookup_extended (K lookup_key, out unowned K orig_key, out unowned V value); + public void foreach (TraverseFunc traverse_func); + public unowned V search (TreeSearchFunc search_func); + [CCode (cname = "g_tree_search")] + public unowned V search_key (CompareFunc search_func, K key); + public bool remove (K key); + public bool steal (K key); + } + + /* Internationalization */ + + [CCode (cname = "_", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string _ (string str); + [CCode (cname = "Q_", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string Q_ (string str); + [CCode (cname = "N_", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string N_ (string str); + [CCode (cname = "C_", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string C_ (string context, string str); + [CCode (cname = "NC_", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string NC_ (string context, string str); + [CCode (cname = "ngettext", cheader_filename = "glib.h,glib/gi18n-lib.h")] + public static unowned string ngettext (string msgid, string msgid_plural, ulong n); + [CCode (cname = "g_dgettext", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string dgettext (string? domain, string msgid); + [CCode (cname = "g_dcgettext", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string dcgettext (string? domain, string msgid, int category); + [CCode (cname = "g_dngettext", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string dngettext (string? domain, string msgid, string msgid_plural, ulong n); + [CCode (cname = "g_dpgettext", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string dpgettext (string? domain, string msgctxid, size_t msgidoffset); + [CCode (cname = "g_dpgettext2", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string dpgettext2 (string? domain, string context, string msgid); + + [CCode (cname = "int", cprefix = "LC_", cheader_filename = "locale.h", has_type_id = false)] + public enum LocaleCategory { + ALL, + COLLATE, + CTYPE, + MESSAGES, + MONETARY, + NUMERIC, + TIME + } + + namespace Intl { + [CCode (cname = "setlocale", cheader_filename = "locale.h")] + public static unowned string? setlocale (LocaleCategory category = GLib.LocaleCategory.ALL, string? locale = ""); + [CCode (cname = "bindtextdomain", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string? bindtextdomain (string domainname, string? dirname); + [CCode (cname = "textdomain", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string? textdomain (string? domainname); + [CCode (cname = "bind_textdomain_codeset", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string? bind_textdomain_codeset (string domainname, string? codeset); + [CCode (cname = "g_get_language_names", array_length = false, array_null_terminated = true)] + public static unowned string[] get_language_names (); + [CCode (cname = "g_strip_context", cheader_filename = "glib/gi18n-lib.h")] + public static unowned string strip_context (string msgid, string msgval); + } + + [Compact] + public class PatternSpec { + public PatternSpec (string pattern); + public bool equal (PatternSpec pspec); + [CCode (cname = "g_pattern_match")] + public bool match (uint string_length, string str, string? str_reversed); + [CCode (cname = "g_pattern_match_string")] + public bool match_string (string str); + [CCode (cname = "g_pattern_match_simple")] + public static bool match_simple (string pattern, string str); + } + + [CCode (lower_case_cprefix = "glib_version_")] + namespace Version { + [CCode (cname = "glib_major_version")] + public const uint major; + [CCode (cname = "glib_minor_version")] + public const uint minor; + [CCode (cname = "glib_micro_version")] + public const uint micro; + [CCode (cname = "glib_check_version")] + public static unowned string? check (uint required_major, uint required_minor = 0, uint required_micro = 0); + + [CCode (cname = "GLIB_MAJOR_VERSION")] + public const uint MAJOR; + [CCode (cname = "GLIB_MINOR_VERSION")] + public const uint MINOR; + [CCode (cname = "GLIB_MICRO_VERSION")] + public const uint MICRO; + [CCode (cname = "GLIB_CHECK_VERSION")] + public static bool CHECK (uint required_major, uint required_minor = 0, uint required_micro = 0); + + public const uint @2_26; + public const uint @2_28; + public const uint @2_30; + public const uint @2_32; + public const uint @2_34; + public const uint @2_36; + public const uint @2_38; + + [CCode (cname = "glib_binary_age")] + public const uint binary_age; + [CCode (cname = "glib_interface_age")] + public const uint interface_age; + } + + namespace Win32 { + public string error_message (int error); + public string getlocale (); + public string get_package_installation_directory_of_module (void* hmodule); + public uint get_windows_version (); + public string locale_filename_from_utf8 (string utf8filename); + [CCode (cname = "G_WIN32_HAVE_WIDECHAR_API")] + public bool have_widechar_api (); + [CCode (cname = "G_WIN32_IS_NT_BASED")] + public bool is_nt_based (); + public string[] get_command_line (); + } + + [Compact] + [Immutable] + [CCode (copy_function = "g_variant_type_copy", free_function = "g_variant_type_free", type_id = "G_TYPE_VARIANT_TYPE")] + public class VariantType { + [CCode (cname = "G_VARIANT_TYPE_BOOLEAN")] + public static VariantType BOOLEAN; + [CCode (cname = "G_VARIANT_TYPE_BYTE")] + public static VariantType BYTE; + [CCode (cname = "G_VARIANT_TYPE_INT16")] + public static VariantType INT16; + [CCode (cname = "G_VARIANT_TYPE_UINT16")] + public static VariantType UINT16; + [CCode (cname = "G_VARIANT_TYPE_INT32")] + public static VariantType INT32; + [CCode (cname = "G_VARIANT_TYPE_UINT32")] + public static VariantType UINT32; + [CCode (cname = "G_VARIANT_TYPE_INT64")] + public static VariantType INT64; + [CCode (cname = "G_VARIANT_TYPE_UINT64")] + public static VariantType UINT64; + [CCode (cname = "G_VARIANT_TYPE_HANDLE")] + public static VariantType HANDLE; + [CCode (cname = "G_VARIANT_TYPE_DOUBLE")] + public static VariantType DOUBLE; + [CCode (cname = "G_VARIANT_TYPE_STRING")] + public static VariantType STRING; + [CCode (cname = "G_VARIANT_TYPE_OBJECT_PATH")] + public static VariantType OBJECT_PATH; + [CCode (cname = "G_VARIANT_TYPE_SIGNATURE")] + public static VariantType SIGNATURE; + [CCode (cname = "G_VARIANT_TYPE_VARIANT")] + public static VariantType VARIANT; + [CCode (cname = "G_VARIANT_TYPE_UNIT")] + public static VariantType UNIT; + [CCode (cname = "G_VARIANT_TYPE_ANY")] + public static VariantType ANY; + [CCode (cname = "G_VARIANT_TYPE_BASIC")] + public static VariantType BASIC; + [CCode (cname = "G_VARIANT_TYPE_MAYBE")] + public static VariantType MAYBE; + [CCode (cname = "G_VARIANT_TYPE_ARRAY")] + public static VariantType ARRAY; + [CCode (cname = "G_VARIANT_TYPE_TUPLE")] + public static VariantType TUPLE; + [CCode (cname = "G_VARIANT_TYPE_DICT_ENTRY")] + public static VariantType DICT_ENTRY; + [CCode (cname = "G_VARIANT_TYPE_DICTIONARY")] + public static VariantType DICTIONARY; + [CCode (cname = "G_VARIANT_TYPE_STRING_ARRAY")] + public static VariantType STRING_ARRAY; + [CCode (cname = "G_VARIANT_TYPE_OBJECT_PATH_ARRAY")] + public static VariantType OBJECT_PATH_ARRAY; + [CCode (cname = "G_VARIANT_TYPE_BYTESTRING")] + public static VariantType BYTESTRING; + [CCode (cname = "G_VARIANT_TYPE_BYTESTRING_ARRAY")] + public static VariantType BYTESTRING_ARRAY; + [CCode (cname = "G_VARIANT_TYPE_VARDICT")] + public static VariantType VARDICT; + + public static bool string_is_valid (string type_string); + public static bool string_scan (string type_string, char *limit, out char* endptr); + + public VariantType (string type_string); + public size_t get_string_length (); + public char* peek_string (); + public string dup_string (); + + public bool is_definite (); + public bool is_container (); + public bool is_basic (); + public bool is_maybe (); + public bool is_array (); + public bool is_tuple (); + public bool is_dict_entry (); + public bool is_variant (); + + public uint hash (); + public bool equal (VariantType other); + public bool is_subtype_of (VariantType supertype); + + public unowned VariantType element (); + public unowned VariantType first (); + public unowned VariantType next (); + public unowned VariantType n_items (); + public unowned VariantType key (); + public unowned VariantType value (); + + public VariantType.array (VariantType element); + public VariantType.maybe (VariantType element); + public VariantType.tuple (VariantType[] items); + public VariantType.dict_entry (VariantType key, VariantType value); + } + + [Compact] + [CCode (ref_function = "g_variant_ref", unref_function = "g_variant_unref", ref_sink_function = "g_variant_ref_sink", type_id = "G_TYPE_VARIANT", marshaller_type_name = "VARIANT", param_spec_function = "g_param_spec_variant", get_value_function = "g_value_get_variant", set_value_function = "g_value_set_variant", take_value_function = "g_value_take_variant", type_signature = "v")] + public class Variant { + [CCode (has_type_id = false)] + public enum Class { + BOOLEAN, BYTE, INT16, UINT16, INT32, UINT32, INT64, + UINT64, HANDLE, DOUBLE, STRING, OBJECT_PATH, + SIGNATURE, VARIANT, MAYBE, ARRAY, TUPLE, DICT_ENTRY + } + + public unowned VariantType get_type (); + public unowned string get_type_string (); + public bool is_of_type (VariantType type); + public bool is_container (); + public bool is_floating (); + public Class classify (); + public int compare (Variant other); + + public Variant.boolean (bool value); + public Variant.byte (uchar value); + public Variant.int16 (int16 value); + public Variant.uint16 (uint16 value); + public Variant.int32 (int32 value); + public Variant.uint32 (uint32 value); + public Variant.int64 (int64 value); + public Variant.uint64 (uint64 value); + public Variant.handle (int32 value); + public Variant.double (double value); + public Variant.string (string value); + public Variant.bytestring (string value); + public Variant.object_path (string object_path); + public static bool is_object_path (string object_path); + public Variant.signature (string signature); + public static bool is_signature (string signature); + + public bool get_boolean (); + public uint8 get_byte (); + public int16 get_int16 (); + public uint16 get_uint16 (); + public int32 get_int32 (); + public uint32 get_uint32 (); + public int64 get_int64 (); + public uint64 get_uint64 (); + public int32 get_handle (); + public double get_double (); + public unowned string get_string (out size_t length = null); + public string dup_string (out size_t length = null); + public unowned string get_bytestring (); + public string dup_bytestring (out size_t length); + + public Variant.strv (string[] value); + [CCode (array_length_type = "size_t")] +#if VALA_0_26 + public (unowned string)[] get_strv (); +#else + public string*[] get_strv (); +#endif + [CCode (array_length_type = "size_t")] + public string[] dup_strv (); + + public Variant.bytestring_array (string[] value); + [CCode (array_length_type = "size_t")] +#if VALA_0_26 + public (unowned string)[] get_bytestring_array (); +#else + public string*[] get_bytestring_array (); +#endif + [CCode (array_length_type = "size_t")] + public string[] dup_bytestring_array (); + +#if GLIB_2_30 + public Variant.objv (string[] value); + [CCode (array_length_type = "size_t")] +#if VALA_0_26 + public (unowned string)[] get_objv (); +#else + public string*[] get_objv (); +#endif + [CCode (array_length_type = "size_t")] + public string[] dup_objv (); +#endif + + public Variant (string format, ...); + // note: the function changes its behaviour when end_ptr is null, so 'out char *' is wrong + public Variant.va (string format, char **end_ptr, va_list *app); + public void get (string format, ...); + public void get_va (string format, char **end_ptr, va_list *app); + + public Variant.variant (Variant value); + public Variant.maybe (VariantType? child_type, Variant? child); + public Variant.array (VariantType? child_type, Variant[] children); + [CCode (simple_generics = true)] + public static Variant new_fixed_array (VariantType? element_type, [CCode (array_length_type = "gsize")] T[] elements, size_t element_size); + public Variant.tuple (Variant[] children); + public Variant.dict_entry (Variant key, Variant value); + public Variant get_variant (); + public Variant? get_maybe (); + + public size_t n_children (); + public Variant get_child_value (size_t index); + public void get_child (size_t index, string format_string, ...); + + public Variant? lookup_value (string key, VariantType? expected_type); + public bool lookup (string key, string format_string, ...); + + public size_t get_size (); + public void *get_data (); + public void store (void *data); + + public string print (bool type_annotate); + public StringBuilder print_string (StringBuilder? builder, bool type_annotate); + + public uint hash (); + public bool equal (Variant other); + + public Variant byteswap (); + public Variant get_normal_form (); + public bool is_normal_form (); + [CCode (returns_floating_reference = true, simple_generics = true)] + public static Variant new_from_data (VariantType type, uchar[] data, bool trusted, [CCode (destroy_notify_pos = 3.9)] owned T? owner = null); + + [CCode (cname = "g_variant_iter_new")] + public VariantIter iterator (); + + public static Variant parse (VariantType? type, string text, char *limit = null, char **endptr = null) throws GLib.VariantParseError; + public Variant.parsed (string format_string, ...); + + public bool check_format_string (string format_string, bool copy_only); + + public Variant.from_bytes (VariantType type, Bytes bytes, bool trusted); + public Bytes get_data_as_bytes (); + + public Variant.printf (string format_string, ...); + public Variant.take_string (string str); + + public static void parse_error_print_context (GLib.VariantParseError error, string source_str); + } + + public errordomain VariantParseError { + FAILED, + BASIC_TYPE_EXPECTED, + CANNOT_INFER_TYPE, + DEFINITE_TYPE_EXPECTED, + INPUT_NOT_AT_END, + INVALID_CHARACTER, + INVALID_FORMAT_STRING, + INVALID_OBJECT_PATH, + INVALID_SIGNATURE, + INVALID_TYPE_STRING, + NO_COMMON_TYPE, + NUMBER_OUT_OF_RANGE, + NUMBER_TOO_BIG, + TYPE_ERROR, + UNEXPECTED_TOKEN, + UNKNOWN_KEYWORD, + UNTERMINATED_STRING_CONSTANT, + VALUE_EXPECTED + } + + [Compact] + public class VariantIter { + public VariantIter (Variant value); + public size_t n_children (); + public Variant? next_value (); + public bool next (string format_string, ...); + } + + [Compact] + [CCode (ref_function = "g_variant_builder_ref", unref_function = "g_variant_builder_unref")] + public class VariantBuilder { + public VariantBuilder (VariantType type); + public void open (VariantType type); + public void close (); + public void add_value (Variant value); + public void add (string format_string, ...); + [CCode (returns_floating_reference = true)] + public Variant end (); + } + + [Compact, CCode (ref_function = "g_variant_dict_ref", unref_function = "g_variant_dict_unref")] + public class VariantDict { + public VariantDict (GLib.Variant? from_asv = null); + public bool lookup (string key, string format_string, ...); + public GLib.Variant lookup_value (string key, GLib.VariantType expected_type); + public bool contains (string key); + public void insert (string key, string format_string, ...); + public void insert_value (string key, GLib.Variant value); + public bool remove (string key); + public void clear (); + [CCode (returns_floating_reference = true)] + public GLib.Variant end (); + } + + [CCode (cname = "char", const_cname = "const char", copy_function = "g_strdup", free_function = "g_free", cheader_filename = "stdlib.h,string.h,glib.h", type_id = "G_TYPE_STRING", marshaller_type_name = "STRING", param_spec_function = "g_param_spec_string", get_value_function = "g_value_get_string", set_value_function = "g_value_set_string", take_value_function = "g_value_take_string", type_signature = "o")] + public class ObjectPath : string { + [CCode (cname = "g_strdup")] + public ObjectPath (string path); + } + + [CCode (cname = "char", const_cname = "const char", copy_function = "g_strdup", free_function = "g_free", cheader_filename = "stdlib.h,string.h,glib.h", type_id = "G_TYPE_STRING", marshaller_type_name = "STRING", param_spec_function = "g_param_spec_string", get_value_function = "g_value_get_string", set_value_function = "g_value_set_string", take_value_function = "g_value_take_string")] + public class BusName : string { + [CCode (cname = "g_strdup")] + public BusName (string bus_name); + } + + [CCode (cname = "G_LIKELY", cheader_filename = "glib.h")] + public static bool likely (bool expression); + [CCode (cname = "G_UNLIKELY", cheader_filename = "glib.h")] + public static bool unlikely (bool expression); + [CCode (cname = "G_STATIC_ASSERT", cheader_filename = "glib.h")] + public static void static_assert (bool expression); + + [CCode (simple_generics = true, cname = "g_qsort_with_data")] + private static void _qsort_with_data (T[] elems, size_t size, [CCode (type = "GCompareDataFunc")] GLib.CompareDataFunc compare_func); + + [CCode (cname = "_vala_g_qsort_with_data")] + public static void qsort_with_data (T[] elems, size_t size, [CCode (type = "GCompareDataFunc")] GLib.CompareDataFunc compare_func) { + _qsort_with_data (elems, size, (a, b) => { + return compare_func (*a, *b); + }); + } + + /* Unix-specific functions. All of these have to include glib-unix.h. */ + namespace Unix { + [CCode (cheader_filename = "glib-unix.h", cname = "g_unix_signal_add_full")] + public static uint signal_add (int signum, owned GLib.SourceFunc handler, [CCode (pos = 0.9)] int priority = Priority.DEFAULT); + + [CCode (cheader_filename = "glib-unix.h", cname = "GSource")] + public class SignalSource : GLib.Source { + public SignalSource (int signum); + } + + [CCode (cheader_filename = "glib-unix.h")] + public static bool open_pipe (int fds, int flags) throws GLib.Error; + [CCode (cheader_filename = "glib-unix.h")] + public static bool set_fd_nonblocking (int fd, bool nonblock) throws GLib.Error; + } + + [CCode (cname = "GUnicodeScript", cprefix = "G_UNICODE_SCRIPT_", has_type_id = false)] + public enum UnicodeScript { + INVALID_CODE, + COMMON, + INHERITED, + ARABIC, + ARMENIAN, + BENGALI, + BOPOMOFO, + CHEROKEE, + COPTIC, + CYRILLIC, + DESERET, + DEVANAGARI, + ETHIOPIC, + GEORGIAN, + GOTHIC, + GREEK, + GUJARATI, + GURMUKHI, + HAN, + HANGUL, + HEBREW, + HIRAGANA, + KANNADA, + KATAKANA, + KHMER, + LAO, + LATIN, + MALAYALAM, + MONGOLIAN, + MYANMAR, + OGHAM, + OLD_ITALIC, + ORIYA, + RUNIC, + SINHALA, + SYRIAC, + TAMIL, + TELUGU, + THAANA, + THAI, + TIBETAN, + CANADIAN_ABORIGINAL, + YI, + TAGALOG, + HANUNOO, + BUHID, + TAGBANWA, + + BRAILLE, + CYPRIOT, + LIMBU, + OSMANYA, + SHAVIAN, + LINEAR_B, + TAI_LE, + UGARITIC, + + NEW_TAI_LUE, + BUGINESE, + GLAGOLITIC, + TIFINAGH, + SYLOTI_NAGRI, + OLD_PERSIAN, + KHAROSHTHI, + + UNKNOWN, + BALINESE, + CUNEIFORM, + PHOENICIAN, + PHAGS_PA, + NKO, + + KAYAH_LI, + LEPCHA, + REJANG, + SUNDANESE, + SAURASHTRA, + CHAM, + OL_CHIKI, + VAI, + CARIAN, + LYCIAN, + LYDIAN, + + /* Unicode-5.2 additions */ + AVESTAN, /* Avst */ + BAMUM, /* Bamu */ + EGYPTIAN_HIEROGLYPHS, /* Egyp */ + IMPERIAL_ARAMAIC, /* Armi */ + INSCRIPTIONAL_PAHLAVI, /* Phli */ + INSCRIPTIONAL_PARTHIAN, /* Prti */ + JAVANESE, /* Java */ + KAITHI, /* Kthi */ + LISU, /* Lisu */ + MEETEI_MAYEK, /* Mtei */ + OLD_SOUTH_ARABIAN, /* Sarb */ + OLD_TURKIC, /* Orkh */ + SAMARITAN, /* Samr */ + TAI_THAM, /* Lana */ + TAI_VIET, /* Tavt */ + + /* Unicode-6.0 additions */ + BATAK, /* Batk */ + BRAHMI, /* Brah */ + MANDAIC, /* Mand */ + + /* Unicode-6.1 additions */ + CHAKMA, /* Cakm */ + MEROITIC_CURSIVE, /* Merc */ + MEROITIC_HIEROGLYPHS, /* Mero */ + MIAO, /* Plrd */ + SHARADA, /* Shrd */ + SORA_SOMPENG, /* Sora */ + TAKRI /* Takr */ + } + + [CCode (cname = "GUnicodeType", cprefix = "G_UNICODE_", has_type_id = false)] + public enum UnicodeType { + CONTROL, + FORMAT, + UNASSIGNED, + PRIVATE_USE, + SURROGATE, + LOWERCASE_LETTER, + MODIFIER_LETTER, + OTHER_LETTER, + TITLECASE_LETTER, + UPPERCASE_LETTER, + COMBINING_MARK, + ENCLOSING_MARK, + NON_SPACING_MARK, + DECIMAL_NUMBER, + LETTER_NUMBER, + OTHER_NUMBER, + CONNECT_PUNCTUATION, + DASH_PUNCTUATION, + CLOSE_PUNCTUATION, + FINAL_PUNCTUATION, + INITIAL_PUNCTUATION, + OTHER_PUNCTUATION, + OPEN_PUNCTUATION, + CURRENCY_SYMBOL, + MODIFIER_SYMBOL, + MATH_SYMBOL, + OTHER_SYMBOL, + LINE_SEPARATOR, + PARAGRAPH_SEPARATOR, + SPACE_SEPARATOR + } + + [CCode (cname = "GUnicodeBreakType", cprefix = "G_UNICODE_BREAK_", has_type_id = false)] + public enum UnicodeBreakType { + MANDATORY, + CARRIAGE_RETURN, + LINE_FEED, + COMBINING_MARK, + SURROGATE, + ZERO_WIDTH_SPACE, + INSEPARABLE, + NON_BREAKING_GLUE, + CONTINGENT, + SPACE, + AFTER, + BEFORE, + BEFORE_AND_AFTER, + HYPHEN, + NON_STARTER, + OPEN_PUNCTUATION, + CLOSE_PUNCTUATION, + QUOTATION, + EXCLAMATION, + IDEOGRAPHIC, + NUMERIC, + INFIX_SEPARATOR, + SYMBOL, + ALPHABETIC, + PREFIX, + POSTFIX, + COMPLEX_CONTEXT, + AMBIGUOUS, + UNKNOWN, + NEXT_LINE, + WORD_JOINER, + HANGUL_L_JAMO, + HANGUL_V_JAMO, + HANGUL_T_JAMO, + HANGUL_LV_SYLLABLE, + HANGUL_LVT_SYLLABLE, + CLOSE_PARANTHESIS, + CONDITIONAL_JAPANESE_STARTER, + HEBREW_LETTER, + REGIONAL_INDICATOR + } + + [CCode (cname = "GNormalizeMode", cprefix = "G_NORMALIZE_", has_type_id = false)] + public enum NormalizeMode { + DEFAULT, + NFD, + DEFAULT_COMPOSE, + NFC, + ALL, + NFKD, + ALL_COMPOSE, + NFKC + } +} diff --git a/ext/webvideo/vapis/gstreamer-1.0.vapi b/ext/webvideo/vapis/gstreamer-1.0.vapi new file mode 100644 index 0000000..a7ad379 --- /dev/null +++ b/ext/webvideo/vapis/gstreamer-1.0.vapi @@ -0,0 +1,3346 @@ +/* gstreamer-1.0.vapi generated by vapigen, do not modify. */ + +[CCode (cprefix = "Gst", gir_namespace = "Gst", gir_version = "1.0", lower_case_cprefix = "gst_")] +[Experimental] +namespace Gst { + [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOG_OBJECT")] + public static void log_object (Gst.Object obj, ...); + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_OBJECT")] + public static void error_object (Gst.Object obj, ...); + + namespace Debug { + [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_BG_MASK")] + public const int BG_MASK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FG_MASK")] + public const int FG_MASK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_FORMAT_MASK")] + public const int FORMAT_MASK; + [CCode (cheader_filename = "gst/gst.h")] + public static void add_log_function (owned Gst.LogFunction func); + [CCode (cheader_filename = "gst/gst.h")] + public static void bin_to_dot_file (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name); + [CCode (cheader_filename = "gst/gst.h")] + public static void bin_to_dot_file_with_ts (Gst.Bin bin, Gst.DebugGraphDetails details, string file_name); + [CCode (cheader_filename = "gst/gst.h")] + public static string construct_term_color (uint colorinfo); + [CCode (cheader_filename = "gst/gst.h")] + public static int construct_win_color (uint colorinfo); + [CCode (cheader_filename = "gst/gst.h")] + public static GLib.SList get_all_categories (); + [CCode (cheader_filename = "gst/gst.h")] + public static Gst.DebugColorMode get_color_mode (); + [CCode (cheader_filename = "gst/gst.h")] + public static Gst.DebugLevel get_default_threshold (); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_active (); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_colored (); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned string level_get_name (Gst.DebugLevel level); + [CCode (cheader_filename = "gst/gst.h")] + [PrintfFormat] + public static void log (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, string format, ...); + [CCode (cheader_filename = "gst/gst.h")] + public static void log_default (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, Gst.DebugMessage message, void* unused = null); + [CCode (cheader_filename = "gst/gst.h")] + public static void log_valist (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object? object, string format, va_list args); + [CCode (cheader_filename = "gst/gst.h", cname = "GST_DEBUG_OBJECT")] + public static void object (Gst.Object obj, ...); + [CCode (cheader_filename = "gst/gst.h")] + public static void print_stack_trace (); + [CCode (cheader_filename = "gst/gst.h")] + public static uint remove_log_function (Gst.LogFunction func); + [CCode (cheader_filename = "gst/gst.h")] + public static uint remove_log_function_by_data (void* data); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_active (bool active); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_color_mode (Gst.DebugColorMode mode); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_color_mode_from_string (string mode); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_colored (bool colored); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_default_threshold (Gst.DebugLevel level); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_threshold_for_name (string name, Gst.DebugLevel level); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_threshold_from_string (string list, bool reset); + [CCode (cheader_filename = "gst/gst.h")] + public static void unset_threshold_for_name (string name); + } + namespace ElementFactoryKlass { + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DECODER")] + public const string DECODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEMUXER")] + public const string DEMUXER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER")] + public const string DEPAYLOADER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_ENCODER")] + public const string ENCODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_FORMATTER")] + public const string FORMATTER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO")] + public const string MEDIA_AUDIO; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE")] + public const string MEDIA_IMAGE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA")] + public const string MEDIA_METADATA; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE")] + public const string MEDIA_SUBTITLE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO")] + public const string MEDIA_VIDEO; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_MUXER")] + public const string MUXER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PARSER")] + public const string PARSER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_PAYLOADER")] + public const string PAYLOADER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SINK")] + public const string SINK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_KLASS_SRC")] + public const string SRC; + } + namespace ElementFactoryType { + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ANY")] + public const int ANY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS")] + public const int AUDIOVIDEO_SINKS; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER")] + public const int AUDIO_ENCODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODABLE")] + public const int DECODABLE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DECODER")] + public const int DECODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEMUXER")] + public const int DEMUXER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER")] + public const int DEPAYLOADER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_ENCODER")] + public const int ENCODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_FORMATTER")] + public const int FORMATTER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS")] + public const int MAX_ELEMENTS; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY")] + public const int MEDIA_ANY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO")] + public const int MEDIA_AUDIO; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE")] + public const int MEDIA_IMAGE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA")] + public const int MEDIA_METADATA; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE")] + public const int MEDIA_SUBTITLE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO")] + public const int MEDIA_VIDEO; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_MUXER")] + public const int MUXER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PARSER")] + public const int PARSER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_PAYLOADER")] + public const int PAYLOADER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SINK")] + public const int SINK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_SRC")] + public const int SRC; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER")] + public const int VIDEO_ENCODER; + } + namespace Tags { + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM")] + public const string ALBUM; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST")] + public const string ALBUM_ARTIST; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_ARTIST_SORTNAME")] + public const string ALBUM_ARTIST_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_GAIN")] + public const string ALBUM_GAIN; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_PEAK")] + public const string ALBUM_PEAK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_SORTNAME")] + public const string ALBUM_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_COUNT")] + public const string ALBUM_VOLUME_COUNT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ALBUM_VOLUME_NUMBER")] + public const string ALBUM_VOLUME_NUMBER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_DATA")] + public const string APPLICATION_DATA; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_APPLICATION_NAME")] + public const string APPLICATION_NAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST")] + public const string ARTIST; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ARTIST_SORTNAME")] + public const string ARTIST_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ATTACHMENT")] + public const string ATTACHMENT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_AUDIO_CODEC")] + public const string AUDIO_CODEC; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BEATS_PER_MINUTE")] + public const string BEATS_PER_MINUTE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_BITRATE")] + public const string BITRATE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CODEC")] + public const string CODEC; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMMENT")] + public const string COMMENT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER")] + public const string COMPOSER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COMPOSER_SORTNAME")] + public const string COMPOSER_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTACT")] + public const string CONTACT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_CONTAINER_FORMAT")] + public const string CONTAINER_FORMAT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT")] + public const string COPYRIGHT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_COPYRIGHT_URI")] + public const string COPYRIGHT_URI; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE")] + public const string DATE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DATE_TIME")] + public const string DATE_TIME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DESCRIPTION")] + public const string DESCRIPTION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MANUFACTURER")] + public const string DEVICE_MANUFACTURER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DEVICE_MODEL")] + public const string DEVICE_MODEL; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_DURATION")] + public const string DURATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODED_BY")] + public const string ENCODED_BY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER")] + public const string ENCODER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ENCODER_VERSION")] + public const string ENCODER_VERSION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_EXTENDED_COMMENT")] + public const string EXTENDED_COMMENT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GENRE")] + public const string GENRE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION")] + public const string GEO_LOCATION_CAPTURE_DIRECTION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_CITY")] + public const string GEO_LOCATION_CITY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_COUNTRY")] + public const string GEO_LOCATION_COUNTRY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_ELEVATION")] + public const string GEO_LOCATION_ELEVATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR")] + public const string GEO_LOCATION_HORIZONTAL_ERROR; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LATITUDE")] + public const string GEO_LOCATION_LATITUDE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_LONGITUDE")] + public const string GEO_LOCATION_LONGITUDE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION")] + public const string GEO_LOCATION_MOVEMENT_DIRECTION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_MOVEMENT_SPEED")] + public const string GEO_LOCATION_MOVEMENT_SPEED; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_NAME")] + public const string GEO_LOCATION_NAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GEO_LOCATION_SUBLOCATION")] + public const string GEO_LOCATION_SUBLOCATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_GROUPING")] + public const string GROUPING; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_HOMEPAGE")] + public const string HOMEPAGE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE")] + public const string IMAGE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_IMAGE_ORIENTATION")] + public const string IMAGE_ORIENTATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_INTERPRETED_BY")] + public const string INTERPRETED_BY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ISRC")] + public const string ISRC; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_KEYWORDS")] + public const string KEYWORDS; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_CODE")] + public const string LANGUAGE_CODE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LANGUAGE_NAME")] + public const string LANGUAGE_NAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE")] + public const string LICENSE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LICENSE_URI")] + public const string LICENSE_URI; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LOCATION")] + public const string LOCATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_LYRICS")] + public const string LYRICS; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MAXIMUM_BITRATE")] + public const string MAXIMUM_BITRATE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MIDI_BASE_NOTE")] + public const string MIDI_BASE_NOTE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_MINIMUM_BITRATE")] + public const string MINIMUM_BITRATE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_NOMINAL_BITRATE")] + public const string NOMINAL_BITRATE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_ORGANIZATION")] + public const string ORGANIZATION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PERFORMER")] + public const string PERFORMER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PREVIEW_IMAGE")] + public const string PREVIEW_IMAGE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_PUBLISHER")] + public const string PUBLISHER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_REFERENCE_LEVEL")] + public const string REFERENCE_LEVEL; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SERIAL")] + public const string SERIAL; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_EPISODE_NUMBER")] + public const string SHOW_EPISODE_NUMBER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_NAME")] + public const string SHOW_NAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SEASON_NUMBER")] + public const string SHOW_SEASON_NUMBER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SHOW_SORTNAME")] + public const string SHOW_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_SUBTITLE_CODEC")] + public const string SUBTITLE_CODEC; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE")] + public const string TITLE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TITLE_SORTNAME")] + public const string TITLE_SORTNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_COUNT")] + public const string TRACK_COUNT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_GAIN")] + public const string TRACK_GAIN; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_NUMBER")] + public const string TRACK_NUMBER; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_TRACK_PEAK")] + public const string TRACK_PEAK; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_USER_RATING")] + public const string USER_RATING; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VERSION")] + public const string VERSION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TAG_VIDEO_CODEC")] + public const string VIDEO_CODEC; + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_exists")] + public static bool exists (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_description")] + public static unowned string get_description (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_flag")] + public static Gst.TagFlag get_flag (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_nick")] + public static unowned string get_nick (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_get_type")] + public static GLib.Type get_type (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_is_fixed")] + public static bool is_fixed (string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_list_copy_value")] + public static bool list_copy_value (out GLib.Value dest, Gst.TagList list, string tag); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_strings_with_comma")] + public static void merge_strings_with_comma (out GLib.Value dest, GLib.Value src); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_merge_use_first")] + public static void merge_use_first (out GLib.Value dest, GLib.Value src); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register")] + public static void register (string name, Gst.TagFlag flag, GLib.Type type, string nick, string blurb, Gst.TagMergeFunc? func); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_tag_register_static")] + public static void register_static (string name, Gst.TagFlag flag, GLib.Type type, string nick, string blurb, Gst.TagMergeFunc? func); + } + namespace URI { + [CCode (cheader_filename = "gst/gst.h")] + public static string @construct (string protocol, string location); + [CCode (cheader_filename = "gst/gst.h")] + public static GLib.Quark error_quark (); + [CCode (cheader_filename = "gst/gst.h")] + public static string get_location (string uri); + [CCode (cheader_filename = "gst/gst.h")] + public static string get_protocol (string uri); + [CCode (cheader_filename = "gst/gst.h")] + public static bool has_protocol (string uri, string protocol); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_valid (string uri); + [CCode (cheader_filename = "gst/gst.h")] + public static bool protocol_is_supported (Gst.URIType type, string protocol); + [CCode (cheader_filename = "gst/gst.h")] + public static bool protocol_is_valid (string protocol); + } + namespace Util { + [CCode (cheader_filename = "gst/gst.h")] + public static void* array_binary_search (void* array, uint num_elements, size_t element_size, [CCode (delegate_target_pos = 6.1)] GLib.CompareDataFunc search_func, Gst.SearchMode mode, void* search_data); + [CCode (cheader_filename = "gst/gst.h")] + public static void double_to_fraction (double src, out int dest_n, out int dest_d); + [CCode (cheader_filename = "gst/gst.h")] + public static void dump_mem (uint8 mem, uint size); + [CCode (cheader_filename = "gst/gst.h")] + public static bool fraction_add (int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d); + [CCode (cheader_filename = "gst/gst.h")] + public static int fraction_compare (int a_n, int a_d, int b_n, int b_d); + [CCode (cheader_filename = "gst/gst.h")] + public static bool fraction_multiply (int a_n, int a_d, int b_n, int b_d, out int res_n, out int res_d); + [CCode (cheader_filename = "gst/gst.h")] + public static void fraction_to_double (int src_n, int src_d, out double dest); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 gdouble_to_guint64 (double value); + [CCode (cheader_filename = "gst/gst.h")] + public static Gst.ClockTime get_timestamp (); + [CCode (cheader_filename = "gst/gst.h")] + public static int greatest_common_divisor (int a, int b); + [CCode (cheader_filename = "gst/gst.h")] + public static int64 greatest_common_divisor_int64 (int64 a, int64 b); + [CCode (cheader_filename = "gst/gst.h")] + public static uint group_id_next (); + [CCode (cheader_filename = "gst/gst.h")] + public static double guint64_to_gdouble (uint64 value); + [CCode (cheader_filename = "gst/gst.h")] + public static int32 seqnum_compare (uint32 s1, uint32 s2); + [CCode (cheader_filename = "gst/gst.h")] + public static uint32 seqnum_next (); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_object_arg (GLib.Object object, string name, string value); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_value_from_string (out GLib.Value value, string value_str); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale (uint64 val, uint64 num, uint64 denom); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale_ceil (uint64 val, uint64 num, uint64 denom); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale_int (uint64 val, int num, int denom); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale_int_ceil (uint64 val, int num, int denom); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale_int_round (uint64 val, int num, int denom); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 uint64_scale_round (uint64 val, uint64 num, uint64 denom); + } + namespace Value { + [CCode (cheader_filename = "gst/gst.h")] + public static bool can_compare (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static bool can_intersect (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static bool can_subtract (GLib.Value minuend, GLib.Value subtrahend); + [CCode (cheader_filename = "gst/gst.h")] + public static bool can_union (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static int compare (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static bool deserialize (out GLib.Value dest, string src); + [CCode (cheader_filename = "gst/gst.h")] + public static bool fixate (GLib.Value dest, GLib.Value src); + [CCode (cheader_filename = "gst/gst.h")] + public static bool fraction_multiply (GLib.Value product, GLib.Value factor1, GLib.Value factor2); + [CCode (cheader_filename = "gst/gst.h")] + public static bool fraction_subtract (GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend); + [CCode (cheader_filename = "gst/gst.h")] + public static uint64 get_bitmask (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned Gst.Caps get_caps (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned Gst.CapsFeatures get_caps_features (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static double get_double_range_max (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static double get_double_range_min (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int get_fraction_denominator (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int get_fraction_numerator (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned GLib.Value? get_fraction_range_max (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned GLib.Value? get_fraction_range_min (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int64 get_int64_range_max (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int64 get_int64_range_min (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int64 get_int64_range_step (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int get_int_range_max (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int get_int_range_min (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static int get_int_range_step (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static unowned Gst.Structure get_structure (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static void init_and_copy (out GLib.Value dest, GLib.Value src); + [CCode (cheader_filename = "gst/gst.h")] + public static bool intersect (out GLib.Value dest, GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_fixed (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_subset (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h")] + public static void register (Gst.ValueTable table); + [CCode (cheader_filename = "gst/gst.h")] + public static string? serialize (GLib.Value value); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_bitmask (GLib.Value value, uint64 bitmask); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_caps (GLib.Value value, Gst.Caps caps); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_caps_features (GLib.Value value, Gst.CapsFeatures features); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_double_range (GLib.Value value, double start, double end); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_fraction (GLib.Value value, int numerator, int denominator); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_fraction_range (GLib.Value value, GLib.Value start, GLib.Value end); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_fraction_range_full (GLib.Value value, int numerator_start, int denominator_start, int numerator_end, int denominator_end); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_int64_range (GLib.Value value, int64 start, int64 end); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_int64_range_step (GLib.Value value, int64 start, int64 end, int64 step); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_int_range (GLib.Value value, int start, int end); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_int_range_step (GLib.Value value, int start, int end, int step); + [CCode (cheader_filename = "gst/gst.h")] + public static void set_structure (GLib.Value value, Gst.Structure structure); + [CCode (cheader_filename = "gst/gst.h")] + public static bool subtract (out GLib.Value dest, GLib.Value minuend, GLib.Value subtrahend); + [CCode (cheader_filename = "gst/gst.h")] + public static bool union (out GLib.Value dest, GLib.Value value1, GLib.Value value2); + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_allocation_params_copy", free_function = "gst_allocation_params_free", type_id = "gst_allocation_params_get_type ()")] + [Compact] + public class AllocationParams { + public size_t align; + public Gst.MemoryFlags flags; + public size_t padding; + public size_t prefix; + public Gst.AllocationParams copy (); + public void free (); + public void init (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_allocator_get_type ()")] + public abstract class Allocator : Gst.Object { + public weak Gst.MemoryCopyFunction mem_copy; + public weak Gst.MemoryIsSpanFunction mem_is_span; + public weak Gst.MemoryShareFunction mem_share; + public weak string mem_type; + public weak Gst.MemoryUnmapFunction mem_unmap; + [CCode (has_construct_function = false)] + protected Allocator (); + public virtual Gst.Memory alloc (size_t size, Gst.AllocationParams? @params); + public static Gst.Allocator? find (string? name); + public virtual void free (owned Gst.Memory memory); + public static void register (string name, owned Gst.Allocator allocator); + public void set_default (); + [CCode (cname = "gst_allocator_alloc")] + public static Gst.Memory alloc_memory (Gst.Allocator? alloc, size_t size, Gst.AllocationParams? @params); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_atomic_queue_ref", type_id = "gst_atomic_queue_get_type ()", unref_function = "gst_atomic_queue_unref")] + [Compact] + public class AtomicQueue { + [CCode (has_construct_function = false)] + public AtomicQueue (uint initial_size); + public uint length (); + public unowned T peek (); + public T pop (); + public void push (owned T data); + public void @ref (); + public void unref (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bin_get_type ()")] + public class Bin : Gst.Element, Gst.ChildProxy { + public Gst.Bus child_bus; + public GLib.List children; + public uint32 children_cookie; + public bool clock_dirty; + public Gst.Element clock_provider; + public GLib.List messages; + public int numchildren; + public bool polling; + public Gst.Clock provided_clock; + public bool state_dirty; + [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstElement*")] + public Bin (string? name); + public bool add (Gst.Element element); + [NoWrapper] + public virtual bool add_element (Gst.Element element); + public void add_many (params Gst.Element[] elements); + public Gst.Pad? find_unlinked_pad (Gst.PadDirection direction); + public Gst.Element get_by_interface (GLib.Type iface); + public Gst.Element? get_by_name (string name); + public Gst.Element? get_by_name_recurse_up (string name); + [NoWrapper] + public virtual void handle_message (Gst.Message message); + public Gst.Iterator? iterate_all_by_interface (GLib.Type iface); + public Gst.Iterator? iterate_elements (); + public Gst.Iterator? iterate_recurse (); + public Gst.Iterator? iterate_sinks (); + public Gst.Iterator? iterate_sorted (); + public Gst.Iterator? iterate_sources (); + public bool recalculate_latency (); + public bool remove (Gst.Element element); + [NoWrapper] + public virtual bool remove_element (Gst.Element element); + public void remove_many (params Gst.Element[] elements); + [NoAccessorMethod] + public bool async_handling { get; set; } + [NoAccessorMethod] + public bool message_forward { get; set; } + public virtual signal bool do_latency (); + public virtual signal void element_added (Gst.Element child); + public virtual signal void element_removed (Gst.Element child); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bitmask_get_type ()")] + public class Bitmask { + [CCode (has_construct_function = false)] + protected Bitmask (); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_ref", type_id = "gst_buffer_get_type ()", unref_function = "gst_buffer_unref")] + [Compact] + public class Buffer : Gst.MiniObject { + public Gst.ClockTime dts; + public Gst.ClockTime duration; + public uint64 offset; + public uint64 offset_end; + public weak Gst.BufferPool pool; + public Gst.ClockTime pts; + [CCode (has_construct_function = false)] + public Buffer (); + public unowned Gst.Meta? add_meta (Gst.MetaInfo info, void* @params); + [CCode (has_construct_function = false)] + public Buffer.allocate (Gst.Allocator? allocator, size_t size, Gst.AllocationParams? @params); + public Buffer.and_alloc (size_t size); + public Gst.Buffer append (owned Gst.Buffer buf2); + public void append_memory (owned Gst.Memory mem); + public Gst.Buffer append_region (owned Gst.Buffer buf2, ssize_t offset, ssize_t size); + public bool copy_into (Gst.Buffer src, Gst.BufferCopyFlags flags, size_t offset, size_t size); + public Gst.Buffer copy_region (Gst.BufferCopyFlags flags, size_t offset, size_t size); + public size_t extract (size_t offset, void* dest, size_t size); + public void extract_dup (size_t offset, size_t size, [CCode (array_length_cname = "dest_size", array_length_pos = 3.1, array_length_type = "gsize")] out uint8[] dest); + public size_t fill (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] src); + public bool find_memory (size_t offset, size_t size, out uint idx, out uint length, out size_t skip); + public bool foreach_meta (Gst.BufferForeachMetaFunc func); + public Gst.Memory get_all_memory (); + public static uint get_max_memory (); + public Gst.Memory get_memory (uint idx); + public Gst.Memory get_memory_range (uint idx, int length); + public unowned Gst.Meta? get_meta (GLib.Type api); + public size_t get_size (); + public size_t get_sizes (out size_t offset, out size_t maxsize); + public size_t get_sizes_range (uint idx, int length, out size_t offset, out size_t maxsize); + public void insert_memory (int idx, owned Gst.Memory mem); + public bool is_all_memory_writable (); + public bool is_memory_range_writable (uint idx, int length); + public unowned Gst.Meta? iterate_meta (void* state); + public bool map (out Gst.MapInfo info, Gst.MapFlags flags); + public bool map_range (uint idx, int length, out Gst.MapInfo info, Gst.MapFlags flags); + public int memcmp (size_t offset, [CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] mem); + public size_t memset (size_t offset, uint8 val, size_t size); + public uint n_memory (); + [CCode (has_construct_function = false, simple_generics = true)] + public static Gst.Buffer new_wrapped_full (Gst.MemoryFlags flags, [CCode (array_length_cname = "size", array_length_pos = 4.5, array_length_type = "gsize")] uint8[] data, size_t maxsize, size_t offset, owned T user_data); + public unowned Gst.Memory peek_memory (uint idx); + public void prepend_memory (owned Gst.Memory mem); + public void remove_all_memory (); + public void remove_memory (uint idx); + public void remove_memory_range (uint idx, int length); + public bool remove_meta (Gst.Meta meta); + public void replace_all_memory (owned Gst.Memory mem); + public void replace_data (uint8[] data) { + Gst.MapInfo map_info; + map (out map_info, Gst.MapFlags.WRITE); + map_info.data = data; + unmap (map_info); + } + public void replace_memory (uint idx, owned Gst.Memory mem); + public void replace_memory_range (uint idx, int length, owned Gst.Memory mem); + public void resize (ssize_t offset, ssize_t size); + public bool resize_range (uint idx, int length, ssize_t offset, ssize_t size); + public void set_size (ssize_t size); + public void unmap (Gst.MapInfo info); + [CCode (has_construct_function = false)] + public Buffer.wrapped ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_buffer_list_ref", type_id = "gst_buffer_list_get_type ()", unref_function = "gst_buffer_list_unref")] + [Compact] + public class BufferList : Gst.MiniObject { + [CCode (has_construct_function = false)] + public BufferList (); + public bool @foreach (Gst.BufferListFunc func); + public unowned Gst.Buffer? @get (uint idx); + public void insert (int idx, owned Gst.Buffer buffer); + public uint length (); + public void remove (uint idx, uint length); + [CCode (has_construct_function = false)] + public BufferList.sized (uint size); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_buffer_pool_get_type ()")] + public class BufferPool : Gst.Object { + public int flushing; + [CCode (has_construct_function = false, returns_floating_reference = true)] + public BufferPool (); + public virtual Gst.FlowReturn acquire_buffer (out Gst.Buffer buffer, Gst.BufferPoolAcquireParams? @params); + [NoWrapper] + public virtual Gst.FlowReturn alloc_buffer (Gst.Buffer buffer, Gst.BufferPoolAcquireParams @params); + public static void config_add_option (Gst.Structure config, string option); + public static bool config_get_allocator (Gst.Structure config, Gst.Allocator allocator, Gst.AllocationParams @params); + public static unowned string config_get_option (Gst.Structure config, uint index); + public static bool config_get_params (Gst.Structure config, out unowned Gst.Caps caps, out uint size, out uint min_buffers, out uint max_buffers); + public static bool config_has_option (Gst.Structure config, string option); + public static uint config_n_options (Gst.Structure config); + public static void config_set_allocator (Gst.Structure config, Gst.Allocator? allocator, Gst.AllocationParams? @params); + public static void config_set_params (Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers); + public static bool config_validate_params (Gst.Structure config, Gst.Caps caps, uint size, uint min_buffers, uint max_buffers); + [NoWrapper] + public virtual void flush_start (); + [NoWrapper] + public virtual void flush_stop (); + [NoWrapper] + public virtual void free_buffer (Gst.Buffer buffer); + public Gst.Structure get_config (); + [CCode (array_length = false, array_null_terminated = true)] + public virtual unowned string[] get_options (); + public bool has_option (string option); + public bool is_active (); + public virtual void release_buffer (owned Gst.Buffer buffer); + [NoWrapper] + public virtual void reset_buffer (Gst.Buffer buffer); + public bool set_active (bool active); + public virtual bool set_config (owned Gst.Structure config); + public void set_flushing (bool flushing); + [NoWrapper] + public virtual bool start (); + [NoWrapper] + public virtual bool stop (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_bus_get_type ()")] + public class Bus : Gst.Object { + [CCode (has_construct_function = false)] + public Bus (); + [CCode (cname = "gst_bus_add_signal_watch_full")] + public void add_signal_watch (int priority = GLib.Priority.DEFAULT); + [CCode (cname = "gst_bus_add_watch_full")] + public uint add_watch (int priority, owned Gst.BusFunc func); + public bool async_signal_func (Gst.Message message, void* data); + public GLib.Source create_watch (); + public void disable_sync_message_emission (); + public void enable_sync_message_emission (); + public bool have_pending (); + public Gst.Message? peek (); + public Gst.Message? poll (Gst.MessageType events, Gst.ClockTime timeout); + public Gst.Message? pop (); + public Gst.Message? pop_filtered (Gst.MessageType types); + public bool post (owned Gst.Message message); + public void remove_signal_watch (); + public void set_flushing (bool flushing); + public void set_sync_handler (owned Gst.BusSyncHandler? func); + public Gst.BusSyncReply sync_signal_handler (Gst.Message message, void* data); + public Gst.Message? timed_pop (Gst.ClockTime timeout); + public Gst.Message? timed_pop_filtered (Gst.ClockTime timeout, Gst.MessageType types); + public bool enable_async { construct; } + public virtual signal void message (Gst.Message message); + public virtual signal void sync_message (Gst.Message message); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_caps_ref", type_id = "gst_caps_get_type ()", unref_function = "gst_caps_unref")] + [Compact] + public class Caps : Gst.MiniObject { + [CCode (has_construct_function = false)] + public Caps.any (); + public void append (owned Gst.Caps caps2); + public void append_structure (owned Gst.Structure structure); + public void append_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? features = null); + public bool can_intersect (Gst.Caps caps2); + public Gst.Caps copy_nth (uint nth); + [CCode (has_construct_function = false)] + public Caps.empty (); + [CCode (has_construct_function = false)] + public Caps.empty_simple (string media_type); + public Gst.Caps fixate (); + public static Gst.Caps from_string (string string); + [CCode (has_construct_function = false)] + public Caps.full (params Gst.Structure[] structure); + [CCode (has_construct_function = false)] + public Caps.full_valist (Gst.Structure structure, va_list var_args); + public unowned Gst.CapsFeatures get_features (uint index); + public uint get_size (); + public unowned Gst.Structure get_structure (uint index); + [CCode (cname = "gst_caps_intersect_full")] + public Gst.Caps intersect (Gst.Caps caps2, Gst.CapsIntersectMode mode = Gst.CapsIntersectMode.ZIG_ZAG); + public bool is_always_compatible (Gst.Caps caps2); + public bool is_any (); + public bool is_empty (); + public bool is_equal (Gst.Caps caps2); + public bool is_equal_fixed (Gst.Caps caps2); + public bool is_fixed (); + public bool is_strictly_equal (Gst.Caps caps2); + public bool is_subset (Gst.Caps superset); + public bool is_subset_structure (Gst.Structure structure); + public bool is_subset_structure_full (Gst.Structure structure, Gst.CapsFeatures? features); + public Gst.Caps merge (owned Gst.Caps caps2); + public Gst.Caps merge_structure (owned Gst.Structure structure); + public Gst.Caps merge_structure_full (owned Gst.Structure structure, owned Gst.CapsFeatures? features); + public Gst.Caps normalize (); + public void remove_structure (uint idx); + public void set_features (uint index, owned Gst.CapsFeatures? features); + public void set_simple (string field, ...); + public void set_simple_valist (string field, va_list varargs); + public void set_value (string field, GLib.Value value); + public Gst.Caps simplify (); + public Gst.Structure steal_structure (uint index); + public Gst.Caps subtract (Gst.Caps subtrahend); + public string to_string (); + public Gst.Caps truncate (); + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_caps_features_get_type ()")] + [Compact] + public class CapsFeatures { + [CCode (has_construct_function = false)] + public CapsFeatures (string feature1, ...); + public void add (string feature); + public void add_id (GLib.Quark feature); + [CCode (has_construct_function = false)] + public CapsFeatures.any (); + public bool contains (string feature); + public bool contains_id (GLib.Quark feature); + public Gst.CapsFeatures copy (); + [CCode (has_construct_function = false)] + public CapsFeatures.empty (); + public void free (); + public static Gst.CapsFeatures? from_string (string features); + public unowned string get_nth (uint i); + public GLib.Quark get_nth_id (uint i); + public uint get_size (); + [CCode (has_construct_function = false)] + public CapsFeatures.id (params GLib.Quark[] features); + [CCode (has_construct_function = false)] + public CapsFeatures.id_valist (GLib.Quark feature1, va_list varargs); + public bool is_any (); + public bool is_equal (Gst.CapsFeatures features2); + public void remove (string feature); + public void remove_id (GLib.Quark feature); + public bool set_parent_refcount (int refcount); + public string to_string (); + [CCode (has_construct_function = false)] + public CapsFeatures.valist (string feature1, va_list varargs); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_clock_get_type ()")] + public abstract class Clock : Gst.Object { + [CCode (has_construct_function = false)] + protected Clock (); + public bool add_observation (Gst.ClockTime slave, Gst.ClockTime master, out double r_squared); + public Gst.ClockTime adjust_unlocked (Gst.ClockTime @internal); + [NoWrapper] + public virtual Gst.ClockTime change_resolution (Gst.ClockTime old_resolution, Gst.ClockTime new_resolution); + public void get_calibration (out Gst.ClockTime @internal, out Gst.ClockTime external, out Gst.ClockTime rate_num, out Gst.ClockTime rate_denom); + public virtual Gst.ClockTime get_internal_time (); + public Gst.Clock? get_master (); + public virtual Gst.ClockTime get_resolution (); + public Gst.ClockTime get_time (); + public Gst.ClockTime get_timeout (); + public static int id_compare_func (void* id1, void* id2); + public static Gst.ClockTime id_get_time (Gst.ClockID id); + public static Gst.ClockID id_ref (Gst.ClockID id); + public static void id_unref (owned Gst.ClockID id); + public static void id_unschedule (Gst.ClockID id); + public static Gst.ClockReturn id_wait (Gst.ClockID id, out Gst.ClockTimeDiff jitter); + public static Gst.ClockReturn id_wait_async (Gst.ClockID id, owned Gst.ClockCallback func); + public Gst.ClockID new_periodic_id (Gst.ClockTime start_time, Gst.ClockTime interval); + public Gst.ClockID new_single_shot_id (Gst.ClockTime time); + public bool periodic_id_reinit (Gst.ClockID id, Gst.ClockTime start_time, Gst.ClockTime interval); + public void set_calibration (Gst.ClockTime @internal, Gst.ClockTime external, Gst.ClockTime rate_num, Gst.ClockTime rate_denom); + public bool set_master (Gst.Clock? master); + public Gst.ClockTime set_resolution (Gst.ClockTime resolution); + public void set_timeout (Gst.ClockTime timeout); + public bool single_shot_id_reinit (Gst.ClockID id, Gst.ClockTime time); + public Gst.ClockTime unadjust_unlocked (Gst.ClockTime external); + [NoWrapper] + public virtual void unschedule (Gst.ClockEntry entry); + [NoWrapper] + public virtual Gst.ClockReturn wait (Gst.ClockEntry entry, Gst.ClockTimeDiff jitter); + [NoWrapper] + public virtual Gst.ClockReturn wait_async (Gst.ClockEntry entry); + public uint64 timeout { get; set; } + [NoAccessorMethod] + public int window_size { get; set; } + [NoAccessorMethod] + public int window_threshold { get; set; } + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_context_get_type ()")] + [Compact] + public class Context { + [CCode (has_construct_function = false)] + public Context (string context_type, bool persistent); + public unowned string get_context_type (); + public unowned Gst.Structure get_structure (); + public bool has_context_type (string context_type); + public bool is_persistent (); + public Gst.Structure writable_structure (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_binding_get_type ()")] + public abstract class ControlBinding : Gst.Object { + public weak GLib.ParamSpec pspec; + [CCode (has_construct_function = false)] + protected ControlBinding (); + public virtual bool get_g_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] GLib.Value[] values); + public virtual GLib.Value? get_value (Gst.ClockTime timestamp); + public virtual bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_pos = 2.5, array_length_type = "guint")] T[] values); + public bool is_disabled (); + public void set_disabled (bool disabled); + public virtual bool sync_values (Gst.Object object, Gst.ClockTime timestamp, Gst.ClockTime last_sync); + [NoAccessorMethod] + public string name { owned get; construct; } + [NoAccessorMethod] + public Gst.Object object { owned get; construct; } + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_control_source_get_type ()")] + public abstract class ControlSource : Gst.Object { + [CCode (has_construct_function = false)] + protected ControlSource (); + public bool get_value (Gst.ClockTime timestamp, double value); + public bool get_value_array (Gst.ClockTime timestamp, Gst.ClockTime interval, [CCode (array_length_cname = "n_values", array_length_pos = 2.5, array_length_type = "guint")] double[] values); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_date_time_ref", type_id = "gst_date_time_get_type ()", unref_function = "gst_date_time_unref")] + [Compact] + public class DateTime { + [CCode (has_construct_function = false)] + public DateTime (float tzoffset, int year, int month, int day, int hour, int minute, double seconds); + [CCode (has_construct_function = false)] + public DateTime.from_g_date_time (owned GLib.DateTime dt); + [CCode (has_construct_function = false)] + public DateTime.from_iso8601_string (string string); + [CCode (has_construct_function = false)] + public DateTime.from_unix_epoch_local_time (int64 secs); + [CCode (has_construct_function = false)] + public DateTime.from_unix_epoch_utc (int64 secs); + public int get_day (); + public int get_hour (); + public int get_microsecond (); + public int get_minute (); + public int get_month (); + public int get_second (); + public float get_time_zone_offset (); + public int get_year (); + public bool has_day (); + public bool has_month (); + public bool has_second (); + public bool has_time (); + public bool has_year (); + [CCode (has_construct_function = false)] + public DateTime.local_time (int year, int month, int day, int hour, int minute, double seconds); + [CCode (has_construct_function = false)] + public DateTime.now_local_time (); + [CCode (has_construct_function = false)] + public DateTime.now_utc (); + public Gst.DateTime @ref (); + public GLib.DateTime? to_g_date_time (); + public string? to_iso8601_string (); + public void unref (); + [CCode (has_construct_function = false)] + public DateTime.y (int year); + [CCode (has_construct_function = false)] + public DateTime.ym (int year, int month); + [CCode (has_construct_function = false)] + public DateTime.ymd (int year, int month, int day); + } + [CCode (cheader_filename = "gst/gst.h")] + [Compact] + public class DebugMessage { + public unowned string @get (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_get_type ()")] + public abstract class Device : Gst.Object { + [CCode (has_construct_function = false)] + protected Device (); + public virtual Gst.Element create_element (string? name); + public Gst.Caps get_caps (); + public string get_device_class (); + public string get_display_name (); + public bool has_classes (string classes); + public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[] classes); + public virtual bool reconfigure_element (Gst.Element element); + public Gst.Caps caps { owned get; construct; } + public string device_class { owned get; construct; } + public string display_name { owned get; construct; } + public signal void removed (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_monitor_get_type ()")] + public class DeviceMonitor : Gst.Object { + [CCode (has_construct_function = false)] + public DeviceMonitor (); + public uint add_filter (string? classes, Gst.Caps? caps); + public Gst.Bus get_bus (); + public GLib.List get_devices (); + public bool remove_filter (uint filter_id); + public bool start (); + public void stop (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_get_type ()")] + public abstract class DeviceProvider : Gst.Object { + public weak GLib.List devices; + [CCode (has_construct_function = false)] + protected DeviceProvider (); + [CCode (cname = "gst_device_provider_class_add_metadata")] + public class void add_metadata (string key, string value); + [CCode (cname = "gst_device_provider_class_add_static_metadata")] + public class void add_static_metadata (string key, owned string value); + public bool can_monitor (); + public void device_add (owned Gst.Device device); + public void device_remove (Gst.Device device); + public Gst.Bus get_bus (); + public GLib.List get_devices (); + public unowned Gst.DeviceProviderFactory get_factory (); + [CCode (cname = "gst_device_provider_class_get_metadata")] + public class unowned string get_metadata (string key); + public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type); + [CCode (cname = "gst_device_provider_class_set_metadata")] + public class void set_metadata (string longname, string classification, string description, string author); + [CCode (cname = "gst_device_provider_class_set_static_metadata")] + public class void set_static_metadata (owned string longname, owned string classification, owned string description, owned string author); + public virtual bool start (); + public virtual void stop (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_device_provider_factory_get_type ()")] + public class DeviceProviderFactory : Gst.PluginFeature { + [CCode (has_construct_function = false)] + protected DeviceProviderFactory (); + public static Gst.DeviceProviderFactory? find (string name); + public Gst.DeviceProvider? @get (); + public static Gst.DeviceProvider? get_by_name (string factoryname); + public GLib.Type get_device_provider_type (); + public unowned string? get_metadata (string key); + [CCode (array_length = false, array_null_terminated = true)] + public string[]? get_metadata_keys (); + public bool has_classes (string? classes); + public bool has_classesv ([CCode (array_length = false, array_null_terminated = true)] string[]? classes); + public static GLib.List list_get_device_providers (Gst.Rank minrank); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_double_range_get_type ()")] + public class DoubleRange { + [CCode (has_construct_function = false)] + protected DoubleRange (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_get_type ()")] + public abstract class Element : Gst.Object { + public Gst.ClockTimeDiff base_time; + public Gst.Bus bus; + public Gst.Clock clock; + public Gst.State current_state; + public Gst.StateChangeReturn last_return; + public Gst.State next_state; + public uint16 numpads; + public uint16 numsinkpads; + public uint16 numsrcpads; + public GLib.List pads; + public uint32 pads_cookie; + public Gst.State pending_state; + public GLib.List sinkpads; + public GLib.List srcpads; + public Gst.ClockTime start_time; + public GLib.Cond state_cond; + public uint32 state_cookie; + public GLib.RecMutex state_lock; + public Gst.State target_state; + [CCode (has_construct_function = false)] + protected Element (); + public void abort_state (); + [CCode (cname = "gst_element_class_add_metadata")] + public class void add_metadata (string key, string value); + public bool add_pad (Gst.Pad pad); + [CCode (cname = "gst_element_class_add_pad_template")] + public class void add_pad_template (owned Gst.PadTemplate templ); + [CCode (cname = "gst_element_class_add_static_metadata")] + public class void add_static_metadata (string key, string value); + public virtual Gst.StateChangeReturn change_state (Gst.StateChange transition); + public Gst.StateChangeReturn continue_state (Gst.StateChangeReturn ret); + public void create_all_pads (); + public Gst.ClockTime get_base_time (); + public Gst.Bus get_bus (); + public Gst.Clock get_clock (); + public Gst.Pad? get_compatible_pad (Gst.Pad pad, Gst.Caps? caps); + public unowned Gst.PadTemplate? get_compatible_pad_template (Gst.PadTemplate compattempl); + public unowned Gst.ElementFactory get_factory (); + [CCode (cname = "gst_element_class_get_metadata")] + public class unowned string get_metadata (string key); + [CCode (cname = "gst_element_class_get_pad_template")] + public class unowned Gst.PadTemplate? get_pad_template (string name); + [CCode (cname = "gst_element_class_get_pad_template_list")] + public class unowned GLib.List get_pad_template_list (); + public Gst.Pad? get_request_pad (string name); + public Gst.ClockTime get_start_time (); + public virtual Gst.StateChangeReturn get_state (out Gst.State state, out Gst.State pending, Gst.ClockTime timeout); + public Gst.Pad? get_static_pad (string name); + public bool is_locked_state (); + public Gst.Iterator iterate_pads (); + public Gst.Iterator iterate_sink_pads (); + public Gst.Iterator iterate_src_pads (); + public bool link (Gst.Element dest); + public bool link_filtered (Gst.Element dest, Gst.Caps? filter); + public bool link_many (params Gst.Element[] elements); + [CCode (cname = "gst_element_link_pads_full")] + public bool link_pads (string? srcpadname, Gst.Element dest, string? destpadname, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT); + public bool link_pads_filtered (string? srcpadname, Gst.Element dest, string? destpadname, Gst.Caps? filter); + public void lost_state (); + [CCode (returns_floating_reference = true)] + public static Gst.Element make_from_uri (Gst.URIType type, string uri, string? elementname) throws GLib.Error; + public void message_full (Gst.MessageType type, GLib.Quark domain, int code, owned string? text, owned string? debug, string file, string function, int line); + public virtual bool post_message (owned Gst.Message message); + public virtual Gst.Clock? provide_clock (); + public virtual bool query (Gst.Query query); + public bool query_convert (ref Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val); + public bool query_duration (Gst.Format format, out int64 duration); + public bool query_position (Gst.Format format, out int64 cur); + public static bool register (Gst.Plugin? plugin, string name, uint rank, GLib.Type type); + [NoWrapper] + public virtual void release_pad (Gst.Pad pad); + public void release_request_pad (Gst.Pad pad); + public bool remove_pad (owned Gst.Pad pad); + [NoWrapper] + public virtual Gst.Pad? request_new_pad (Gst.PadTemplate templ, string name, Gst.Caps caps); + public Gst.Pad? request_pad (Gst.PadTemplate templ, string? name, Gst.Caps? caps); + public bool seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop); + public bool seek_simple (Gst.Format format, Gst.SeekFlags seek_flags, int64 seek_pos); + public virtual bool send_event (owned Gst.Event event); + public void set_base_time (Gst.ClockTime time); + public virtual void set_bus (Gst.Bus bus); + public virtual bool set_clock (Gst.Clock clock); + public virtual void set_context (Gst.Context context); + public bool set_locked_state (bool locked_state); + [CCode (cname = "gst_element_class_set_metadata")] + public class void set_metadata (string longname, string classification, string description, string author); + public void set_start_time (Gst.ClockTime time); + public virtual Gst.StateChangeReturn set_state (Gst.State state); + [CCode (cname = "gst_element_class_set_static_metadata")] + public class void set_static_metadata (string longname, string classification, string description, string author); + public static unowned string state_change_return_get_name (Gst.StateChangeReturn state_ret); + [NoWrapper] + public virtual void state_changed (Gst.State oldstate, Gst.State newstate, Gst.State pending); + public static unowned string state_get_name (Gst.State state); + public bool sync_state_with_parent (); + public void unlink (Gst.Element dest); + public void unlink_many (params Gst.Element[] elements); + public void unlink_pads (string srcpadname, Gst.Element dest, string destpadname); + [HasEmitter] + public virtual signal void no_more_pads (); + public virtual signal void pad_added (Gst.Pad pad); + public virtual signal void pad_removed (Gst.Pad pad); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_element_factory_get_type ()")] + public class ElementFactory : Gst.PluginFeature { + [CCode (has_construct_function = false)] + protected ElementFactory (); + public bool can_sink_all_caps (Gst.Caps caps); + public bool can_sink_any_caps (Gst.Caps caps); + public bool can_src_all_caps (Gst.Caps caps); + public bool can_src_any_caps (Gst.Caps caps); + [CCode (returns_floating_reference = true)] + public Gst.Element? create (string? name); + public static Gst.ElementFactory? find (string name); + public GLib.Type get_element_type (); + public unowned string? get_metadata (string key); + [CCode (array_length = false, array_null_terminated = true)] + public string[]? get_metadata_keys (); + public uint get_num_pad_templates (); + public GLib.List get_static_pad_templates (); + [CCode (array_length = false, array_null_terminated = true)] + public unowned string[] get_uri_protocols (); + public Gst.URIType get_uri_type (); + public bool has_interface (string interfacename); + public static GLib.List list_filter (GLib.List list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly); + public static GLib.List list_get_elements (Gst.ElementFactoryListType type, Gst.Rank minrank); + public bool list_is_type (Gst.ElementFactoryListType type); + [CCode (returns_floating_reference = true)] + public static Gst.Element? make (string factoryname, string? name); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_event_ref", type_id = "gst_event_get_type ()", unref_function = "gst_event_unref")] + [Compact] + public class Event : Gst.MiniObject { + public uint32 seqnum; + public uint64 timestamp; + public Gst.EventType type; + [CCode (has_construct_function = false)] + public Event.buffer_size (Gst.Format format, int64 minsize, int64 maxsize, bool @async); + [CCode (has_construct_function = false)] + public Event.caps (Gst.Caps caps); + public void copy_segment (Gst.Segment segment); + [CCode (has_construct_function = false)] + public Event.custom (Gst.EventType type, owned Gst.Structure structure); + [CCode (has_construct_function = false)] + public Event.eos (); + [CCode (has_construct_function = false)] + public Event.flush_start (); + [CCode (has_construct_function = false)] + public Event.flush_stop (bool reset_time); + [CCode (has_construct_function = false)] + public Event.gap (Gst.ClockTime timestamp, Gst.ClockTime duration); + public int64 get_running_time_offset (); + public uint32 get_seqnum (); + public unowned Gst.Structure get_structure (); + public bool has_name (string name); + [CCode (has_construct_function = false)] + public Event.latency (Gst.ClockTime latency); + [CCode (has_construct_function = false)] + public Event.navigation (owned Gst.Structure structure); + public void parse_buffer_size (out Gst.Format format, out int64 minsize, out int64 maxsize, out bool @async); + public void parse_caps (out unowned Gst.Caps caps); + public void parse_flush_stop (out bool reset_time); + public void parse_gap (out Gst.ClockTime timestamp, out Gst.ClockTime duration); + public bool parse_group_id (out uint group_id); + public void parse_latency (out Gst.ClockTime latency); + public void parse_qos (out Gst.QOSType type, out double proportion, out Gst.ClockTimeDiff diff, out Gst.ClockTime timestamp); + public void parse_seek (out double rate, out Gst.Format format, out Gst.SeekFlags flags, out Gst.SeekType start_type, out int64 start, out Gst.SeekType stop_type, out int64 stop); + public void parse_segment (out unowned Gst.Segment segment); + public void parse_segment_done (out Gst.Format format, out int64 position); + public void parse_sink_message (out Gst.Message msg); + public void parse_step (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate); + public void parse_stream_flags (out Gst.StreamFlags flags); + public void parse_stream_start (out unowned string stream_id); + public void parse_tag (out unowned Gst.TagList taglist); + public void parse_toc (out Gst.Toc toc, out bool updated); + public void parse_toc_select (out string uid); + [CCode (has_construct_function = false)] + public Event.qos (Gst.QOSType type, double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp); + [CCode (has_construct_function = false)] + public Event.reconfigure (); + [CCode (has_construct_function = false)] + public Event.seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, int64 start, Gst.SeekType stop_type, int64 stop); + [CCode (has_construct_function = false)] + public Event.segment (Gst.Segment segment); + [CCode (has_construct_function = false)] + public Event.segment_done (Gst.Format format, int64 position); + public void set_group_id (uint group_id); + public void set_running_time_offset (int64 offset); + public void set_seqnum (uint32 seqnum); + public void set_stream_flags (Gst.StreamFlags flags); + [CCode (has_construct_function = false)] + public Event.sink_message (string name, Gst.Message msg); + [CCode (has_construct_function = false)] + public Event.step (Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate); + [CCode (has_construct_function = false)] + public Event.stream_start (string stream_id); + [CCode (has_construct_function = false)] + public Event.tag (owned Gst.TagList taglist); + [CCode (has_construct_function = false)] + public Event.toc (Gst.Toc toc, bool updated); + [CCode (has_construct_function = false)] + public Event.toc_select (string uid); + public unowned Gst.Structure writable_structure (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_get_type ()")] + public class Fraction { + [CCode (has_construct_function = false)] + protected Fraction (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_fraction_range_get_type ()")] + public class FractionRange { + [CCode (has_construct_function = false)] + protected FractionRange (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_ghost_pad_get_type ()")] + public class GhostPad : Gst.ProxyPad { + [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstPad*")] + public GhostPad (string? name, Gst.Pad target); + public static bool activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active); + public bool @construct (); + [CCode (has_construct_function = false, type = "GstPad*")] + public GhostPad.from_template (string? name, Gst.Pad target, Gst.PadTemplate templ); + public Gst.Pad? get_target (); + public static bool internal_activate_mode_default (Gst.Pad pad, Gst.Object? parent, Gst.PadMode mode, bool active); + [CCode (has_construct_function = false, type = "GstPad*")] + public GhostPad.no_target (string? name, Gst.PadDirection dir); + [CCode (has_construct_function = false, type = "GstPad*")] + public GhostPad.no_target_from_template (string? name, Gst.PadTemplate templ); + public bool set_target (Gst.Pad? newtarget); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int64_range_get_type ()")] + public class Int64Range { + [CCode (has_construct_function = false)] + protected Int64Range (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_int_range_get_type ()")] + public class IntRange { + [CCode (has_construct_function = false)] + protected IntRange (); + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_iterator_copy", free_function = "gst_iterator_free", type_id = "gst_iterator_get_type ()")] + [Compact] + public class Iterator { + public uint32 cookie; + public weak Gst.IteratorItemFunction item; + public weak GLib.Mutex @lock; + public uint32 master_cookie; + public weak Gst.Iterator pushed; + public uint size; + public GLib.Type type; + [CCode (simple_generics = true)] + public Gst.Iterator filter ([CCode (type = "GCompareFunc")] GLib.SearchFunc func, T user_data); + [CCode (simple_generics = true)] + public bool find_custom ([CCode (type = "GCompareFunc")] GLib.SearchFunc func, out GLib.Value elem, T user_data); + public Gst.IteratorResult fold ([CCode (delegate_target_pos = 2.1)] Gst.IteratorFoldFunction func, GLib.Value ret); + public Gst.IteratorResult @foreach (Gst.IteratorForeachFunction func); + public void free (); + public Gst.IteratorResult next (out GLib.Value elem); + public void push (Gst.Iterator other); + public void resync (); + [CCode (has_construct_function = false)] + public Iterator.single (GLib.Type type, GLib.Value object); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_memory_ref", type_id = "gst_memory_get_type ()", unref_function = "gst_memory_unref")] + [Compact] + public class Memory : Gst.MiniObject { + public size_t align; + public weak Gst.Allocator allocator; + public size_t maxsize; + public size_t offset; + public weak Gst.Memory parent; + public size_t size; + public Gst.Memory copy (ssize_t offset, ssize_t size); + public size_t get_sizes (size_t offset, size_t maxsize); + public bool is_span (Gst.Memory mem2, size_t offset); + public bool is_type (string mem_type); + public Gst.Memory? make_mapped (out Gst.MapInfo info, Gst.MapFlags flags); + public bool map (out Gst.MapInfo info, Gst.MapFlags flags); + public void resize (ssize_t offset, size_t size); + public Gst.Memory share (ssize_t offset, ssize_t size); + public void unmap (ref Gst.MapInfo info); + [CCode (has_construct_function = false)] + public Memory.wrapped (Gst.MemoryFlags flags, [CCode (array_length_cname = "size", array_length_pos = 4.33333, array_length_type = "gsize")] uint8[] data, size_t maxsize, size_t offset, [CCode (delegate_target_pos = 4.66667)] GLib.DestroyNotify? notify = null); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_message_ref", type_id = "gst_message_get_type ()", unref_function = "gst_message_unref")] + [Compact] + public class Message : Gst.MiniObject { + public uint32 seqnum; + public weak Gst.Object src; + public uint64 timestamp; + public Gst.MessageType type; + [CCode (has_construct_function = false)] + public Message.application (Gst.Object src, owned Gst.Structure structure); + [CCode (has_construct_function = false)] + public Message.async_done (Gst.Object src, Gst.ClockTime running_time); + [CCode (has_construct_function = false)] + public Message.async_start (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.buffering (Gst.Object src, int percent); + [CCode (has_construct_function = false)] + public Message.clock_lost (Gst.Object src, Gst.Clock clock); + [CCode (has_construct_function = false)] + public Message.clock_provide (Gst.Object src, Gst.Clock clock, bool ready); + [CCode (has_construct_function = false)] + public Message.custom (Gst.MessageType type, Gst.Object src, owned Gst.Structure? structure); + [CCode (has_construct_function = false)] + public Message.device_added (Gst.Object src, Gst.Device device); + [CCode (has_construct_function = false)] + public Message.device_removed (Gst.Object src, Gst.Device device); + [CCode (has_construct_function = false)] + public Message.duration_changed (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.element (Gst.Object src, owned Gst.Structure structure); + [CCode (has_construct_function = false)] + public Message.eos (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.error (Gst.Object src, GLib.Error error, string debug); + public uint32 get_seqnum (); + public unowned GLib.Value? get_stream_status_object (); + public unowned Gst.Structure get_structure (); + public bool has_name (string name); + [CCode (has_construct_function = false)] + public Message.have_context (Gst.Object src, owned Gst.Context context); + [CCode (has_construct_function = false)] + public Message.info (Gst.Object src, GLib.Error error, string debug); + [CCode (has_construct_function = false)] + public Message.latency (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.need_context (Gst.Object src, string context_type); + [CCode (has_construct_function = false)] + public Message.new_clock (Gst.Object src, Gst.Clock clock); + public void parse_async_done (out Gst.ClockTime running_time); + public void parse_buffering (out int percent); + public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left); + public void parse_clock_lost (out unowned Gst.Clock clock); + public void parse_clock_provide (out unowned Gst.Clock clock, out bool ready); + public bool parse_context_type (out string context_type); + public void parse_device_added (out unowned Gst.Device device); + public void parse_device_removed (out unowned Gst.Device device); + public void parse_error (out GLib.Error gerror, out string debug); + public bool parse_group_id (out uint group_id); + public void parse_have_context (out Gst.Context context); + public void parse_info (out GLib.Error gerror, out string debug); + public void parse_new_clock (out unowned Gst.Clock clock); + public void parse_progress (out Gst.ProgressType type, out string code, out string text); + public void parse_qos (out bool live, out uint64 running_time, out uint64 stream_time, out uint64 timestamp, out uint64 duration); + public void parse_qos_stats (out Gst.Format format, out uint64 processed, out uint64 dropped); + public void parse_qos_values (out int64 jitter, out double proportion, out int quality); + public void parse_request_state (out Gst.State state); + public void parse_reset_time (out Gst.ClockTime running_time); + public void parse_segment_done (out Gst.Format format, out int64 position); + public void parse_segment_start (out Gst.Format format, out int64 position); + public void parse_state_changed (out Gst.State oldstate, out Gst.State newstate, out Gst.State pending); + public void parse_step_done (out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate, out uint64 duration, out bool eos); + public void parse_step_start (out bool active, out Gst.Format format, out uint64 amount, out double rate, out bool flush, out bool intermediate); + public void parse_stream_status (out Gst.StreamStatusType type, out unowned Gst.Element owner); + public void parse_structure_change (out Gst.StructureChangeType type, out unowned Gst.Element owner, out bool busy); + public void parse_tag (out Gst.TagList tag_list); + public void parse_toc (out Gst.Toc toc, out bool updated); + public void parse_warning (out GLib.Error gerror, out string debug); + [CCode (has_construct_function = false)] + public Message.progress (Gst.Object src, Gst.ProgressType type, string code, string text); + [CCode (has_construct_function = false)] + public Message.qos (Gst.Object src, bool live, uint64 running_time, uint64 stream_time, uint64 timestamp, uint64 duration); + [CCode (has_construct_function = false)] + public Message.request_state (Gst.Object src, Gst.State state); + [CCode (has_construct_function = false)] + public Message.reset_time (Gst.Object src, Gst.ClockTime running_time); + [CCode (has_construct_function = false)] + public Message.segment_done (Gst.Object src, Gst.Format format, int64 position); + [CCode (has_construct_function = false)] + public Message.segment_start (Gst.Object src, Gst.Format format, int64 position); + public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left); + public void set_group_id (uint group_id); + public void set_qos_stats (Gst.Format format, uint64 processed, uint64 dropped); + public void set_qos_values (int64 jitter, double proportion, int quality); + public void set_seqnum (uint32 seqnum); + public void set_stream_status_object (GLib.Value object); + [CCode (has_construct_function = false)] + public Message.state_changed (Gst.Object src, Gst.State oldstate, Gst.State newstate, Gst.State pending); + [CCode (has_construct_function = false)] + public Message.state_dirty (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.step_done (Gst.Object src, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate, uint64 duration, bool eos); + [CCode (has_construct_function = false)] + public Message.step_start (Gst.Object src, bool active, Gst.Format format, uint64 amount, double rate, bool flush, bool intermediate); + [CCode (has_construct_function = false)] + public Message.stream_start (Gst.Object src); + [CCode (has_construct_function = false)] + public Message.stream_status (Gst.Object src, Gst.StreamStatusType type, Gst.Element owner); + [CCode (has_construct_function = false)] + public Message.structure_change (Gst.Object src, Gst.StructureChangeType type, Gst.Element owner, bool busy); + [CCode (has_construct_function = false)] + public Message.tag (Gst.Object src, owned Gst.TagList tag_list); + [CCode (has_construct_function = false)] + public Message.toc (Gst.Object src, Gst.Toc toc, bool updated); + [CCode (has_construct_function = false)] + public Message.warning (Gst.Object src, GLib.Error error, string debug); + } + [CCode (cheader_filename = "gst/gst.h", get_value_function = "g_value_get_boxed", ref_function = "gst_mini_object_ref", set_value_function = "g_value_set_boxed", take_value_function = "g_value_take_boxed", unref_function = "gst_mini_object_unref")] + [Compact] + public abstract class MiniObject { + public weak Gst.MiniObjectDisposeFunction dispose; + public uint flags; + public weak Gst.MiniObjectFreeFunction free; + public int lockstate; + public int refcount; + public GLib.Type type; + [CCode (simple_generics = true)] + public T get_qdata (GLib.Quark quark); + public bool is_writable (); + public bool @lock (Gst.LockFlags flags); + public Gst.MiniObject make_writable (); + public Gst.MiniObject @ref (); + public static bool replace (ref Gst.MiniObject? olddata, Gst.MiniObject? newdata); + [CCode (simple_generics = true)] + public void set_qdata (GLib.Quark quark, owned T data); + public void* steal_qdata (GLib.Quark quark); + public static bool take (ref Gst.MiniObject olddata, Gst.MiniObject newdata); + public void unlock (Gst.LockFlags flags); + public void unref (); + public void weak_ref (Gst.MiniObjectNotify notify); + public void weak_unref (Gst.MiniObjectNotify notify); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_object_get_type ()")] + public abstract class Object : GLib.InitiallyUnowned { + public uint32 flags; + public weak GLib.Mutex @lock; + [CCode (has_construct_function = false)] + protected Object (); + public bool add_control_binding (owned Gst.ControlBinding binding); + public static bool check_uniqueness (GLib.List list, string name); + public static void default_deep_notify (GLib.Object object, Gst.Object orig, GLib.ParamSpec pspec, [CCode (array_length = false, array_null_terminated = true)] string[]? excluded_props); + public void default_error (GLib.Error error, string? debug); + public Gst.ControlBinding? get_control_binding (string property_name); + public Gst.ClockTime get_control_rate (); + public bool get_g_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, GLib.Value values); + public string? get_name (); + public Gst.Object? get_parent (); + public string get_path_string (); + public GLib.Value? get_value (string property_name, Gst.ClockTime timestamp); + public bool get_value_array (string property_name, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, void* values); + public bool has_active_control_bindings (); + public bool has_ancestor (Gst.Object ancestor); + public Gst.Object @ref (); + public bool remove_control_binding (Gst.ControlBinding binding); + public static bool replace (ref Gst.Object? oldobj, Gst.Object? newobj); + public void set_control_binding_disabled (string property_name, bool disabled); + public void set_control_bindings_disabled (bool disabled); + public void set_control_rate (Gst.ClockTime control_rate); + public bool set_name (string? name); + public bool set_parent (Gst.Object parent); + public Gst.ClockTime suggest_next_sync (); + public bool sync_values (Gst.ClockTime timestamp); + public void unparent (); + public void unref (); + [NoAccessorMethod] + public string name { owned get; set construct; } + [NoAccessorMethod] + public Gst.Object parent { owned get; set; } + public virtual signal void deep_notify (Gst.Object orig, GLib.ParamSpec pspec); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_get_type ()")] + public class Pad : Gst.Object { + public void* element_private; + public weak Gst.PadTemplate padtemplate; + [CCode (has_construct_function = false, returns_floating_reference = true)] + public Pad (string? name, Gst.PadDirection direction); + public bool activate_mode (Gst.PadMode mode, bool active); + public ulong add_probe (Gst.PadProbeType mask, owned Gst.PadProbeCallback callback); + public bool can_link (Gst.Pad sinkpad); + public Gst.FlowReturn chain (owned Gst.Buffer buffer); + public Gst.FlowReturn chain_list (owned Gst.BufferList list); + public bool check_reconfigure (); + public string create_stream_id (Gst.Element parent, string? stream_id); + [PrintfFormat] + public string create_stream_id_printf (Gst.Element parent, string? stream_id, ...); + public string create_stream_id_printf_valist (Gst.Element parent, string? stream_id, va_list var_args); + public bool event_default (Gst.Object? parent, owned Gst.Event event); + public bool forward (Gst.PadForwardFunction forward); + [CCode (has_construct_function = false)] + public Pad.from_static_template (Gst.StaticPadTemplate templ, string name); + [CCode (has_construct_function = false, returns_floating_reference = true)] + public Pad.from_template (Gst.PadTemplate templ, string? name); + public Gst.Caps? get_allowed_caps (); + public Gst.Caps get_current_caps (); + public Gst.PadDirection get_direction (); + public void* get_element_private (); + public Gst.FlowReturn get_last_flow_return (); + public int64 get_offset (); + public Gst.PadTemplate? get_pad_template (); + public Gst.Caps get_pad_template_caps (); + public Gst.Element? get_parent_element (); + public Gst.Pad get_peer (); + public Gst.FlowReturn get_range (uint64 offset, uint size, out Gst.Buffer buffer); + public Gst.Event? get_sticky_event (Gst.EventType event_type, uint idx); + public string? get_stream_id (); + public bool has_current_caps (); + public bool is_active (); + public bool is_blocked (); + public bool is_blocking (); + public bool is_linked (); + public Gst.Iterator? iterate_internal_links (); + public Gst.Iterator? iterate_internal_links_default (Gst.Object? parent); + [CCode (cname = "gst_pad_link_full")] + public Gst.PadLinkReturn link (Gst.Pad sinkpad, Gst.PadLinkCheck flags = Gst.PadLinkCheck.DEFAULT); + public static unowned string link_get_name (Gst.PadLinkReturn ret); + public void mark_reconfigure (); + public bool needs_reconfigure (); + public bool pause_task (); + public bool peer_query (Gst.Query query); + public bool peer_query_accept_caps (Gst.Caps caps); + public Gst.Caps peer_query_caps (Gst.Caps? filter); + public bool peer_query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val); + public bool peer_query_duration (Gst.Format format, out int64 duration); + public bool peer_query_position (Gst.Format format, out int64 cur); + public bool proxy_query_accept_caps (Gst.Query query); + public bool proxy_query_caps (Gst.Query query); + public Gst.FlowReturn pull_range (uint64 offset, uint size, out Gst.Buffer buffer); + public Gst.FlowReturn push (owned Gst.Buffer buffer); + public bool push_event (owned Gst.Event event); + public Gst.FlowReturn push_list (owned Gst.BufferList list); + public bool query (Gst.Query query); + public bool query_accept_caps (Gst.Caps caps); + public Gst.Caps query_caps (Gst.Caps? filter); + public bool query_convert (Gst.Format src_format, int64 src_val, Gst.Format dest_format, out int64 dest_val); + public bool query_default (Gst.Object? parent, Gst.Query query); + public bool query_duration (Gst.Format format, out int64 duration); + public bool query_position (Gst.Format format, out int64 cur); + public void remove_probe (ulong id); + public bool send_event (owned Gst.Event event); + [CCode (cname = "gst_pad_set_activate_function_full")] + public void set_activate_function (owned Gst.PadActivateFunction activate); + [CCode (cname = "gst_pad_set_activatemode_function_full")] + public void set_activatemode_function (owned Gst.PadActivateModeFunction activatemode); + public bool set_active (bool active); + [CCode (cname = "gst_pad_set_chain_function_full")] + public void set_chain_function (owned Gst.PadChainFunction chain); + [CCode (cname = "gst_pad_set_chain_list_function_full")] + public void set_chain_list_function (owned Gst.PadChainListFunction chainlist); + public void set_element_private (void* priv); + [CCode (cname = "gst_pad_set_event_function_full")] + public void set_event_function (owned Gst.PadEventFunction event); + [CCode (cname = "gst_pad_set_getrange_function_full")] + public void set_getrange_function (owned Gst.PadGetRangeFunction @get); + [CCode (cname = "gst_pad_set_iterate_internal_links_function_full")] + public void set_iterate_internal_links_function (owned Gst.PadIterIntLinkFunction iterintlink); + [CCode (cname = "gst_pad_set_link_function_full")] + public void set_link_function (owned Gst.PadLinkFunction link); + public void set_offset (int64 offset); + [CCode (cname = "gst_pad_set_query_function_full")] + public void set_query_function (owned Gst.PadQueryFunction query); + [CCode (cname = "gst_pad_set_unlink_function_full")] + public void set_unlink_function (owned Gst.PadUnlinkFunction unlink); + public bool start_task (owned Gst.TaskFunction func); + public void sticky_events_foreach (Gst.PadStickyEventsForeachFunction foreach_func); + public bool stop_task (); + public Gst.FlowReturn store_sticky_event (Gst.Event event); + public bool unlink (Gst.Pad sinkpad); + public void use_fixed_caps (); + [NoAccessorMethod] + public Gst.Caps caps { owned get; } + public Gst.PadDirection direction { get; construct; } + [NoAccessorMethod] + public Gst.PadTemplate template { owned get; set; } + public virtual signal void linked (Gst.Pad peer); + public virtual signal void unlinked (Gst.Pad peer); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pad_template_get_type ()")] + public class PadTemplate : Gst.Object { + [CCode (has_construct_function = false, returns_floating_reference = true)] + public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps); + public Gst.Caps get_caps (); + public Gst.Caps caps { owned get; construct; } + [NoAccessorMethod] + public Gst.PadDirection direction { get; construct; } + [NoAccessorMethod] + public string name_template { owned get; construct; } + [NoAccessorMethod] + public Gst.PadPresence presence { get; construct; } + [HasEmitter] + public virtual signal void pad_created (Gst.Pad pad); + } + [CCode (cheader_filename = "gst/gst.h", lower_case_csuffix = "param_spec_fraction", type_id = "gst_param_spec_fraction_get_type ()")] + public class ParamFraction : GLib.ParamSpec { + [CCode (has_construct_function = false)] + protected ParamFraction (); + } + [CCode (cheader_filename = "gst/gst.h", free_function = "gst_parse_context_free", type_id = "gst_parse_context_get_type ()")] + [Compact] + public class ParseContext { + [CCode (has_construct_function = false)] + public ParseContext (); + public void free (); + [CCode (array_length = false, array_null_terminated = true)] + public string[] get_missing_elements (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_pipeline_get_type ()")] + public class Pipeline : Gst.Bin, Gst.ChildProxy { + public weak Gst.Clock fixed_clock; + public Gst.ClockTime stream_time; + [CCode (has_construct_function = false, returns_floating_reference = true, type = "GstElement*")] + public Pipeline (string? name); + public void auto_clock (); + public bool get_auto_flush_bus (); + public Gst.Bus get_bus (); + public Gst.Clock get_clock (); + public Gst.ClockTime get_delay (); + public void set_auto_flush_bus (bool auto_flush); + public bool set_clock (Gst.Clock clock); + public void set_delay (Gst.ClockTime delay); + public void use_clock (Gst.Clock? clock); + public bool auto_flush_bus { get; set; } + public uint64 delay { get; set; } + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_get_type ()")] + public class Plugin : Gst.Object { + [CCode (has_construct_function = false)] + protected Plugin (); + public void add_dependency (string? env_vars, string? paths, string? names, Gst.PluginDependencyFlags flags); + public void add_dependency_simple (string? env_vars, string? paths, string? names, Gst.PluginDependencyFlags flags); + public unowned Gst.Structure? get_cache_data (); + public unowned string get_description (); + public unowned string get_filename (); + public unowned string get_license (); + public unowned string get_name (); + public unowned string get_origin (); + public unowned string get_package (); + public unowned string? get_release_date_string (); + public unowned string get_source (); + public unowned string get_version (); + public bool is_loaded (); + public static void list_free (owned GLib.List list); + public Gst.Plugin load (); + public static Gst.Plugin load_by_name (string name); + public static Gst.Plugin load_file (string filename) throws GLib.Error; + public static bool register_static (int major_version, int minor_version, string name, string description, Gst.PluginInitFunc init_func, string version, string license, string source, string package, string origin); + public static bool register_static_full (int major_version, int minor_version, string name, string description, [CCode (delegate_target_pos = 10.1)] Gst.PluginInitFullFunc init_full_func, string version, string license, string source, string package, string origin); + public void set_cache_data (owned Gst.Structure cache_data); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_plugin_feature_get_type ()")] + public abstract class PluginFeature : Gst.Object { + [CCode (has_construct_function = false)] + protected PluginFeature (); + public bool check_version (uint min_major, uint min_minor, uint min_micro); + public Gst.Plugin? get_plugin (); + public unowned string? get_plugin_name (); + public uint get_rank (); + public static GLib.List list_copy (GLib.List list); + public static void list_debug (GLib.List list); + public static void list_free (owned GLib.List list); + public Gst.PluginFeature? load (); + public static int rank_compare_func (void* p1, void* p2); + public void set_rank (uint rank); + } + [CCode (cheader_filename = "gst/gst.h")] + [Compact] + public class Poll { + [CCode (has_construct_function = false)] + public Poll (bool controllable); + public bool add_fd (Gst.PollFD fd); + public bool fd_can_read (Gst.PollFD fd); + public bool fd_can_write (Gst.PollFD fd); + public bool fd_ctl_read (Gst.PollFD fd, bool active); + public bool fd_ctl_write (Gst.PollFD fd, bool active); + public bool fd_has_closed (Gst.PollFD fd); + public bool fd_has_error (Gst.PollFD fd); + public void fd_ignored (Gst.PollFD fd); + public void free (); + public void get_read_gpollfd (GLib.PollFD fd); + public bool read_control (); + public bool remove_fd (Gst.PollFD fd); + public void restart (); + public bool set_controllable (bool controllable); + public void set_flushing (bool flushing); + [CCode (has_construct_function = false)] + public Poll.timer (); + public int wait (Gst.ClockTime timeout); + public bool write_control (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_proxy_pad_get_type ()")] + public class ProxyPad : Gst.Pad { + [CCode (has_construct_function = false)] + protected ProxyPad (); + public static Gst.FlowReturn chain_default (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer); + public static Gst.FlowReturn chain_list_default (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list); + public Gst.ProxyPad? get_internal (); + public static Gst.FlowReturn getrange_default (Gst.Pad pad, Gst.Object parent, uint64 offset, uint size, out Gst.Buffer buffer); + public static Gst.Iterator? iterate_internal_links_default (Gst.Pad pad, Gst.Object? parent); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_query_ref", type_id = "gst_query_get_type ()", unref_function = "gst_query_unref")] + [Compact] + public class Query : Gst.MiniObject { + public Gst.QueryType type; + [CCode (has_construct_function = false)] + public Query.accept_caps (Gst.Caps caps); + public void add_allocation_meta (GLib.Type api, Gst.Structure? @params); + public void add_allocation_param (Gst.Allocator? allocator, Gst.AllocationParams? @params); + public void add_allocation_pool (Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers); + public bool add_buffering_range (int64 start, int64 stop); + public void add_scheduling_mode (Gst.PadMode mode); + [CCode (has_construct_function = false)] + public Query.allocation (Gst.Caps caps, bool need_pool); + [CCode (has_construct_function = false)] + public Query.buffering (Gst.Format format); + [CCode (has_construct_function = false)] + public Query.caps (Gst.Caps filter); + [CCode (has_construct_function = false)] + public Query.context (string context_type); + [CCode (has_construct_function = false)] + public Query.convert (Gst.Format src_format, int64 value, Gst.Format dest_format); + [CCode (has_construct_function = false)] + public Query.custom (Gst.QueryType type, owned Gst.Structure? structure); + [CCode (has_construct_function = false)] + public Query.drain (); + [CCode (has_construct_function = false)] + public Query.duration (Gst.Format format); + public bool find_allocation_meta (GLib.Type api, out uint index); + [CCode (has_construct_function = false)] + public Query.formats (); + public uint get_n_allocation_metas (); + public uint get_n_allocation_params (); + public uint get_n_allocation_pools (); + public uint get_n_buffering_ranges (); + public uint get_n_scheduling_modes (); + public unowned Gst.Structure get_structure (); + public bool has_scheduling_mode (Gst.PadMode mode); + public bool has_scheduling_mode_with_flags (Gst.PadMode mode, Gst.SchedulingFlags flags); + [CCode (has_construct_function = false)] + public Query.latency (); + public void parse_accept_caps (out unowned Gst.Caps caps); + public void parse_accept_caps_result (bool result); + public void parse_allocation (out unowned Gst.Caps caps, out bool need_pool); + public void parse_buffering_percent (out bool busy, out int percent); + public void parse_buffering_range (out Gst.Format format, out int64 start, out int64 stop, out int64 estimated_total); + public void parse_buffering_stats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out int64 buffering_left); + public void parse_caps (out unowned Gst.Caps filter); + public void parse_caps_result (out unowned Gst.Caps caps); + public void parse_context (out unowned Gst.Context context); + public bool parse_context_type (out unowned string context_type); + public void parse_convert (out Gst.Format src_format, out int64 src_value, out Gst.Format dest_format, out int64 dest_value); + public void parse_duration (out Gst.Format format, out int64 duration); + public void parse_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency); + public void parse_n_formats (out uint n_formats); + public GLib.Type parse_nth_allocation_meta (uint index, out unowned Gst.Structure @params); + public void parse_nth_allocation_param (uint index, out Gst.Allocator allocator, out unowned Gst.AllocationParams @params); + public void parse_nth_allocation_pool (uint index, out Gst.BufferPool pool, out uint size, out uint min_buffers, out uint max_buffers); + public bool parse_nth_buffering_range (uint index, out int64 start, out int64 stop); + public void parse_nth_format (out uint nth, out Gst.Format format); + public Gst.PadMode parse_nth_scheduling_mode (uint index); + public void parse_position (out Gst.Format format, out int64 cur); + public void parse_scheduling (out Gst.SchedulingFlags flags, out int minsize, out int maxsize, out int align); + public void parse_seeking (out Gst.Format format, out bool seekable, out int64 segment_start, out int64 segment_end); + public void parse_segment (out double rate, out Gst.Format format, out int64 start_value, out int64 stop_value); + public void parse_uri (out string uri); + public void parse_uri_redirection (out string uri); + public void parse_uri_redirection_permanent (out bool permanent); + [CCode (has_construct_function = false)] + public Query.position (Gst.Format format); + public void remove_nth_allocation_meta (uint index); + public void remove_nth_allocation_param (uint index); + public void remove_nth_allocation_pool (uint index); + [CCode (has_construct_function = false)] + public Query.scheduling (); + [CCode (has_construct_function = false)] + public Query.seeking (Gst.Format format); + [CCode (has_construct_function = false)] + public Query.segment (Gst.Format format); + public void set_accept_caps_result (bool result); + public void set_buffering_percent (bool busy, int percent); + public void set_buffering_range (Gst.Format format, int64 start, int64 stop, int64 estimated_total); + public void set_buffering_stats (Gst.BufferingMode mode, int avg_in, int avg_out, int64 buffering_left); + public void set_caps_result (Gst.Caps caps); + public void set_context (Gst.Context context); + public void set_convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); + public void set_duration (Gst.Format format, int64 duration); + [CCode (sentinel = "")] + public void set_formats (int n_formats, params Gst.Format[] formats); + public void set_formatsv ([CCode (array_length_cname = "n_formats", array_length_pos = 0.5)] Gst.Format[] formats); + public void set_latency (bool live, Gst.ClockTime min_latency, Gst.ClockTime max_latency); + public void set_nth_allocation_param (uint index, Gst.Allocator? allocator, Gst.AllocationParams? @params); + public void set_nth_allocation_pool (uint index, Gst.BufferPool? pool, uint size, uint min_buffers, uint max_buffers); + public void set_position (Gst.Format format, int64 cur); + public void set_scheduling (Gst.SchedulingFlags flags, int minsize, int maxsize, int align); + public void set_seeking (Gst.Format format, bool seekable, int64 segment_start, int64 segment_end); + public void set_segment (double rate, Gst.Format format, int64 start_value, int64 stop_value); + public void set_uri (string uri); + public void set_uri_redirection (string uri); + public void set_uri_redirection_permanent (bool permanent); + [CCode (has_construct_function = false)] + public Query.uri (); + public unowned Gst.Structure writable_structure (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_registry_get_type ()")] + public class Registry : Gst.Object { + [CCode (has_construct_function = false)] + protected Registry (); + public bool add_feature (owned Gst.PluginFeature feature); + public bool add_plugin (owned Gst.Plugin plugin); + public bool check_feature_version (string feature_name, uint min_major, uint min_minor, uint min_micro); + public GLib.List feature_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFeatureFilter filter, bool first); + public Gst.PluginFeature? find_feature (string name, GLib.Type type); + public Gst.Plugin? find_plugin (string name); + public static bool fork_is_enabled (); + public static void fork_set_enabled (bool enabled); + public static unowned Gst.Registry @get (); + public GLib.List get_feature_list (GLib.Type type); + public GLib.List get_feature_list_by_plugin (string name); + public uint32 get_feature_list_cookie (); + public GLib.List get_plugin_list (); + public Gst.Plugin? lookup (string filename); + public Gst.PluginFeature lookup_feature (string name); + public GLib.List plugin_filter ([CCode (delegate_target_pos = 2.1)] Gst.PluginFilter filter, bool first); + public void remove_feature (Gst.PluginFeature feature); + public void remove_plugin (Gst.Plugin plugin); + public bool scan_path (string path); + public signal void feature_added (Gst.PluginFeature feature); + public signal void plugin_added (Gst.Plugin plugin); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_sample_ref", type_id = "gst_sample_get_type ()", unref_function = "gst_sample_unref")] + [Compact] + public class Sample : Gst.MiniObject { + [CCode (has_construct_function = false)] + public Sample (Gst.Buffer? buffer, Gst.Caps? caps, Gst.Segment? segment, owned Gst.Structure? info); + public unowned Gst.Buffer? get_buffer (); + public unowned Gst.Caps? get_caps (); + public unowned Gst.Structure get_info (); + public unowned Gst.Segment get_segment (); + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_segment_copy", free_function = "gst_segment_free", type_id = "gst_segment_get_type ()")] + [Compact] + public class Segment { + public double applied_rate; + public uint64 @base; + public uint64 duration; + public Gst.SegmentFlags flags; + public Gst.Format format; + public uint64 offset; + public uint64 position; + public double rate; + public uint64 start; + public uint64 stop; + public uint64 time; + [CCode (has_construct_function = false)] + public Segment (); + public bool clip (Gst.Format format, uint64 start, uint64 stop, out uint64 clip_start, out uint64 clip_stop); + public Gst.Segment copy (); + public void copy_into (Gst.Segment dest); + public bool do_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, uint64 start, Gst.SeekType stop_type, uint64 stop, bool update); + public void free (); + public void init (Gst.Format format); + public bool offset_running_time (Gst.Format format, int64 offset); + public bool set_running_time (Gst.Format format, uint64 running_time); + public uint64 to_position (Gst.Format format, uint64 running_time); + public uint64 to_running_time (Gst.Format format, uint64 position); + public uint64 to_stream_time (Gst.Format format, uint64 position); + } + [CCode (cheader_filename = "gst/gst.h", copy_function = "gst_structure_copy", free_function = "gst_structure_free", type_id = "gst_structure_get_type ()")] + [Compact] + public class Structure { + public GLib.Type type; + [CCode (has_construct_function = false)] + public Structure (string name, string firstfield, ...); + public bool can_intersect (Gst.Structure struct2); + public Gst.Structure copy (); + [CCode (has_construct_function = false)] + public Structure.empty (string name); + public void fixate (); + public bool fixate_field (string field_name); + public bool fixate_field_boolean (string field_name, bool target); + public bool fixate_field_nearest_double (string field_name, double target); + public bool fixate_field_nearest_fraction (string field_name, int target_numerator, int target_denominator); + public bool fixate_field_nearest_int (string field_name, int target); + public bool fixate_field_string (string field_name, string target); + public bool @foreach (Gst.StructureForeachFunc func); + public void free (); + public static Gst.Structure? from_string (string string, out unowned string end); + public bool @get (...); + public bool get_boolean (string fieldname, out bool value); + public bool get_clock_time (string fieldname, out Gst.ClockTime value); + public bool get_date (string fieldname, out GLib.Date value); + public bool get_date_time (string fieldname, out Gst.DateTime value); + public bool get_double (string fieldname, out double value); + public bool get_enum (string fieldname, GLib.Type enumtype, out int value); + public GLib.Type get_field_type (string fieldname); + public bool get_fraction (string fieldname, out int value_numerator, out int value_denominator); + public bool get_int (string fieldname, out int value); + public bool get_int64 (string fieldname, out int64 value); + public unowned string get_name (); + public GLib.Quark get_name_id (); + public unowned string? get_string (string fieldname); + public bool get_uint (string fieldname, out uint value); + public bool get_uint64 (string fieldname, out uint64 value); + public bool get_valist (string first_fieldname, va_list args); + public unowned GLib.Value? get_value (string fieldname); + public bool has_field (string fieldname); + public bool has_field_typed (string fieldname, GLib.Type type); + public bool has_name (string name); + [CCode (has_construct_function = false)] + public Structure.id_empty (GLib.Quark quark); + public bool id_get (...); + public bool id_get_valist (GLib.Quark first_field_id, va_list args); + public unowned GLib.Value? id_get_value (GLib.Quark field); + public bool id_has_field (GLib.Quark field); + public bool id_has_field_typed (GLib.Quark field, GLib.Type type); + public void id_set (GLib.Quark fieldname, ...); + public void id_set_valist (GLib.Quark fieldname, va_list varargs); + public void id_set_value (GLib.Quark field, GLib.Value value); + public void id_take_value (GLib.Quark field, owned GLib.Value value); + public Gst.Structure intersect (Gst.Structure struct2); + public bool is_equal (Gst.Structure structure2); + public bool is_subset (Gst.Structure superset); + public bool map_in_place (Gst.StructureMapFunc func); + public int n_fields (); + public unowned string nth_field_name (uint index); + public void remove_all_fields (); + public void remove_field (string fieldname); + public void remove_fields (params string[] field_names); + public void remove_fields_valist (string fieldname, va_list varargs); + public void @set (string fieldname, ...); + public void set_name (string name); + public bool set_parent_refcount (int refcount); + public void set_valist (string fieldname, va_list varargs); + public void set_value (string fieldname, GLib.Value value); + public void take_value (string fieldname, owned GLib.Value value); + public string to_string (); + [CCode (has_construct_function = false)] + public Structure.valist (string name, string firstfield, va_list varargs); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_system_clock_get_type ()")] + public class SystemClock : Gst.Clock { + [CCode (has_construct_function = false)] + protected SystemClock (); + public static Gst.Clock obtain (); + public static void set_default (Gst.Clock new_clock); + [NoAccessorMethod] + public Gst.ClockType clock_type { get; set; } + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_tag_list_ref", type_id = "gst_tag_list_get_type ()", unref_function = "gst_tag_list_unref")] + [Compact] + public class TagList : Gst.MiniObject { + public void add (Gst.TagMergeMode mode, string tag, ...); + public void add_valist (Gst.TagMergeMode mode, string tag, va_list var_args); + public void add_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args); + public void add_value (Gst.TagMergeMode mode, string tag, GLib.Value value); + public void add_values (Gst.TagMergeMode mode, string tag, ...); + [CCode (has_construct_function = false)] + public TagList.empty (); + public void @foreach (Gst.TagForeachFunc func); + [CCode (has_construct_function = false)] + public TagList.from_string (string str); + public bool get_boolean (string tag, out bool value); + public bool get_boolean_index (string tag, uint index, out bool value); + public bool get_date (string tag, out GLib.Date value); + public bool get_date_index (string tag, uint index, out GLib.Date value); + public bool get_date_time (string tag, out Gst.DateTime value); + public bool get_date_time_index (string tag, uint index, out Gst.DateTime value); + public bool get_double (string tag, out double value); + public bool get_double_index (string tag, uint index, out double value); + public bool get_float (string tag, out float value); + public bool get_float_index (string tag, uint index, out float value); + public bool get_int (string tag, out int value); + public bool get_int64 (string tag, int64 value); + public bool get_int64_index (string tag, uint index, out int64 value); + public bool get_int_index (string tag, uint index, out int value); + public bool get_pointer (string tag, out void* value); + public bool get_pointer_index (string tag, uint index, out void* value); + public bool get_sample (string tag, out Gst.Sample sample); + public bool get_sample_index (string tag, uint index, out Gst.Sample sample); + public Gst.TagScope get_scope (); + public bool get_string (string tag, out string value); + public bool get_string_index (string tag, uint index, out string value); + public uint get_tag_size (string tag); + public bool get_uint (string tag, out uint value); + public bool get_uint64 (string tag, out uint64 value); + public bool get_uint64_index (string tag, uint index, out uint64 value); + public bool get_uint_index (string tag, uint index, out uint value); + public unowned GLib.Value? get_value_index (string tag, uint index); + public void insert (Gst.TagList from, Gst.TagMergeMode mode); + public bool is_empty (); + public bool is_equal (Gst.TagList list2); + public Gst.TagList? merge (Gst.TagList? list2, Gst.TagMergeMode mode); + public int n_tags (); + public unowned string nth_tag_name (uint index); + public bool peek_string_index (string tag, uint index, out unowned string value); + public void remove_tag (string tag); + public void set_scope (Gst.TagScope scope); + public string? to_string (); + [CCode (has_construct_function = false)] + public TagList.valist (va_list var_args); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_get_type ()")] + public class Task : Gst.Object { + public weak GLib.Cond cond; + public weak Gst.TaskFunction func; + public GLib.RecMutex @lock; + public weak GLib.DestroyNotify notify; + public bool running; + public Gst.TaskState state; + public void* user_data; + [CCode (has_construct_function = false)] + public Task (owned Gst.TaskFunction func); + public static void cleanup_all (); + public Gst.TaskPool get_pool (); + public Gst.TaskState get_state (); + public bool join (); + public bool pause (); + public void set_enter_callback (owned Gst.TaskThreadFunc enter_func); + public void set_leave_callback (owned Gst.TaskThreadFunc leave_func); + public void set_lock (GLib.RecMutex mutex); + public void set_pool (Gst.TaskPool pool); + public bool set_state (Gst.TaskState state); + public bool start (); + public bool stop (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_task_pool_get_type ()")] + public class TaskPool : Gst.Object { + [CCode (has_construct_function = false)] + public TaskPool (); + public virtual void cleanup (); + public virtual void join (void* id); + public virtual void prepare () throws GLib.Error; + public virtual void* push ([CCode (scope = "async")] owned Gst.TaskPoolFunction func) throws GLib.Error; + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_ref", type_id = "gst_toc_get_type ()", unref_function = "gst_toc_unref")] + [Compact] + public class Toc : Gst.MiniObject { + [CCode (has_construct_function = false)] + public Toc (Gst.TocScope scope); + public void append_entry (owned Gst.TocEntry entry); + public void dump (); + public unowned Gst.TocEntry? find_entry (string uid); + public unowned GLib.List get_entries (); + public Gst.TocScope get_scope (); + public unowned Gst.TagList get_tags (); + public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode); + public void set_tags (owned Gst.TagList? tags); + } + [CCode (cheader_filename = "gst/gst.h", ref_function = "gst_toc_entry_ref", type_id = "gst_toc_entry_get_type ()", unref_function = "gst_toc_entry_unref")] + [Compact] + public class TocEntry : Gst.MiniObject { + [CCode (has_construct_function = false)] + public TocEntry (Gst.TocEntryType type, string uid); + public void append_sub_entry (owned Gst.TocEntry subentry); + public Gst.TocEntryType get_entry_type (); + public bool get_loop (out Gst.TocLoopType loop_type, out int repeat_count); + public unowned Gst.TocEntry get_parent (); + public bool get_start_stop_times (out int64 start, out int64 stop); + public unowned GLib.List get_sub_entries (); + public unowned Gst.TagList get_tags (); + public unowned Gst.Toc get_toc (); + public unowned string get_uid (); + public bool is_alternative (); + public bool is_sequence (); + public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode); + public void set_loop (Gst.TocLoopType loop_type, int repeat_count); + public void set_start_stop_times (int64 start, int64 stop); + public void set_tags (owned Gst.TagList? tags); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_type_find_factory_get_type ()")] + public class TypeFindFactory : Gst.PluginFeature { + [CCode (has_construct_function = false)] + protected TypeFindFactory (); + public void call_function (Gst.TypeFind find); + public unowned Gst.Caps get_caps (); + [CCode (array_length = false, array_null_terminated = true)] + public unowned string[]? get_extensions (); + public static GLib.List get_list (); + public bool has_function (); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_array_get_type ()")] + public class ValueArray { + [CCode (has_construct_function = false)] + protected ValueArray (); + public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value); + public static void append_value (GLib.Value value, GLib.Value append_value); + public static uint get_size (GLib.Value value); + public static unowned GLib.Value? get_value (GLib.Value value, uint index); + public static void prepend_value (GLib.Value value, GLib.Value prepend_value); + } + [CCode (cheader_filename = "gst/gst.h", type_id = "gst_value_list_get_type ()")] + public class ValueList { + [CCode (has_construct_function = false)] + protected ValueList (); + public static void append_and_take_value (GLib.Value value, owned GLib.Value append_value); + public static void append_value (GLib.Value value, GLib.Value append_value); + public static void concat (out GLib.Value dest, GLib.Value value1, GLib.Value value2); + public static uint get_size (GLib.Value value); + public static unowned GLib.Value? get_value (GLib.Value value, uint index); + public static void merge (out GLib.Value dest, GLib.Value value1, GLib.Value value2); + public static void prepend_value (GLib.Value value, GLib.Value prepend_value); + } + [CCode (cheader_filename = "gst/gst.h", type_cname = "GstChildProxyInterface", type_id = "gst_child_proxy_get_type ()")] + public interface ChildProxy : GLib.Object { + public void @get (...); + public abstract GLib.Object? get_child_by_index (uint index); + public abstract GLib.Object? get_child_by_name (string name); + public abstract uint get_children_count (); + public GLib.Value get_property (string name); + public void get_valist (string first_property_name, va_list var_args); + public bool lookup (string name, out GLib.Object target, out unowned GLib.ParamSpec pspec); + public void @set (...); + public void set_property (string name, GLib.Value value); + public void set_valist (string first_property_name, va_list var_args); + [HasEmitter] + public virtual signal void child_added (GLib.Object child, string name); + [HasEmitter] + public virtual signal void child_removed (GLib.Object child, string name); + } + [CCode (cheader_filename = "gst/gst.h", type_cname = "GstPresetInterface", type_id = "gst_preset_get_type ()")] + public interface Preset : GLib.Object { + public abstract bool delete_preset (string name); + public static unowned string? get_app_dir (); + public abstract bool get_meta (string name, string tag, out string value); + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] get_preset_names (); + [CCode (array_length = false, array_null_terminated = true)] + public abstract string[] get_property_names (); + public abstract bool load_preset (string name); + public abstract bool rename_preset (string old_name, string new_name); + public abstract bool save_preset (string name); + public static bool set_app_dir (string app_dir); + public abstract bool set_meta (string name, string tag, string? value); + } + [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTagSetterInterface", type_id = "gst_tag_setter_get_type ()")] + public interface TagSetter : Gst.Element { + public void add_tag_valist (Gst.TagMergeMode mode, string tag, va_list var_args); + public void add_tag_valist_values (Gst.TagMergeMode mode, string tag, va_list var_args); + public void add_tag_value (Gst.TagMergeMode mode, string tag, GLib.Value value); + public void add_tag_values (Gst.TagMergeMode mode, string tag, ...); + public void add_tags (Gst.TagMergeMode mode, string tag, ...); + public unowned Gst.TagList? get_tag_list (); + public Gst.TagMergeMode get_tag_merge_mode (); + public void merge_tags (Gst.TagList list, Gst.TagMergeMode mode); + public void reset_tags (); + public void set_tag_merge_mode (Gst.TagMergeMode mode); + } + [CCode (cheader_filename = "gst/gst.h", type_cname = "GstTocSetterInterface", type_id = "gst_toc_setter_get_type ()")] + public interface TocSetter : Gst.Element { + public Gst.Toc? get_toc (); + public void reset (); + public void set_toc (Gst.Toc? toc); + } + [CCode (cheader_filename = "gst/gst.h", type_cname = "GstURIHandlerInterface", type_id = "gst_uri_handler_get_type ()")] + public interface URIHandler : GLib.Object { + [CCode (array_length = false, array_null_terminated = true)] + public string[]? get_protocols(); + public abstract string? get_uri (); + public Gst.URIType get_uri_type (); + public abstract bool set_uri (string uri) throws GLib.Error; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct BufferPoolAcquireParams { + public Gst.Format format; + public int64 start; + public int64 stop; + public Gst.BufferPoolAcquireFlags flags; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct ClockEntry { + public int refcount; + public weak Gst.Clock clock; + public Gst.ClockEntryType type; + public Gst.ClockTime time; + public Gst.ClockTime interval; + public Gst.ClockReturn status; + public weak Gst.ClockCallback func; + public void* user_data; + public weak GLib.DestroyNotify destroy_data; + public bool unscheduled; + public bool woken_up; + } + [CCode (cheader_filename = "gst/gst.h")] + [SimpleType] + public struct ClockID { + } + [CCode (cheader_filename = "gst/gst.h")] + [SimpleType] + public struct ClockTime : uint64 { + } + [CCode (cheader_filename = "gst/gst.h")] + [SimpleType] + public struct ClockTimeDiff : int64 { + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct DebugCategory { + public void free (); + public uint get_color (); + public unowned string get_description (); + public unowned string get_name (); + public Gst.DebugLevel get_threshold (); + public void reset_threshold (); + public void set_threshold (Gst.DebugLevel level); + } + [CCode (cheader_filename = "gst/gst.h")] + [SimpleType] + public struct ElementFactoryListType : uint64 { + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct FormatDefinition { + public Gst.Format value; + public weak string nick; + public weak string description; + public GLib.Quark quark; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct MapInfo { + public weak Gst.Memory memory; + public Gst.MapFlags flags; + [CCode (array_length_cname = "size", array_length_type = "gsize")] + public weak uint8[] data; + public size_t size; + public size_t maxsize; + [CCode (array_length = false, array_null_terminated = true)] + public weak void*[] user_data; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct Meta { + public Gst.MetaFlags flags; + public Gst.MetaInfo info; + [CCode (array_length = false, array_null_terminated = true)] + public static unowned string[] api_type_get_tags (GLib.Type api); + public static bool api_type_has_tag (GLib.Type api, GLib.Quark tag); + public static GLib.Type api_type_register (string api, string tags); + public static unowned Gst.MetaInfo? get_info (string impl); + public static unowned Gst.MetaInfo? register (GLib.Type api, string impl, size_t size, [CCode (scope = "async")] owned Gst.MetaInitFunction init_func, [CCode (scope = "async")] owned Gst.MetaFreeFunction free_func, [CCode (scope = "async")] owned Gst.MetaTransformFunction transform_func); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct MetaInfo { + public GLib.Type api; + public GLib.Type type; + public size_t size; + public weak Gst.MetaInitFunction init_func; + public weak Gst.MetaFreeFunction free_func; + public weak Gst.MetaTransformFunction transform_func; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct MetaTransformCopy { + public bool region; + public size_t offset; + public size_t size; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct PadProbeInfo { + public Gst.PadProbeType type; + public ulong id; + public void* data; + public uint64 offset; + public uint size; + public unowned Gst.Buffer get_buffer (); + public Gst.BufferList get_buffer_list (); + public unowned Gst.Event get_event (); + public unowned Gst.Query get_query (); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct ParamSpecFraction { + public weak GLib.ParamSpec parent_instance; + public int min_num; + public int min_den; + public int max_num; + public int max_den; + public int def_num; + public int def_den; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct PluginDesc { + public int major_version; + public int minor_version; + public weak string name; + public weak string description; + public weak Gst.PluginInitFunc plugin_init; + public weak string version; + public weak string license; + public weak string source; + public weak string package; + public weak string origin; + public weak string release_datetime; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct PollFD { + public int fd; + public void init (); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct StaticCaps { + public weak Gst.Caps caps; + public weak global::string string; + public void cleanup (); + public Gst.Caps @get (); + public static GLib.Type get_type (); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct StaticPadTemplate { + public weak string name_template; + public Gst.PadDirection direction; + public Gst.PadPresence presence; + public Gst.StaticCaps static_caps; + public Gst.PadTemplate @get (); + public Gst.Caps get_caps (); + public static GLib.Type get_type (); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct TimedValue { + public Gst.ClockTime timestamp; + public double value; + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct TypeFind { + public void* data; + public static GLib.Type get_type (); + public unowned uint8* peek (int64 offset, uint size); + public static bool register (Gst.Plugin? plugin, string name, uint rank, [CCode (delegate_target_pos = 6.1, destroy_notify_pos = 6.2)] owned Gst.TypeFindFunction func, string? extensions, Gst.Caps possible_caps); + public void suggest (uint probability, Gst.Caps caps); + public void suggest_simple (uint probability, string media_type, string? fieldname, ...); + } + [CCode (cheader_filename = "gst/gst.h", has_type_id = false)] + public struct ValueTable { + public GLib.Type type; + public weak Gst.ValueCompareFunc compare; + public weak Gst.ValueSerializeFunc serialize; + public weak Gst.ValueDeserializeFunc deserialize; + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ALLOCATOR_FLAG_", type_id = "gst_allocator_flags_get_type ()")] + [Flags] + public enum AllocatorFlags { + CUSTOM_ALLOC, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BIN_FLAG_", type_id = "gst_bin_flags_get_type ()")] + [Flags] + public enum BinFlags { + NO_RESYNC, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_COPY_", type_id = "gst_buffer_copy_flags_get_type ()")] + [Flags] + public enum BufferCopyFlags { + NONE, + FLAGS, + TIMESTAMPS, + META, + MEMORY, + MERGE, + DEEP, + ALL + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_FLAG_", type_id = "gst_buffer_flags_get_type ()")] + [Flags] + public enum BufferFlags { + LIVE, + DECODE_ONLY, + DISCONT, + RESYNC, + CORRUPTED, + MARKER, + HEADER, + GAP, + DROPPABLE, + DELTA_UNIT, + TAG_MEMORY, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFER_POOL_ACQUIRE_FLAG_", type_id = "gst_buffer_pool_acquire_flags_get_type ()")] + [Flags] + public enum BufferPoolAcquireFlags { + NONE, + KEY_UNIT, + DONTWAIT, + DISCONT, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUFFERING_", type_id = "gst_buffering_mode_get_type ()")] + public enum BufferingMode { + STREAM, + DOWNLOAD, + TIMESHIFT, + LIVE + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_flags_get_type ()")] + [Flags] + public enum BusFlags { + FLUSHING, + FLAG_LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_BUS_", type_id = "gst_bus_sync_reply_get_type ()")] + public enum BusSyncReply { + DROP, + PASS, + ASYNC + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_FLAG_", type_id = "gst_caps_flags_get_type ()")] + [Flags] + public enum CapsFlags { + ANY + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CAPS_INTERSECT_", type_id = "gst_caps_intersect_mode_get_type ()")] + public enum CapsIntersectMode { + ZIG_ZAG, + FIRST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_ENTRY_", type_id = "gst_clock_entry_type_get_type ()")] + public enum ClockEntryType { + SINGLE, + PERIODIC + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_FLAG_", type_id = "gst_clock_flags_get_type ()")] + [Flags] + public enum ClockFlags { + CAN_DO_SINGLE_SYNC, + CAN_DO_SINGLE_ASYNC, + CAN_DO_PERIODIC_SYNC, + CAN_DO_PERIODIC_ASYNC, + CAN_SET_RESOLUTION, + CAN_SET_MASTER, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_", type_id = "gst_clock_return_get_type ()")] + public enum ClockReturn { + OK, + EARLY, + UNSCHEDULED, + BUSY, + BADTIME, + ERROR, + UNSUPPORTED, + DONE + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CLOCK_TYPE_", type_id = "gst_clock_type_get_type ()")] + public enum ClockType { + REALTIME, + MONOTONIC, + OTHER + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_", type_id = "gst_debug_color_flags_get_type ()")] + public enum DebugColorFlags { + FG_BLACK, + FG_RED, + FG_GREEN, + FG_YELLOW, + FG_BLUE, + FG_MAGENTA, + FG_CYAN, + FG_WHITE, + BG_BLACK, + BG_RED, + BG_GREEN, + BG_YELLOW, + BG_BLUE, + BG_MAGENTA, + BG_CYAN, + BG_WHITE, + BOLD, + UNDERLINE + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_COLOR_MODE_", type_id = "gst_debug_color_mode_get_type ()")] + public enum DebugColorMode { + OFF, + ON, + UNIX + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_DEBUG_GRAPH_SHOW_", type_id = "gst_debug_graph_details_get_type ()")] + [Flags] + public enum DebugGraphDetails { + MEDIA_TYPE, + CAPS_DETAILS, + NON_DEFAULT_PARAMS, + STATES, + ALL + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LEVEL_", type_id = "gst_debug_level_get_type ()")] + public enum DebugLevel { + NONE, + ERROR, + WARNING, + FIXME, + INFO, + DEBUG, + LOG, + TRACE, + MEMDUMP, + COUNT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ELEMENT_FLAG_", type_id = "gst_element_flags_get_type ()")] + [Flags] + public enum ElementFlags { + LOCKED_STATE, + SINK, + SOURCE, + PROVIDE_CLOCK, + REQUIRE_CLOCK, + INDEXABLE, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_", type_id = "gst_event_type_get_type ()")] + public enum EventType { + UNKNOWN, + FLUSH_START, + FLUSH_STOP, + STREAM_START, + CAPS, + SEGMENT, + TAG, + BUFFERSIZE, + SINK_MESSAGE, + EOS, + TOC, + SEGMENT_DONE, + GAP, + QOS, + SEEK, + NAVIGATION, + LATENCY, + STEP, + RECONFIGURE, + TOC_SELECT, + CUSTOM_UPSTREAM, + CUSTOM_DOWNSTREAM, + CUSTOM_DOWNSTREAM_OOB, + CUSTOM_DOWNSTREAM_STICKY, + CUSTOM_BOTH, + CUSTOM_BOTH_OOB; + public static Gst.EventTypeFlags get_flags (Gst.EventType type); + public static unowned string get_name (Gst.EventType type); + public static GLib.Quark to_quark (Gst.EventType type); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_EVENT_TYPE_", type_id = "gst_event_type_flags_get_type ()")] + [Flags] + public enum EventTypeFlags { + UPSTREAM, + DOWNSTREAM, + SERIALIZED, + STICKY, + STICKY_MULTI + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FLOW_", type_id = "gst_flow_return_get_type ()")] + public enum FlowReturn { + CUSTOM_SUCCESS_2, + CUSTOM_SUCCESS_1, + CUSTOM_SUCCESS, + OK, + NOT_LINKED, + FLUSHING, + EOS, + NOT_NEGOTIATED, + ERROR, + NOT_SUPPORTED, + CUSTOM_ERROR, + CUSTOM_ERROR_1, + CUSTOM_ERROR_2; + [CCode (cname = "gst_flow_get_name", instance_pos = 0.5)] + public unowned string get_name (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_FORMAT_", type_id = "gst_format_get_type ()")] + public enum Format { + UNDEFINED, + DEFAULT, + BYTES, + TIME, + BUFFERS, + PERCENT; + [CCode (cname = "gst_formats_contains")] + public static bool contains ([CCode (array_length = false, array_null_terminated = true)] Gst.Format[] formats, Gst.Format format); + public static Gst.Format get_by_nick (string nick); + public static unowned Gst.FormatDefinition? get_details (Gst.Format format); + public static unowned string? get_name (Gst.Format format); + public static Gst.Iterator iterate_definitions (); + public static Gst.Format register (string nick, string description); + public static GLib.Quark to_quark (Gst.Format format); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_ITEM_", type_id = "gst_iterator_item_get_type ()")] + public enum IteratorItem { + SKIP, + PASS, + END + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_ITERATOR_", type_id = "gst_iterator_result_get_type ()")] + public enum IteratorResult { + DONE, + OK, + RESYNC, + ERROR + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LOCK_FLAG_", type_id = "gst_lock_flags_get_type ()")] + [Flags] + public enum LockFlags { + READ, + WRITE, + EXCLUSIVE, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MAP_", type_id = "gst_map_flags_get_type ()")] + [Flags] + public enum MapFlags { + READ, + WRITE, + FLAG_LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MEMORY_FLAG_", type_id = "gst_memory_flags_get_type ()")] + [Flags] + public enum MemoryFlags { + READONLY, + NO_SHARE, + ZERO_PREFIXED, + ZERO_PADDED, + PHYSICALLY_CONTIGUOUS, + NOT_MAPPABLE, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MESSAGE_", type_id = "gst_message_type_get_type ()")] + [Flags] + public enum MessageType { + UNKNOWN, + EOS, + ERROR, + WARNING, + INFO, + TAG, + BUFFERING, + STATE_CHANGED, + STATE_DIRTY, + STEP_DONE, + CLOCK_PROVIDE, + CLOCK_LOST, + NEW_CLOCK, + STRUCTURE_CHANGE, + STREAM_STATUS, + APPLICATION, + ELEMENT, + SEGMENT_START, + SEGMENT_DONE, + DURATION_CHANGED, + LATENCY, + ASYNC_START, + ASYNC_DONE, + REQUEST_STATE, + STEP_START, + QOS, + PROGRESS, + TOC, + RESET_TIME, + STREAM_START, + NEED_CONTEXT, + HAVE_CONTEXT, + EXTENDED, + DEVICE_ADDED, + DEVICE_REMOVED, + ANY; + public static unowned string get_name (Gst.MessageType type); + public static GLib.Quark to_quark (Gst.MessageType type); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_META_FLAG_", type_id = "gst_meta_flags_get_type ()")] + [Flags] + public enum MetaFlags { + NONE, + READONLY, + POOLED, + LOCKED, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_MINI_OBJECT_FLAG_", type_id = "gst_mini_object_flags_get_type ()")] + [Flags] + public enum MiniObjectFlags { + LOCKABLE, + LOCK_READONLY, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_OBJECT_FLAG_", type_id = "gst_object_flags_get_type ()")] + [Flags] + public enum ObjectFlags { + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_direction_get_type ()")] + public enum PadDirection { + UNKNOWN, + SRC, + SINK + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_FLAG_", type_id = "gst_pad_flags_get_type ()")] + [Flags] + public enum PadFlags { + BLOCKED, + FLUSHING, + EOS, + BLOCKING, + NEED_PARENT, + NEED_RECONFIGURE, + PENDING_EVENTS, + FIXED_CAPS, + PROXY_CAPS, + PROXY_ALLOCATION, + PROXY_SCHEDULING, + ACCEPT_INTERSECT, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_CHECK_", type_id = "gst_pad_link_check_get_type ()")] + [Flags] + public enum PadLinkCheck { + NOTHING, + HIERARCHY, + TEMPLATE_CAPS, + CAPS, + DEFAULT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_LINK_", type_id = "gst_pad_link_return_get_type ()")] + public enum PadLinkReturn { + OK, + WRONG_HIERARCHY, + WAS_LINKED, + WRONG_DIRECTION, + NOFORMAT, + NOSCHED, + REFUSED + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_MODE_", type_id = "gst_pad_mode_get_type ()")] + public enum PadMode { + NONE, + PUSH, + PULL; + public static unowned string get_name (Gst.PadMode mode); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_", type_id = "gst_pad_presence_get_type ()")] + public enum PadPresence { + ALWAYS, + SOMETIMES, + REQUEST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_", type_id = "gst_pad_probe_return_get_type ()")] + public enum PadProbeReturn { + DROP, + OK, + REMOVE, + PASS + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_PROBE_TYPE_", type_id = "gst_pad_probe_type_get_type ()")] + [Flags] + public enum PadProbeType { + INVALID, + IDLE, + BLOCK, + BUFFER, + BUFFER_LIST, + EVENT_DOWNSTREAM, + EVENT_UPSTREAM, + EVENT_FLUSH, + QUERY_DOWNSTREAM, + QUERY_UPSTREAM, + PUSH, + PULL, + BLOCKING, + DATA_DOWNSTREAM, + DATA_UPSTREAM, + DATA_BOTH, + BLOCK_DOWNSTREAM, + BLOCK_UPSTREAM, + EVENT_BOTH, + QUERY_BOTH, + ALL_BOTH, + SCHEDULING + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PAD_TEMPLATE_FLAG_", type_id = "gst_pad_template_flags_get_type ()")] + [Flags] + public enum PadTemplateFlags { + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_FLAG_", type_id = "gst_parse_flags_get_type ()")] + [Flags] + public enum ParseFlags { + NONE, + FATAL_ERRORS, + NO_SINGLE_ELEMENT_BINS + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PIPELINE_FLAG_", type_id = "gst_pipeline_flags_get_type ()")] + [Flags] + public enum PipelineFlags { + FIXED_CLOCK, + LAST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_DEPENDENCY_FLAG_", type_id = "gst_plugin_dependency_flags_get_type ()")] + [Flags] + public enum PluginDependencyFlags { + NONE, + RECURSE, + PATHS_ARE_DEFAULT_ONLY, + FILE_NAME_IS_SUFFIX + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_FLAG_", type_id = "gst_plugin_flags_get_type ()")] + [Flags] + public enum PluginFlags { + CACHED, + BLACKLISTED + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PROGRESS_TYPE_", type_id = "gst_progress_type_get_type ()")] + public enum ProgressType { + START, + CONTINUE, + COMPLETE, + CANCELED, + ERROR + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QOS_TYPE_", type_id = "gst_qos_type_get_type ()")] + public enum QOSType { + OVERFLOW, + UNDERFLOW, + THROTTLE + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_", type_id = "gst_query_type_get_type ()")] + public enum QueryType { + UNKNOWN, + POSITION, + DURATION, + LATENCY, + JITTER, + RATE, + SEEKING, + SEGMENT, + CONVERT, + FORMATS, + BUFFERING, + CUSTOM, + URI, + ALLOCATION, + SCHEDULING, + ACCEPT_CAPS, + CAPS, + DRAIN, + CONTEXT; + public static Gst.QueryTypeFlags get_flags (Gst.QueryType type); + public static unowned string get_name (Gst.QueryType type); + public static GLib.Quark to_quark (Gst.QueryType type); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_QUERY_TYPE_", type_id = "gst_query_type_flags_get_type ()")] + [Flags] + public enum QueryTypeFlags { + UPSTREAM, + DOWNSTREAM, + SERIALIZED + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RANK_", type_id = "gst_rank_get_type ()")] + public enum Rank { + NONE, + MARGINAL, + SECONDARY, + PRIMARY + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SCHEDULING_FLAG_", type_id = "gst_scheduling_flags_get_type ()")] + [Flags] + public enum SchedulingFlags { + SEEKABLE, + SEQUENTIAL, + BANDWIDTH_LIMITED + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEARCH_MODE_", type_id = "gst_search_mode_get_type ()")] + public enum SearchMode { + EXACT, + BEFORE, + AFTER + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_FLAG_", type_id = "gst_seek_flags_get_type ()")] + [Flags] + public enum SeekFlags { + NONE, + FLUSH, + ACCURATE, + KEY_UNIT, + SEGMENT, + SKIP, + SNAP_BEFORE, + SNAP_AFTER, + SNAP_NEAREST + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEEK_TYPE_", type_id = "gst_seek_type_get_type ()")] + public enum SeekType { + NONE, + SET, + END + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_SEGMENT_FLAG_", type_id = "gst_segment_flags_get_type ()")] + [Flags] + public enum SegmentFlags { + NONE, + RESET, + SKIP, + SEGMENT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_", type_id = "gst_state_get_type ()")] + public enum State { + VOID_PENDING, + NULL, + READY, + PAUSED, + PLAYING + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_get_type ()")] + public enum StateChange { + NULL_TO_READY, + READY_TO_PAUSED, + PAUSED_TO_PLAYING, + PLAYING_TO_PAUSED, + PAUSED_TO_READY, + READY_TO_NULL + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STATE_CHANGE_", type_id = "gst_state_change_return_get_type ()")] + public enum StateChangeReturn { + FAILURE, + SUCCESS, + ASYNC, + NO_PREROLL + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_FLAG_", type_id = "gst_stream_flags_get_type ()")] + [Flags] + public enum StreamFlags { + NONE, + SPARSE, + SELECT, + UNSELECT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_STATUS_TYPE_", type_id = "gst_stream_status_type_get_type ()")] + public enum StreamStatusType { + CREATE, + ENTER, + LEAVE, + DESTROY, + START, + PAUSE, + STOP + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STRUCTURE_CHANGE_TYPE_PAD_", type_id = "gst_structure_change_type_get_type ()")] + public enum StructureChangeType { + LINK, + UNLINK + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_FLAG_", type_id = "gst_tag_flag_get_type ()")] + public enum TagFlag { + UNDEFINED, + META, + ENCODED, + DECODED, + COUNT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_MERGE_", type_id = "gst_tag_merge_mode_get_type ()")] + public enum TagMergeMode { + UNDEFINED, + REPLACE_ALL, + REPLACE, + APPEND, + PREPEND, + KEEP, + KEEP_ALL, + COUNT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TAG_SCOPE_", type_id = "gst_tag_scope_get_type ()")] + public enum TagScope { + STREAM, + GLOBAL + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TASK_", type_id = "gst_task_state_get_type ()")] + public enum TaskState { + STARTED, + STOPPED, + PAUSED + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_ENTRY_TYPE_", type_id = "gst_toc_entry_type_get_type ()")] + public enum TocEntryType { + ANGLE, + VERSION, + EDITION, + INVALID, + TITLE, + TRACK, + CHAPTER; + public static unowned string get_nick (Gst.TocEntryType type); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_LOOP_", type_id = "gst_toc_loop_type_get_type ()")] + public enum TocLoopType { + NONE, + FORWARD, + REVERSE, + PING_PONG + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TOC_SCOPE_", type_id = "gst_toc_scope_get_type ()")] + public enum TocScope { + GLOBAL, + CURRENT + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_TYPE_FIND_", type_id = "gst_type_find_probability_get_type ()")] + public enum TypeFindProbability { + NONE, + MINIMUM, + POSSIBLE, + LIKELY, + NEARLY_CERTAIN, + MAXIMUM + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_", type_id = "gst_uri_type_get_type ()")] + public enum URIType { + UNKNOWN, + SINK, + SRC + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_CORE_ERROR_")] + public errordomain CoreError { + FAILED, + TOO_LAZY, + NOT_IMPLEMENTED, + STATE_CHANGE, + PAD, + THREAD, + NEGOTIATION, + EVENT, + SEEK, + CAPS, + TAG, + MISSING_PLUGIN, + CLOCK, + DISABLED, + NUM_ERRORS; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_LIBRARY_ERROR_")] + public errordomain LibraryError { + FAILED, + TOO_LAZY, + INIT, + SHUTDOWN, + SETTINGS, + ENCODE, + NUM_ERRORS; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PARSE_ERROR_")] + public errordomain ParseError { + SYNTAX, + NO_SUCH_ELEMENT, + NO_SUCH_PROPERTY, + LINK, + COULD_NOT_SET_PROPERTY, + EMPTY_BIN, + EMPTY; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_PLUGIN_ERROR_")] + public errordomain PluginError { + MODULE, + DEPENDENCIES, + NAME_MISMATCH; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_RESOURCE_ERROR_")] + public errordomain ResourceError { + FAILED, + TOO_LAZY, + NOT_FOUND, + BUSY, + OPEN_READ, + OPEN_WRITE, + OPEN_READ_WRITE, + CLOSE, + READ, + WRITE, + SEEK, + SYNC, + SETTINGS, + NO_SPACE_LEFT, + NOT_AUTHORIZED, + NUM_ERRORS; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_STREAM_ERROR_")] + public errordomain StreamError { + FAILED, + TOO_LAZY, + NOT_IMPLEMENTED, + TYPE_NOT_FOUND, + WRONG_TYPE, + CODEC_NOT_FOUND, + DECODE, + ENCODE, + DEMUX, + MUX, + FORMAT, + DECRYPT, + DECRYPT_NOKEY, + NUM_ERRORS; + public static GLib.Quark quark (); + } + [CCode (cheader_filename = "gst/gst.h", cprefix = "GST_URI_ERROR_")] + public errordomain URIError { + UNSUPPORTED_PROTOCOL, + BAD_URI, + BAD_STATE, + BAD_REFERENCE + } + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool BufferForeachMetaFunc (Gst.Buffer buffer, out Gst.Meta? meta); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool BufferListFunc (out Gst.Buffer? buffer, uint idx); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool BusFunc (Gst.Bus bus, Gst.Message message); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate Gst.BusSyncReply BusSyncHandler (Gst.Bus bus, Gst.Message message); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 3.9)] + public delegate bool ClockCallback (Gst.Clock clock, Gst.ClockTime time, Gst.ClockID id); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void ControlBindingConvert (Gst.ControlBinding binding, double src_value, GLib.Value dest_value); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, double value); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ClockTime interval, uint n_values, double values); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void DebugFuncPtr (); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void IteratorCopyFunction (Gst.Iterator it, Gst.Iterator copy); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool IteratorFoldFunction (GLib.Value item, GLib.Value ret); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate void IteratorForeachFunction (GLib.Value item); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void IteratorFreeFunction (Gst.Iterator it); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.IteratorItem IteratorItemFunction (Gst.Iterator it, GLib.Value item); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.IteratorResult IteratorNextFunction (Gst.Iterator it, GLib.Value result); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void IteratorResyncFunction (Gst.Iterator it); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 7.9)] + public delegate void LogFunction (Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object object, Gst.DebugMessage message); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.Memory MemoryCopyFunction (Gst.Memory mem, ssize_t offset, ssize_t size); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool MemoryIsSpanFunction (Gst.Memory mem1, Gst.Memory mem2, size_t offset); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.Memory MemoryShareFunction (Gst.Memory mem, ssize_t offset, ssize_t size); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void MemoryUnmapFunction (Gst.Memory mem); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void MetaFreeFunction (Gst.Meta meta, Gst.Buffer buffer); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool MetaInitFunction (Gst.Meta meta, void* @params, Gst.Buffer buffer); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool MetaTransformFunction (Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, GLib.Quark type, void* data); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool MiniObjectDisposeFunction (Gst.MiniObject obj); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void MiniObjectFreeFunction (Gst.MiniObject obj); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)] + public delegate void MiniObjectNotify (Gst.MiniObject obj); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool PadActivateFunction (Gst.Pad pad, Gst.Object parent); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool PadActivateModeFunction (Gst.Pad pad, Gst.Object parent, Gst.PadMode mode, bool active); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.FlowReturn PadChainFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Buffer buffer); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.FlowReturn PadChainListFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.BufferList list); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool PadEventFunction (Gst.Pad pad, Gst.Object? parent, owned Gst.Event event); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate bool PadForwardFunction (Gst.Pad pad); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.FlowReturn PadGetRangeFunction (Gst.Pad pad, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.Iterator PadIterIntLinkFunction (Gst.Pad pad, Gst.Object? parent); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate Gst.PadLinkReturn PadLinkFunction (Gst.Pad pad, Gst.Object? parent, Gst.Pad peer); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate Gst.PadProbeReturn PadProbeCallback (Gst.Pad pad, Gst.PadProbeInfo info); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool PadQueryFunction (Gst.Pad pad, Gst.Object? parent, Gst.Query query); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool PadStickyEventsForeachFunction (Gst.Pad pad, Gst.Event? event); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void PadUnlinkFunction (Gst.Pad pad, Gst.Object? parent); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate bool PluginFeatureFilter (Gst.PluginFeature feature); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate bool PluginFilter (Gst.Plugin plugin); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate bool PluginInitFullFunc (Gst.Plugin plugin); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool PluginInitFunc (Gst.Plugin plugin); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool StructureForeachFunc (GLib.Quark field_id, GLib.Value value); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate bool StructureMapFunc (GLib.Quark field_id, GLib.Value value); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate void TagForeachFunc (Gst.TagList list, string tag); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate void TagMergeFunc (GLib.Value dest, GLib.Value src); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)] + public delegate void TaskFunction (); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 0.9)] + public delegate void TaskPoolFunction (); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 2.9)] + public delegate void TaskThreadFunc (Gst.Task task, GLib.Thread thread); + [CCode (cheader_filename = "gst/gst.h", instance_pos = 1.9)] + public delegate void TypeFindFunction (Gst.TypeFind find); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate int ValueCompareFunc (GLib.Value value1, GLib.Value value2); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate bool ValueDeserializeFunc (GLib.Value dest, string s); + [CCode (cheader_filename = "gst/gst.h", has_target = false)] + public delegate string ValueSerializeFunc (GLib.Value value1); + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ALLOCATOR_SYSMEM")] + public const string ALLOCATOR_SYSMEM; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_ALL")] + public const Gst.BufferCopyFlags BUFFER_COPY_ALL; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_COPY_METADATA")] + public const int BUFFER_COPY_METADATA; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_BUFFER_OFFSET_NONE")] + public const uint64 BUFFER_OFFSET_NONE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAN_INLINE")] + public const int CAN_INLINE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY")] + public const string CAPS_FEATURE_MEMORY_SYSTEM_MEMORY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_CLOCK_TIME_NONE")] + public const Gst.ClockTime CLOCK_TIME_NONE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_AUTHOR")] + public const string ELEMENT_METADATA_AUTHOR; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DESCRIPTION")] + public const string ELEMENT_METADATA_DESCRIPTION; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_DOC_URI")] + public const string ELEMENT_METADATA_DOC_URI; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_ICON_NAME")] + public const string ELEMENT_METADATA_ICON_NAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_KLASS")] + public const string ELEMENT_METADATA_KLASS; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ELEMENT_METADATA_LONGNAME")] + public const string ELEMENT_METADATA_LONGNAME; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_ERROR_SYSTEM")] + public const string ERROR_SYSTEM; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_NUM_SHIFT")] + public const int EVENT_NUM_SHIFT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_EVENT_TYPE_BOTH")] + public const int EVENT_TYPE_BOTH; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_MAX")] + public const int64 FORMAT_PERCENT_MAX; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_FORMAT_PERCENT_SCALE")] + public const int64 FORMAT_PERCENT_SCALE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_FOURCC_FORMAT")] + public const string FOURCC_FORMAT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_LICENSE_UNKNOWN")] + public const string LICENSE_UNKNOWN; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_LOCK_FLAG_READWRITE")] + public const int LOCK_FLAG_READWRITE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_MAP_READWRITE")] + public const int MAP_READWRITE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_META_TAG_MEMORY_STR")] + public const string META_TAG_MEMORY_STR; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_MSECOND")] + public const int MSECOND; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_NSECOND")] + public const int NSECOND; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_CONTROLLABLE")] + public const int PARAM_CONTROLLABLE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PAUSED")] + public const int PARAM_MUTABLE_PAUSED; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_PLAYING")] + public const int PARAM_MUTABLE_PLAYING; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_MUTABLE_READY")] + public const int PARAM_MUTABLE_READY; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PARAM_USER_SHIFT")] + public const int PARAM_USER_SHIFT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_PTR_FORMAT")] + public const string PTR_FORMAT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_NUM_SHIFT")] + public const int QUERY_NUM_SHIFT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_QUERY_TYPE_BOTH")] + public const int QUERY_TYPE_BOTH; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_SECOND")] + public const int SECOND; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_SEGMENT_FORMAT")] + public const string SEGMENT_FORMAT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TIME_FORMAT")] + public const string TIME_FORMAT; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_TOC_REPEAT_COUNT_INFINITE")] + public const int TOC_REPEAT_COUNT_INFINITE; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_USECOND")] + public const int USECOND; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_EQUAL")] + public const int VALUE_EQUAL; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_GREATER_THAN")] + public const int VALUE_GREATER_THAN; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_LESS_THAN")] + public const int VALUE_LESS_THAN; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VALUE_UNORDERED")] + public const int VALUE_UNORDERED; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MAJOR")] + public const int VERSION_MAJOR; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MICRO")] + public const int VERSION_MICRO; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_MINOR")] + public const int VERSION_MINOR; + [CCode (cheader_filename = "gst/gst.h", cname = "GST_VERSION_NANO")] + public const int VERSION_NANO; + [CCode (cheader_filename = "gst/gst.h")] + public static void deinit (); + [CCode (cheader_filename = "gst/gst.h")] + public static string error_get_message (GLib.Quark domain, int code); + [CCode (cheader_filename = "gst/gst.h")] + public static string filename_to_uri (string filename) throws GLib.Error; + [CCode (cheader_filename = "gst/gst.h")] + public static GLib.Quark flow_to_quark (Gst.FlowReturn ret); + [CCode (cheader_filename = "gst/gst.h")] + public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv); + [CCode (cheader_filename = "gst/gst.h")] + public static bool init_check ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error; + [CCode (cheader_filename = "gst/gst.h")] + public static GLib.OptionGroup init_get_option_group (); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_caps_features (void* obj); + [CCode (cheader_filename = "gst/gst.h")] + public static bool is_initialized (); + [CCode (cheader_filename = "gst/gst.h")] + public static GLib.ParamSpec param_spec_fraction (string name, string nick, string blurb, int min_num, int min_denom, int max_num, int max_denom, int default_num, int default_denom, GLib.ParamFlags flags); + [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_bin_from_description_full", returns_floating_reference = true)] + public static Gst.Element parse_bin_from_description (string bin_description, bool ghost_unlinked_pads, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error; + [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launch_full", returns_floating_reference = true)] + public static Gst.Element parse_launch (string pipeline_description, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error; + [CCode (cheader_filename = "gst/gst.h", cname = "gst_parse_launchv_full", returns_floating_reference = true)] + public static Gst.Element parse_launchv ([CCode (array_length = false, array_null_terminated = true)] string[] argv, Gst.ParseContext? context = null, Gst.ParseFlags flags = Gst.ParseFlags.NONE) throws GLib.Error; + [CCode (cheader_filename = "gst/gst.h")] + public static unowned string? preset_get_app_dir (); + [CCode (cheader_filename = "gst/gst.h")] + public static bool preset_set_app_dir (string app_dir); + [CCode (cheader_filename = "gst/gst.h")] + public static bool segtrap_is_enabled (); + [CCode (cheader_filename = "gst/gst.h")] + public static void segtrap_set_enabled (bool enabled); + [CCode (cheader_filename = "gst/gst.h")] + public static bool update_registry (); + [CCode (cheader_filename = "gst/gst.h")] + public static void version (out uint major, out uint minor, out uint micro, out uint nano); + [CCode (cheader_filename = "gst/gst.h")] + public static string version_string (); +} diff --git a/ext/webvideo/vapis/gstreamer-base-1.0.deps b/ext/webvideo/vapis/gstreamer-base-1.0.deps new file mode 100644 index 0000000..26a0edb --- /dev/null +++ b/ext/webvideo/vapis/gstreamer-base-1.0.deps @@ -0,0 +1 @@ +gstreamer-1.0 diff --git a/ext/webvideo/vapis/gstreamer-base-1.0.vapi b/ext/webvideo/vapis/gstreamer-base-1.0.vapi new file mode 100644 index 0000000..595690d --- /dev/null +++ b/ext/webvideo/vapis/gstreamer-base-1.0.vapi @@ -0,0 +1,745 @@ +/* gstreamer-base-1.0.vapi generated by vapigen, do not modify. */ + +[CCode (cprefix = "Gst", gir_namespace = "GstBase", gir_version = "1.0", lower_case_cprefix = "gst_")] +namespace Gst { + namespace Base { + [CCode (cheader_filename = "gst/base/base.h", cname = "GstAdapter", lower_case_cprefix = "gst_adapter_", type_id = "gst_adapter_get_type ()")] + [GIR (name = "Adapter")] + public class Adapter : GLib.Object { + [CCode (has_construct_function = false)] + public Adapter (); + public size_t available (); + public size_t available_fast (); + public void clear (); + public void copy ([CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] out unowned uint8[] dest, size_t offset); + public GLib.Bytes copy_bytes (size_t offset, size_t size); + public void flush (size_t flush); + [CCode (array_length_pos = 0.1, array_length_type = "gsize")] + public unowned uint8[]? map (); + public ssize_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t size); + public ssize_t masked_scan_uint32_peek (uint32 mask, uint32 pattern, size_t offset, size_t size, out uint32 value); + public Gst.ClockTime prev_dts (out uint64 distance); + public Gst.ClockTime prev_dts_at_offset (size_t offset, out uint64 distance); + public Gst.ClockTime prev_pts (out uint64 distance); + public Gst.ClockTime prev_pts_at_offset (size_t offset, out uint64 distance); + public void push (owned Gst.Buffer buf); + [CCode (array_length_pos = 0.1, array_length_type = "gsize")] + public uint8[]? take (); + public Gst.Buffer? take_buffer (size_t nbytes); + public Gst.Buffer? take_buffer_fast (size_t nbytes); + public GLib.List? take_list (size_t nbytes); + public void unmap (); + } + [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")] + [Compact] + [GIR (name = "BitReader")] + public class BitReader { + public uint bit; + public uint byte; + [CCode (array_length = false, array_null_terminated = true)] + public weak uint8[] data; + public BitReader ([CCode (array_length_type = "guint")] uint8[] data); + [CCode (cname = "gst_bit_reader_free")] + public void free (); + [CCode (cname = "gst_bit_reader_get_bits_uint16")] + public bool get_bits_uint16 (out uint16 val, uint nbits); + [CCode (cname = "gst_bit_reader_get_bits_uint32")] + public bool get_bits_uint32 (out uint32 val, uint nbits); + [CCode (cname = "gst_bit_reader_get_bits_uint64")] + public bool get_bits_uint64 (out uint64 val, uint nbits); + [CCode (cname = "gst_bit_reader_get_bits_uint8")] + public bool get_bits_uint8 (out uint8 val, uint nbits); + [CCode (cname = "gst_bit_reader_get_pos")] + public uint get_pos (); + [CCode (cname = "gst_bit_reader_get_remaining")] + public uint get_remaining (); + [CCode (cname = "gst_bit_reader_get_size")] + public uint get_size (); + [CCode (cname = "gst_bit_reader_init")] + public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data); + [CCode (cname = "gst_bit_reader_peek_bits_uint16")] + public bool peek_bits_uint16 (out uint16 val, uint nbits); + [CCode (cname = "gst_bit_reader_peek_bits_uint32")] + public bool peek_bits_uint32 (out uint32 val, uint nbits); + [CCode (cname = "gst_bit_reader_peek_bits_uint64")] + public bool peek_bits_uint64 (out uint64 val, uint nbits); + [CCode (cname = "gst_bit_reader_peek_bits_uint8")] + public bool peek_bits_uint8 (out uint8 val, uint nbits); + [CCode (cname = "gst_bit_reader_set_pos")] + public bool set_pos (uint pos); + [CCode (cname = "gst_bit_reader_skip")] + public bool skip (uint nbits); + [CCode (cname = "gst_bit_reader_skip_to_byte")] + public bool skip_to_byte (); + } + [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")] + [Compact] + [GIR (name = "ByteReader")] + public class ByteReader { + public uint byte; + [CCode (array_length = false, array_null_terminated = true)] + public weak uint8[] data; + public ByteReader ([CCode (array_length_type = "guint")] uint8[] data); + [CCode (cname = "gst_byte_reader_dup_data")] + public bool dup_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out uint8[] val); + [CCode (cname = "gst_byte_reader_dup_string_utf16")] + public bool dup_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] out uint16[] str); + [CCode (cname = "gst_byte_reader_dup_string_utf32")] + public bool dup_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] out uint32[] str); + [CCode (cname = "gst_byte_reader_dup_string_utf8")] + public bool dup_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out string[] str); + [CCode (cname = "gst_byte_reader_free")] + public void free (); + [CCode (cname = "gst_byte_reader_get_data")] + public bool get_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val); + [CCode (cname = "gst_byte_reader_get_float32_be")] + public bool get_float32_be (out float val); + [CCode (cname = "gst_byte_reader_get_float32_le")] + public bool get_float32_le (out float val); + [CCode (cname = "gst_byte_reader_get_float64_be")] + public bool get_float64_be (out double val); + [CCode (cname = "gst_byte_reader_get_float64_le")] + public bool get_float64_le (out double val); + [CCode (cname = "gst_byte_reader_get_int16_be")] + public bool get_int16_be (out int16 val); + [CCode (cname = "gst_byte_reader_get_int16_le")] + public bool get_int16_le (out int16 val); + [CCode (cname = "gst_byte_reader_get_int24_be")] + public bool get_int24_be (out int32 val); + [CCode (cname = "gst_byte_reader_get_int24_le")] + public bool get_int24_le (out int32 val); + [CCode (cname = "gst_byte_reader_get_int32_be")] + public bool get_int32_be (out int32 val); + [CCode (cname = "gst_byte_reader_get_int32_le")] + public bool get_int32_le (out int32 val); + [CCode (cname = "gst_byte_reader_get_int64_be")] + public bool get_int64_be (out int64 val); + [CCode (cname = "gst_byte_reader_get_int64_le")] + public bool get_int64_le (out int64 val); + [CCode (cname = "gst_byte_reader_get_int8")] + public bool get_int8 (out int8 val); + [CCode (cname = "gst_byte_reader_get_pos")] + public uint get_pos (); + [CCode (cname = "gst_byte_reader_get_remaining")] + public uint get_remaining (); + [CCode (cname = "gst_byte_reader_get_size")] + public uint get_size (); + [CCode (cname = "gst_byte_reader_get_string_utf8")] + public bool get_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str); + [CCode (cname = "gst_byte_reader_get_uint16_be")] + public bool get_uint16_be (out uint16 val); + [CCode (cname = "gst_byte_reader_get_uint16_le")] + public bool get_uint16_le (out uint16 val); + [CCode (cname = "gst_byte_reader_get_uint24_be")] + public bool get_uint24_be (out uint32 val); + [CCode (cname = "gst_byte_reader_get_uint24_le")] + public bool get_uint24_le (out uint32 val); + [CCode (cname = "gst_byte_reader_get_uint32_be")] + public bool get_uint32_be (out uint32 val); + [CCode (cname = "gst_byte_reader_get_uint32_le")] + public bool get_uint32_le (out uint32 val); + [CCode (cname = "gst_byte_reader_get_uint64_be")] + public bool get_uint64_be (out uint64 val); + [CCode (cname = "gst_byte_reader_get_uint64_le")] + public bool get_uint64_le (out uint64 val); + [CCode (cname = "gst_byte_reader_get_uint8")] + public bool get_uint8 (out uint8 val); + [CCode (cname = "gst_byte_reader_init")] + public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data); + [CCode (cname = "gst_byte_reader_masked_scan_uint32")] + public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size); + [CCode (cname = "gst_byte_reader_peek_data")] + public bool peek_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val); + [CCode (cname = "gst_byte_reader_peek_float32_be")] + public bool peek_float32_be (out float val); + [CCode (cname = "gst_byte_reader_peek_float32_le")] + public bool peek_float32_le (out float val); + [CCode (cname = "gst_byte_reader_peek_float64_be")] + public bool peek_float64_be (out double val); + [CCode (cname = "gst_byte_reader_peek_float64_le")] + public bool peek_float64_le (out double val); + [CCode (cname = "gst_byte_reader_peek_int16_be")] + public bool peek_int16_be (out int16 val); + [CCode (cname = "gst_byte_reader_peek_int16_le")] + public bool peek_int16_le (out int16 val); + [CCode (cname = "gst_byte_reader_peek_int24_be")] + public bool peek_int24_be (out int32 val); + [CCode (cname = "gst_byte_reader_peek_int24_le")] + public bool peek_int24_le (out int32 val); + [CCode (cname = "gst_byte_reader_peek_int32_be")] + public bool peek_int32_be (out int32 val); + [CCode (cname = "gst_byte_reader_peek_int32_le")] + public bool peek_int32_le (out int32 val); + [CCode (cname = "gst_byte_reader_peek_int64_be")] + public bool peek_int64_be (out int64 val); + [CCode (cname = "gst_byte_reader_peek_int64_le")] + public bool peek_int64_le (out int64 val); + [CCode (cname = "gst_byte_reader_peek_int8")] + public bool peek_int8 (out int8 val); + [CCode (cname = "gst_byte_reader_peek_string_utf8")] + public bool peek_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str); + [CCode (cname = "gst_byte_reader_peek_uint16_be")] + public bool peek_uint16_be (out uint16 val); + [CCode (cname = "gst_byte_reader_peek_uint16_le")] + public bool peek_uint16_le (out uint16 val); + [CCode (cname = "gst_byte_reader_peek_uint24_be")] + public bool peek_uint24_be (out uint32 val); + [CCode (cname = "gst_byte_reader_peek_uint24_le")] + public bool peek_uint24_le (out uint32 val); + [CCode (cname = "gst_byte_reader_peek_uint32_be")] + public bool peek_uint32_be (out uint32 val); + [CCode (cname = "gst_byte_reader_peek_uint32_le")] + public bool peek_uint32_le (out uint32 val); + [CCode (cname = "gst_byte_reader_peek_uint64_be")] + public bool peek_uint64_be (out uint64 val); + [CCode (cname = "gst_byte_reader_peek_uint64_le")] + public bool peek_uint64_le (out uint64 val); + [CCode (cname = "gst_byte_reader_peek_uint8")] + public bool peek_uint8 (out uint8 val); + [CCode (cname = "gst_byte_reader_set_pos")] + public bool set_pos (uint pos); + [CCode (cname = "gst_byte_reader_skip")] + public bool skip (uint nbytes); + [CCode (cname = "gst_byte_reader_skip_string_utf16")] + public bool skip_string_utf16 (); + [CCode (cname = "gst_byte_reader_skip_string_utf32")] + public bool skip_string_utf32 (); + [CCode (cname = "gst_byte_reader_skip_string_utf8")] + public bool skip_string_utf8 (); + } + [CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")] + [Compact] + [GIR (name = "ByteWriter")] + public class ByteWriter { + public uint alloc_size; + public bool fixed; + public bool @owned; + public weak Gst.Base.ByteReader parent; + public ByteWriter (); + [CCode (cname = "gst_byte_writer_ensure_free_space")] + public bool ensure_free_space (uint size); + [CCode (cname = "gst_byte_writer_fill")] + public bool fill (uint8 value, uint size); + [CCode (cname = "gst_byte_writer_free")] + public void free (); + [CCode (cname = "gst_byte_writer_free_and_get_buffer")] + public Gst.Buffer free_and_get_buffer (); + [CCode (cname = "gst_byte_writer_free_and_get_data")] + public uint8 free_and_get_data (); + [CCode (cname = "gst_byte_writer_get_remaining")] + public uint get_remaining (); + [CCode (cname = "gst_byte_writer_init")] + public void init (); + [CCode (cname = "gst_byte_writer_init_with_data")] + public void init_with_data ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, bool initialized); + [CCode (cname = "gst_byte_writer_init_with_size")] + public void init_with_size (uint size, bool fixed); + [CCode (cname = "gst_byte_writer_put_buffer")] + public bool put_buffer (Gst.Buffer buffer, size_t offset, ssize_t size); + [CCode (cname = "gst_byte_writer_put_data")] + public bool put_data ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data); + [CCode (cname = "gst_byte_writer_put_float32_be")] + public bool put_float32_be (float val); + [CCode (cname = "gst_byte_writer_put_float32_le")] + public bool put_float32_le (float val); + [CCode (cname = "gst_byte_writer_put_float64_be")] + public bool put_float64_be (double val); + [CCode (cname = "gst_byte_writer_put_float64_le")] + public bool put_float64_le (double val); + [CCode (cname = "gst_byte_writer_put_int16_be")] + public bool put_int16_be (int16 val); + [CCode (cname = "gst_byte_writer_put_int16_le")] + public bool put_int16_le (int16 val); + [CCode (cname = "gst_byte_writer_put_int24_be")] + public bool put_int24_be (int32 val); + [CCode (cname = "gst_byte_writer_put_int24_le")] + public bool put_int24_le (int32 val); + [CCode (cname = "gst_byte_writer_put_int32_be")] + public bool put_int32_be (int32 val); + [CCode (cname = "gst_byte_writer_put_int32_le")] + public bool put_int32_le (int32 val); + [CCode (cname = "gst_byte_writer_put_int64_be")] + public bool put_int64_be (int64 val); + [CCode (cname = "gst_byte_writer_put_int64_le")] + public bool put_int64_le (int64 val); + [CCode (cname = "gst_byte_writer_put_int8")] + public bool put_int8 (int8 val); + [CCode (cname = "gst_byte_writer_put_string_utf16")] + public bool put_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] uint16[] data); + [CCode (cname = "gst_byte_writer_put_string_utf32")] + public bool put_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] uint32[] data); + [CCode (cname = "gst_byte_writer_put_string_utf8")] + public bool put_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] string[] data); + [CCode (cname = "gst_byte_writer_put_uint16_be")] + public bool put_uint16_be (uint16 val); + [CCode (cname = "gst_byte_writer_put_uint16_le")] + public bool put_uint16_le (uint16 val); + [CCode (cname = "gst_byte_writer_put_uint24_be")] + public bool put_uint24_be (uint32 val); + [CCode (cname = "gst_byte_writer_put_uint24_le")] + public bool put_uint24_le (uint32 val); + [CCode (cname = "gst_byte_writer_put_uint32_be")] + public bool put_uint32_be (uint32 val); + [CCode (cname = "gst_byte_writer_put_uint32_le")] + public bool put_uint32_le (uint32 val); + [CCode (cname = "gst_byte_writer_put_uint64_be")] + public bool put_uint64_be (uint64 val); + [CCode (cname = "gst_byte_writer_put_uint64_le")] + public bool put_uint64_le (uint64 val); + [CCode (cname = "gst_byte_writer_put_uint8")] + public bool put_uint8 (uint8 val); + [CCode (cname = "gst_byte_writer_reset")] + public void reset (); + [CCode (cname = "gst_byte_writer_reset_and_get_buffer")] + public Gst.Buffer reset_and_get_buffer (); + [CCode (array_length = false, cname = "gst_byte_writer_reset_and_get_data")] + public uint8[] reset_and_get_data (); + public ByteWriter.with_data ([CCode (array_length_type = "guint")] uint8[] data, uint size, bool initialized); + public ByteWriter.with_size (uint size, bool fixed); + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPads", lower_case_cprefix = "gst_collect_pads_", type_id = "gst_collect_pads_get_type ()")] + [GIR (name = "CollectPads")] + public class CollectPads : Gst.Object { + public weak GLib.SList data; + [CCode (has_construct_function = false)] + public CollectPads (); + public unowned Gst.Base.CollectData? add_pad (Gst.Pad pad, uint size, [CCode (scope = "async")] owned Gst.Base.CollectDataDestroyNotify destroy_notify, bool @lock); + public uint available (); + public Gst.FlowReturn clip_running_time (Gst.Base.CollectData cdata, Gst.Buffer buf, Gst.Buffer? outbuf, void* user_data); + public bool event_default (Gst.Base.CollectData data, Gst.Event event, bool discard); + public uint flush (Gst.Base.CollectData data, uint size); + public Gst.Buffer peek (Gst.Base.CollectData data); + public Gst.Buffer pop (Gst.Base.CollectData data); + public bool query_default (Gst.Base.CollectData data, Gst.Query query, bool discard); + public Gst.Buffer read_buffer (Gst.Base.CollectData data, uint size); + public bool remove_pad (Gst.Pad pad); + public void set_flushing (bool flushing); + public void set_waiting (Gst.Base.CollectData data, bool waiting); + public bool src_event_default (Gst.Pad pad, Gst.Event event); + public void start (); + public void stop (); + public Gst.Buffer take_buffer (Gst.Base.CollectData data, uint size); + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueue", lower_case_cprefix = "gst_data_queue_", type_id = "gst_data_queue_get_type ()")] + [GIR (name = "DataQueue")] + public class DataQueue : GLib.Object { + [CCode (has_construct_function = false)] + protected DataQueue (); + [NoWrapper] + public virtual void empty (); + [NoWrapper] + public virtual void full (); + [NoAccessorMethod] + public uint current_level_bytes { get; } + [NoAccessorMethod] + public uint64 current_level_time { get; } + [NoAccessorMethod] + public uint current_level_visible { get; } + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstFlowCombiner", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_flow_combiner_", type_id = "gst_flow_combiner_get_type ()")] + [Compact] + [GIR (name = "FlowCombiner")] + public class FlowCombiner { + [CCode (has_construct_function = false)] + public FlowCombiner (); + public void add_pad (Gst.Pad pad); + public void free (); + public void remove_pad (Gst.Pad pad); + public Gst.FlowReturn update_flow (Gst.FlowReturn fret); + } + [CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_parse_get_type ()")] + [GIR (name = "BaseParse")] + public abstract class Parse : Gst.Element { + public uint flags; + public weak Gst.Segment segment; + public weak Gst.Pad sinkpad; + public weak Gst.Pad srcpad; + [CCode (has_construct_function = false)] + protected Parse (); + public bool add_index_entry (uint64 offset, Gst.ClockTime ts, bool key, bool force); + [NoWrapper] + public virtual bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); + public bool convert_default (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value); + [NoWrapper] + public virtual Gst.FlowReturn detect (Gst.Buffer buffer); + public Gst.FlowReturn finish_frame (Gst.Base.ParseFrame frame, int size); + [NoWrapper] + public virtual Gst.Caps get_sink_caps (Gst.Caps filter); + [NoWrapper] + public virtual Gst.FlowReturn handle_frame (Gst.Base.ParseFrame frame, int skipsize); + [NoWrapper] + public virtual Gst.FlowReturn pre_push_frame (Gst.Base.ParseFrame frame); + public Gst.FlowReturn push_frame (Gst.Base.ParseFrame frame); + public void set_average_bitrate (uint bitrate); + public void set_duration (Gst.Format fmt, int64 duration, int interval); + public void set_frame_rate (uint fps_num, uint fps_den, uint lead_in, uint lead_out); + public void set_has_timing_info (bool has_timing); + public void set_infer_ts (bool infer_ts); + public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency); + public void set_min_frame_size (uint min_size); + public void set_passthrough (bool passthrough); + public void set_pts_interpolation (bool pts_interpolate); + [NoWrapper] + public virtual bool set_sink_caps (Gst.Caps caps); + public void set_syncable (bool syncable); + public void set_ts_at_offset (size_t offset); + [NoWrapper] + public virtual bool sink_event (Gst.Event event); + [NoWrapper] + public virtual bool sink_query (Gst.Query query); + [NoWrapper] + public virtual bool src_event (Gst.Event event); + [NoWrapper] + public virtual bool src_query (Gst.Query query); + [NoWrapper] + public virtual bool start (); + [NoWrapper] + public virtual bool stop (); + [NoAccessorMethod] + public bool disable_passthrough { get; set; } + } + [CCode (cheader_filename = "gst/base/base.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_base_parse_frame_get_type ()")] + [Compact] + [GIR (name = "BaseParseFrame")] + public class ParseFrame { + public weak Gst.Buffer buffer; + public uint flags; + public uint64 offset; + public weak Gst.Buffer out_buffer; + public int overhead; + [CCode (has_construct_function = false)] + public ParseFrame (Gst.Buffer buffer, Gst.Base.ParseFrameFlags flags, int overhead); + public void free (); + public void init (); + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstPushSrc", lower_case_cprefix = "gst_push_src_", type_id = "gst_push_src_get_type ()")] + [GIR (name = "PushSrc")] + public class PushSrc : Gst.Base.Src { + [CCode (has_construct_function = false)] + protected PushSrc (); + [NoWrapper] + public virtual Gst.FlowReturn alloc (Gst.Buffer buf); + [NoWrapper] + public virtual Gst.FlowReturn create (out Gst.Buffer buf); + [NoWrapper] + public virtual Gst.FlowReturn fill (Gst.Buffer buf); + } + [CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_sink_get_type ()")] + [GIR (name = "BaseSink")] + public abstract class Sink : Gst.Element { + public bool can_activate_pull; + public bool can_activate_push; + public bool eos; + public bool have_newsegment; + public bool have_preroll; + public bool need_preroll; + public uint64 offset; + public Gst.PadMode pad_mode; + public bool playing_async; + public weak GLib.Cond preroll_cond; + public weak GLib.Mutex preroll_lock; + public weak Gst.Segment segment; + public weak Gst.Pad sinkpad; + [CCode (has_construct_function = false)] + protected Sink (); + [NoWrapper] + public virtual bool activate_pull (bool active); + public Gst.FlowReturn do_preroll (Gst.MiniObject obj); + [NoWrapper] + public virtual bool event (Gst.Event event); + [NoWrapper] + public virtual Gst.Caps fixate (Gst.Caps caps); + public uint get_blocksize (); + [NoWrapper] + public virtual Gst.Caps get_caps (Gst.Caps filter); + public Gst.Sample? get_last_sample (); + public Gst.ClockTime get_latency (); + public uint64 get_max_bitrate (); + public int64 get_max_lateness (); + public Gst.ClockTime get_render_delay (); + public bool get_sync (); + public uint64 get_throttle_time (); + [NoWrapper] + public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end); + public Gst.ClockTimeDiff get_ts_offset (); + public bool is_async_enabled (); + public bool is_last_sample_enabled (); + public bool is_qos_enabled (); + [NoWrapper] + public virtual Gst.FlowReturn prepare (Gst.Buffer buffer); + [NoWrapper] + public virtual Gst.FlowReturn prepare_list (Gst.BufferList buffer_list); + [NoWrapper] + public virtual Gst.FlowReturn preroll (Gst.Buffer buffer); + [NoWrapper] + public virtual bool propose_allocation (Gst.Query query); + [NoWrapper] + public virtual bool query (Gst.Query query); + public bool query_latency (out bool live, out bool upstream_live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency); + [NoWrapper] + public virtual Gst.FlowReturn render (Gst.Buffer buffer); + [NoWrapper] + public virtual Gst.FlowReturn render_list (Gst.BufferList buffer_list); + public void set_async_enabled (bool enabled); + public void set_blocksize (uint blocksize); + [NoWrapper] + public virtual bool set_caps (Gst.Caps caps); + public void set_last_sample_enabled (bool enabled); + public void set_max_bitrate (uint64 max_bitrate); + public void set_max_lateness (int64 max_lateness); + public void set_qos_enabled (bool enabled); + public void set_render_delay (Gst.ClockTime delay); + public void set_sync (bool sync); + public void set_throttle_time (uint64 throttle); + public void set_ts_offset (Gst.ClockTimeDiff offset); + [NoWrapper] + public virtual bool start (); + [NoWrapper] + public virtual bool stop (); + [NoWrapper] + public virtual bool unlock (); + [NoWrapper] + public virtual bool unlock_stop (); + public Gst.FlowReturn wait (Gst.ClockTime time, out Gst.ClockTimeDiff jitter); + public Gst.ClockReturn wait_clock (Gst.ClockTime time, out Gst.ClockTimeDiff jitter); + [NoWrapper] + public virtual Gst.FlowReturn wait_event (Gst.Event event); + public Gst.FlowReturn wait_preroll (); + [NoAccessorMethod] + public bool @async { get; set; } + public uint blocksize { get; set; } + [NoAccessorMethod] + public bool enable_last_sample { get; set; } + public Gst.Sample last_sample { owned get; } + public uint64 max_bitrate { get; set; } + public int64 max_lateness { get; set; } + [NoAccessorMethod] + public bool qos { get; set; } + public uint64 render_delay { get; set; } + public bool sync { get; set; } + public uint64 throttle_time { get; set; } + public int64 ts_offset { get; set; } + } + [CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_src_get_type ()")] + [GIR (name = "BaseSrc")] + public abstract class Src : Gst.Element { + public bool can_activate_push; + public Gst.ClockID clock_id; + public weak GLib.Cond live_cond; + public weak GLib.Mutex live_lock; + public bool live_running; + public bool need_newsegment; + public int num_buffers_left; + public weak Gst.Event pending_seek; + public bool random_access; + public bool running; + public weak Gst.Segment segment; + public weak Gst.Pad srcpad; + [CCode (has_construct_function = false)] + protected Src (); + [NoWrapper] + public virtual Gst.FlowReturn alloc (uint64 offset, uint size, Gst.Buffer buf); + [NoWrapper] + public virtual Gst.FlowReturn create (uint64 offset, uint size, out Gst.Buffer buf); + [NoWrapper] + public virtual bool decide_allocation (Gst.Query query); + [NoWrapper] + public virtual bool do_seek (Gst.Segment segment); + [NoWrapper] + public virtual bool event (Gst.Event event); + [NoWrapper] + public virtual Gst.FlowReturn fill (uint64 offset, uint size, Gst.Buffer buf); + [NoWrapper] + public virtual Gst.Caps fixate (Gst.Caps caps); + public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params); + public uint get_blocksize (); + public Gst.BufferPool get_buffer_pool (); + [NoWrapper] + public virtual Gst.Caps get_caps (Gst.Caps filter); + public bool get_do_timestamp (); + [NoWrapper] + public virtual bool get_size (out uint64 size); + [NoWrapper] + public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end); + public bool is_async (); + [NoWrapper] + public virtual bool is_seekable (); + [NoWrapper] + public virtual bool negotiate (); + public bool new_seamless_segment (int64 start, int64 stop, int64 time); + [NoWrapper] + public virtual bool prepare_seek_segment (Gst.Event seek, Gst.Segment segment); + [NoWrapper] + public virtual bool query (Gst.Query query); + public bool query_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency); + public void set_async (bool @async); + public void set_automatic_eos (bool automatic_eos); + public void set_blocksize (uint blocksize); + public virtual bool set_caps (Gst.Caps caps); + public void set_do_timestamp (bool timestamp); + public void set_dynamic_size (bool @dynamic); + public void set_format (Gst.Format format); + public void set_live (bool live); + [NoWrapper] + public virtual bool start (); + public void start_complete (Gst.FlowReturn ret); + public Gst.FlowReturn start_wait (); + [NoWrapper] + public virtual bool stop (); + [NoWrapper] + public virtual bool unlock (); + [NoWrapper] + public virtual bool unlock_stop (); + public Gst.FlowReturn wait_playing (); + public uint blocksize { get; set; } + public bool do_timestamp { get; set; } + [NoAccessorMethod] + public int num_buffers { get; set; } + [NoAccessorMethod] + public bool typefind { get; set; } + } + [CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_transform_get_type ()")] + [GIR (name = "BaseTransform")] + public abstract class Transform : Gst.Element { + public bool have_segment; + public weak Gst.Segment segment; + public weak Gst.Pad sinkpad; + public weak Gst.Pad srcpad; + [CCode (has_construct_function = false)] + protected Transform (); + [NoWrapper] + public virtual bool accept_caps (Gst.PadDirection direction, Gst.Caps caps); + [NoWrapper] + public virtual void before_transform (Gst.Buffer buffer); + [NoWrapper] + public virtual bool copy_metadata (Gst.Buffer input, Gst.Buffer outbuf); + [NoWrapper] + public virtual bool decide_allocation (Gst.Query query); + [NoWrapper] + public virtual bool filter_meta (Gst.Query query, GLib.Type api, Gst.Structure @params); + [NoWrapper] + public virtual Gst.Caps fixate_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps othercaps); + public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params); + public Gst.BufferPool get_buffer_pool (); + [NoWrapper] + public virtual bool get_unit_size (Gst.Caps caps, size_t size); + public bool is_in_place (); + public bool is_passthrough (); + public bool is_qos_enabled (); + [NoWrapper] + public virtual Gst.FlowReturn prepare_output_buffer (Gst.Buffer input, Gst.Buffer outbuf); + [NoWrapper] + public virtual bool propose_allocation (Gst.Query decide_query, Gst.Query query); + [NoWrapper] + public virtual bool query (Gst.PadDirection direction, Gst.Query query); + public void reconfigure_sink (); + public void reconfigure_src (); + [NoWrapper] + public virtual bool set_caps (Gst.Caps incaps, Gst.Caps outcaps); + public void set_gap_aware (bool gap_aware); + public void set_in_place (bool in_place); + public void set_passthrough (bool passthrough); + public void set_prefer_passthrough (bool prefer_passthrough); + public void set_qos_enabled (bool enabled); + [NoWrapper] + public virtual bool sink_event (Gst.Event event); + [NoWrapper] + public virtual bool src_event (Gst.Event event); + [NoWrapper] + public virtual bool start (); + [NoWrapper] + public virtual bool stop (); + [NoWrapper] + public virtual Gst.FlowReturn transform (Gst.Buffer inbuf, Gst.Buffer outbuf); + [NoWrapper] + public virtual Gst.Caps transform_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps filter); + [NoWrapper] + public virtual Gst.FlowReturn transform_ip (Gst.Buffer buf); + [NoWrapper] + public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf); + [NoWrapper] + public virtual bool transform_size (Gst.PadDirection direction, Gst.Caps caps, size_t size, Gst.Caps othercaps, size_t othersize); + public void update_qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp); + [NoAccessorMethod] + public bool qos { get; set; } + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectData", has_type_id = false)] + [GIR (name = "CollectData")] + public struct CollectData { + public weak Gst.Base.CollectPads collect; + public weak Gst.Pad pad; + public weak Gst.Buffer buffer; + public uint pos; + public weak Gst.Segment segment; + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsStateFlags", cprefix = "GST_COLLECT_PADS_STATE_", has_type_id = false)] + [Flags] + [GIR (name = "CollectPadsStateFlags")] + public enum CollectPadsStateFlags { + EOS, + FLUSHING, + NEW_SEGMENT, + WAITING, + LOCKED + } + [CCode (cheader_filename = "gst/base/base.h", cprefix = "GST_BASE_PARSE_FRAME_FLAG_", has_type_id = false)] + [Flags] + [GIR (name = "BaseParseFrameFlags")] + public enum ParseFrameFlags { + NONE, + NEW_FRAME, + NO_FRAME, + CLIP, + DROP, + QUEUE + } + [CCode (cheader_filename = "gst/base/base.h", cprefix = "GST_BASE_SRC_FLAG_", has_type_id = false)] + [Flags] + [GIR (name = "BaseSrcFlags")] + public enum SrcFlags { + STARTING, + STARTED, + LAST + } + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectDataDestroyNotify", has_target = false)] + public delegate void CollectDataDestroyNotify (Gst.Base.CollectData data); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsBufferFunction", instance_pos = 3.9)] + public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer buffer); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsClipFunction", instance_pos = 4.9)] + public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer inbuffer, Gst.Buffer outbuffer); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsCompareFunction", instance_pos = 5.9)] + public delegate int CollectPadsCompareFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, Gst.ClockTime timestamp1, Gst.Base.CollectData data2, Gst.ClockTime timestamp2); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsEventFunction", instance_pos = 3.9)] + public delegate bool CollectPadsEventFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Event event); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFlushFunction", instance_pos = 1.9)] + public delegate void CollectPadsFlushFunction (Gst.Base.CollectPads pads); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFunction", instance_pos = 1.9)] + public delegate Gst.FlowReturn CollectPadsFunction (Gst.Base.CollectPads pads); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsQueryFunction", instance_pos = 3.9)] + public delegate bool CollectPadsQueryFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueueEmptyCallback", has_target = false)] + public delegate void DataQueueEmptyCallback (Gst.Base.DataQueue queue, void* checkdata); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueueFullCallback", has_target = false)] + public delegate void DataQueueFullCallback (Gst.Base.DataQueue queue, void* checkdata); + [CCode (cheader_filename = "gst/base/base.h", cname = "GstTypeFindHelperGetRangeFunction", has_target = false)] + public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction (Gst.Object obj, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer); + [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_DRAINING")] + public const int PARSE_FLAG_DRAINING; + [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_LOST_SYNC")] + public const int PARSE_FLAG_LOST_SYNC; + [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_TRANSFORM_SINK_NAME")] + public const string TRANSFORM_SINK_NAME; + [CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_TRANSFORM_SRC_NAME")] + public const string TRANSFORM_SRC_NAME; + [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper")] + public static Gst.Caps? type_find_helper (Gst.Pad src, uint64 size); + [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_buffer")] + public static Gst.Caps? type_find_helper_for_buffer (Gst.Object? obj, Gst.Buffer buf, out Gst.TypeFindProbability prob); + [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_data")] + public static Gst.Caps? type_find_helper_for_data (Gst.Object? obj, uint8 data, size_t size, out Gst.TypeFindProbability prob); + [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_extension")] + public static Gst.Caps? type_find_helper_for_extension (Gst.Object? obj, string extension); + [CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_get_range")] + public static Gst.Caps? type_find_helper_get_range (Gst.Object obj, Gst.Object? parent, Gst.Base.TypeFindHelperGetRangeFunction func, uint64 size, string extension, out Gst.TypeFindProbability prob); + } +} diff --git a/ext/webvideo/vapis/gxml-0.6.deps b/ext/webvideo/vapis/gxml-0.6.deps new file mode 100644 index 0000000..9ad0c76 --- /dev/null +++ b/ext/webvideo/vapis/gxml-0.6.deps @@ -0,0 +1,5 @@ +glib-2.0 +gobject-2.0 +gee-0.8 +gio-2.0 +libxml-2.0 diff --git a/ext/webvideo/vapis/gxml-0.6.vapi b/ext/webvideo/vapis/gxml-0.6.vapi new file mode 100644 index 0000000..7815d9d --- /dev/null +++ b/ext/webvideo/vapis/gxml-0.6.vapi @@ -0,0 +1,697 @@ +/* gxml-0.6.vapi generated by valac 0.26.2, do not modify. */ + +[CCode (gir_namespace = "GXml", gir_version = "0.6")] +namespace GXml { + [CCode (cheader_filename = "gxml/gxml.h")] + public abstract class AbstractNamedAttrMap : GLib.Object, Gee.Traversable>, Gee.Iterable> { + public class Entry : Gee.Map.Entry { + public Entry (string k, GXml.Attribute v); + public override string key { get; } + public override bool read_only { get; } + public override GXml.Attribute value { get; set; } + } + protected class Iterator : GLib.Object, Gee.Traversable, Gee.Iterator { + protected Xml.Attr* cur; + protected GXml.AbstractNamedAttrMap nm; + public Iterator (GXml.AbstractNamedAttrMap nm); + } + protected GXml.xElement elem; + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Attr : GXml.BackedNode, GXml.Attribute { + public override string stringify (bool format = false, int level = 0); + public override GXml.NodeList? child_nodes { get; internal set; } + public override string name { get; } + public override GXml.xNode? next_sibling { get; internal set; } + public override string? node_value { get; internal set; } + public override GXml.xNode? parent_node { get; internal set; } + public override GXml.xNode? previous_sibling { get; internal set; } + public bool specified { get; private set; } + public override string value { get; set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class BackedNode : GXml.xNode { + public override GXml.NamespaceAttr? add_namespace_attr (string uri, string namespace_prefix); + public override unowned GXml.xNode? append_child (GXml.xNode new_child); + public override unowned GXml.xNode? clone_node (bool deep); + public override bool has_child_nodes (); + public override unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public override unowned GXml.xNode? remove_child (GXml.xNode old_child); + public override unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public override bool set_namespace (string uri, string namespace_prefix); + public override string stringify (bool format = true, int level = 0); + public override GXml.NodeList? child_nodes { get; internal set; } + public override GXml.xNode? first_child { get; internal set; } + public override GXml.xNode? last_child { get; internal set; } + public override string? local_name { get; internal set; } + public override Gee.List? namespace_definitions { get; internal set; } + public override string? namespace_prefix { get; internal set; } + public override string? namespace_uri { get; internal set; } + public override GXml.xNode? next_sibling { get; internal set; } + public override string node_name { get; internal set; } + public override GXml.NodeType node_type { get; internal set; } + public override string? node_value { get; internal set; } + public override GXml.xNode? parent_node { get; internal set; } + public override GXml.xNode? previous_sibling { get; internal set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class CDATASection : GXml.xText { + public override string node_name { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class CharacterData : GXml.BackedNode { + public void append_data (string new_segment); + public void delete_data (ulong offset, ulong count); + public void insert_data (ulong offset, string new_segment); + public void replace_data (ulong offset, ulong count, string new_segment); + public string substring_data (ulong offset, ulong count); + public string data { get; set; } + public ulong length { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class DocumentFragment : GXml.BackedNode { + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class DocumentType : GXml.xNode { + public GLib.HashTable? entities { get; private set; } + public override string name { get; } + public GLib.HashTable? notations { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Entity : GXml.xNode { + public override unowned GXml.xNode? append_child (GXml.xNode new_child); + public override unowned GXml.xNode? clone_node (bool deep); + public override bool has_child_nodes (); + public override unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public override unowned GXml.xNode? remove_child (GXml.xNode old_child); + public override unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public override GXml.NodeList? child_nodes { get; internal set; } + public override string node_name { get; internal set; } + public string notation_name { get; private set; } + public override GXml.xNode? parent_node { get; internal set; } + public string public_id { get; private set; } + public string system_id { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class EntityReference : GXml.xNode { + public override string node_name { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Enumeration { + public Enumeration (); + public static string get_nick (GLib.Type enumeration, int val) throws GLib.Error; + public static string get_nick_camelcase (GLib.Type enumeration, int val) throws GLib.Error; + public static string get_string (GLib.Type enumeration, int val, bool use_nick = false, bool camelcase = false) throws GLib.Error; + public static GLib.EnumValue? parse (GLib.Type enumeration, string val) throws GLib.Error; + public static unowned GLib.EnumValue[] to_array (GLib.Type enumeration); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Implementation : GLib.Object { + public GXml.xDocument create_document (string? namespace_uri, string? qualified_name, GXml.DocumentType? doctype); + public bool has_feature (string feature, string? version = null); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class NamedAttrMap : GXml.AbstractNamedAttrMap, Gee.Map, GXml.NamedNodeMap { + public bool contains (string key); + public bool contains_all (Gee.Map map); + public bool remove (string key, out GXml.Attribute val = null); + public bool remove_all (Gee.Map map); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class NamespaceAttr : GXml.xNode, GXml.Namespace { + public string defined_namespace_uri { get; internal set; } + public string defined_prefix { get; internal set; } + public override string? local_name { get; internal set; } + public override string? namespace_prefix { get; internal set; } + public override string? namespace_uri { get; internal set; } + public override string node_name { get; internal set; } + public override string? node_value { get; internal set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Notation : GXml.xNode { + public override string node_name { get; private set; } + public string? public_id { get; private set; } + public string? system_id { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class ProcessingInstruction : GXml.xNode { + public string data { get; set; } + public override string node_name { get; private set; } + public override string? node_value { get; private set; } + public string target { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class SerializableArrayList : Gee.ArrayList, GXml.Serializable, GXml.SerializableCollection { + public SerializableArrayList (); + public GXml.Node? default_deserialize (GXml.Node node) throws GLib.Error; + public bool default_deserialize_property (GXml.Node property_node) throws GLib.Error; + public GXml.Node? default_serialize (GXml.Node node) throws GLib.Error; + public GXml.Node? default_serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public virtual bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public virtual GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public virtual GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public virtual bool transform_from_string (string str, ref GLib.Value dest); + public virtual bool transform_to_string (GLib.Value val, ref string str); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public abstract class SerializableContainer : GXml.SerializableObjectModel { + public SerializableContainer (); + public abstract void init_containers (); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class SerializableDualKeyMap : GLib.Object, GXml.Serializable, GXml.SerializableCollection { + protected Gee.HashMultiMap> storage; + public SerializableDualKeyMap (); + public GXml.Node? default_deserialize (GXml.Node node) throws GLib.Error; + public bool default_deserialize_property (GXml.Node property_node) throws GLib.Error; + public GXml.Node? default_serialize (GXml.Node node) throws GLib.Error; + public GXml.Node? default_serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public virtual bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public new V @get (P primary_key, S secondary_key); + public virtual bool get_enable_unknown_serializable_property (); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public Gee.Collection secondary_keys (P key); + public virtual GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public virtual GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public new void @set (P primary_key, S secundary_key, V val); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public virtual bool transform_from_string (string str, ref GLib.Value dest); + public virtual bool transform_to_string (GLib.Value val, ref string str); + public Gee.Collection values (); + public Gee.Collection values_for_key (P primary_key); + public GLib.Type primary_key_type { get; } + public Gee.Collection

primary_keys { owned get; } + public GLib.Type secondary_key_type { get; } + public int size { get; } + public GLib.Type value_type { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class SerializableHashMap : Gee.HashMap, GXml.Serializable, GXml.SerializableCollection { + public SerializableHashMap (); + public GXml.Node? default_deserialize (GXml.Node node) throws GLib.Error; + public bool default_deserialize_property (GXml.Node property_node) throws GLib.Error; + public GXml.Node? default_serialize (GXml.Node node) throws GLib.Error; + public GXml.Node? default_serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public virtual bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public virtual bool get_enable_unknown_serializable_property (); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public virtual GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public virtual GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public virtual bool transform_from_string (string str, ref GLib.Value dest); + public virtual bool transform_to_string (GLib.Value val, ref string str); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class SerializableJson : GLib.Object, GXml.Serializable { + public SerializableJson (); + public virtual bool deserialize_property (GXml.Node nproperty) throws GLib.Error; + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public virtual bool get_enable_unknown_serializable_property (); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public virtual GXml.Node? serialize_property (GXml.Node node, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public virtual bool transform_from_string (string str, ref GLib.Value dest) throws GLib.Error; + public virtual bool transform_to_string (GLib.Value val, ref string str) throws GLib.Error; + } + [CCode (cheader_filename = "gxml/gxml.h")] + public abstract class SerializableObjectModel : GLib.Object, GXml.Serializable { + protected GXml.TwDocument _doc; + public SerializableObjectModel (); + public GXml.Node? default_deserialize (GXml.Node node) throws GLib.Error; + public bool default_deserialize_property (GXml.Node property_node) throws GLib.Error; + public string default_node_name (); + public GXml.Node? default_serialize (GXml.Node node) throws GLib.Error; + public GXml.Node? default_serialize_property (GXml.Element element, GLib.ParamSpec prop) throws GLib.Error; + public virtual GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public virtual bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public static bool equals (GXml.SerializableObjectModel a, GXml.SerializableObjectModel b); + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public virtual bool get_enable_unknown_serializable_property (); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public virtual GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public virtual GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public abstract string to_string (); + public virtual bool transform_from_string (string str, ref GLib.Value dest) throws GLib.Error; + public virtual bool transform_to_string (GLib.Value val, ref string str) throws GLib.Error; + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class SerializableTreeMap : Gee.TreeMap, GXml.Serializable, GXml.SerializableCollection { + public SerializableTreeMap (); + public GXml.Node? default_deserialize (GXml.Node node) throws GLib.Error; + public bool default_deserialize_property (GXml.Node property_node) throws GLib.Error; + public GXml.Node? default_serialize (GXml.Node node) throws GLib.Error; + public GXml.Node? default_serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public virtual bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public virtual GLib.ParamSpec? find_property_spec (string property_name); + public virtual void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void init_properties (); + public virtual GLib.ParamSpec[] list_serializable_properties (); + public virtual string node_name (); + public virtual bool property_use_nick (); + public virtual GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public virtual GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public virtual bool serialize_use_xml_node_value (); + public virtual bool set_namespace (GXml.Node node); + public virtual void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public virtual bool transform_from_string (string str, ref GLib.Value dest); + public virtual bool transform_to_string (GLib.Value val, ref string str); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class Serialization : GLib.Object { + public Serialization (); + public static void clear_cache (); + public static GLib.Object deserialize_object (GLib.Type type, GXml.xDocument doc) throws GLib.Error; + public static GXml.xDocument serialize_object (GLib.Object object) throws GLib.Error; + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwAttribute : GXml.TwNode, GXml.Attribute { + public TwAttribute (GXml.Document d, string name, string value); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwComment : GXml.TwNode, GXml.Comment { + public TwComment (GXml.Document doc, string text); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwDocument : GXml.TwNode, GXml.Document { + public TwDocument (); + public TwDocument.for_path (string file); + public bool save_to (GLib.File f, GLib.Cancellable? cancellable = null); + public override bool set_namespace (string uri, string prefix); + public virtual void start_node (Xml.TextWriter tw, GXml.Node node); + public override string to_string (); + public virtual void write_document (Xml.TextWriter tw); + public override GXml.Document document { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwElement : GXml.TwNode, GXml.Element { + public TwElement (GXml.Document d, string name); + public override string value { get; set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwNamespace : GXml.TwNode, GXml.Namespace { + public TwNamespace (GXml.Document d, string uri, string prefix); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public abstract class TwNode : GLib.Object, GXml.Node { + protected Gee.HashMap _attrs; + protected Gee.ArrayList _childs; + protected GXml.Document _doc; + protected string _name; + protected Gee.ArrayList _namespaces; + protected string _value; + public TwNode (); + public virtual bool set_namespace (string uri, string prefix); + public virtual string to_string (); + public virtual Gee.Map attrs { get; } + public virtual Gee.BidirList childs { get; } + public virtual GXml.Document document { get; } + public virtual string name { get; } + public virtual Gee.List namespaces { get; } + public virtual GXml.NodeType type_node { get; } + public virtual string value { get; set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class TwText : GXml.TwNode, GXml.Text { + public TwText (GXml.Document d, string text); + public override string value { get; set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class xComment : GXml.CharacterData, GXml.Comment { + public override string node_name { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class xDocument : GXml.xNode, GXml.Document { + public xDocument (); + public override unowned GXml.xNode? append_child (GXml.xNode new_child); + public unowned GXml.xNode copy_node (GXml.xNode foreign_node, bool deep = true); + public GXml.Attr create_attribute (string name); + public unowned GXml.CDATASection create_cdata_section (string cdata_data); + public unowned GXml.DocumentFragment create_document_fragment (); + public GXml.EntityReference create_entity_reference (string name); + public unowned GXml.xComment create_managed_comment (string comment_data); + public GXml.ProcessingInstruction create_processing_instruction (string target, string data); + public unowned GXml.xText create_text_node (string text_data); + public xDocument.from_gfile (GLib.File fin, GLib.Cancellable? can = null) throws GXml.Error, GLib.Error; + public xDocument.from_libxml2 (Xml.Doc* doc, bool require_root = true); + public xDocument.from_path (string file_path) throws GXml.Error; + public xDocument.from_stream (GLib.InputStream instream, GLib.Cancellable? can = null) throws GXml.Error; + public xDocument.from_string (string xml); + public xDocument.from_string_with_options (string xml, string? url = null, string? encoding = null, int options = 0); + public GXml.NodeList get_elements_by_tag_name (string tag_name); + public override bool has_child_nodes (); + public override unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public override unowned GXml.xNode? remove_child (GXml.xNode old_child); + public override unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public void save_to_path (string file_path) throws GXml.Error; + public void save_to_stream (GLib.OutputStream outstream, GLib.Cancellable? can = null) throws GXml.Error; + public override string stringify (bool format = true, int level = 0); + public override GXml.NodeList? child_nodes { get; internal set; } + public GXml.DocumentType? doctype { get; private set; } + public GXml.xElement document_element { get; private set; } + public GXml.Implementation implementation { get; private set; } + public override string node_name { get; private set; } + public virtual GXml.Node root { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class xElement : GXml.BackedNode, GXml.Element { + public override unowned GXml.xNode? append_child (GXml.xNode new_child); + public string get_attribute (string name); + public GXml.Attr? get_attribute_node (string name); + public GXml.NodeList get_elements_by_tag_name (string tag_name); + public override unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public void remove_attribute (string name); + public GXml.Attr remove_attribute_node (GXml.Attr old_attr); + public override unowned GXml.xNode? remove_child (GXml.xNode old_child); + public override unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public void set_attribute (string name, string value); + public GXml.Attr set_attribute_node (GXml.Attr new_attr); + public override string stringify (bool format = false, int level = 0); + public override GXml.NamedAttrMap? attributes { get; internal set; } + public override string? node_value { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public abstract class xNode : GLib.Object, GXml.Node { + protected GXml.NamedAttrMap _attributes; + protected GXml.NodeList _child_nodes; + public virtual GXml.NamespaceAttr? add_namespace_attr (string uri, string namespace_prefix); + public virtual unowned GXml.xNode? append_child (GXml.xNode new_child); + public virtual unowned GXml.xNode? clone_node (bool deep); + public virtual bool has_child_nodes (); + public virtual unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public virtual unowned GXml.xNode? remove_child (GXml.xNode old_child); + public virtual unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public virtual bool set_namespace (string uri, string namespace_prefix); + public virtual string stringify (bool format = false, int level = 0); + public virtual string to_string (); + public virtual GXml.NamedAttrMap? attributes { get; internal set; } + public virtual Gee.Map attrs { get; } + public virtual GXml.NodeList? child_nodes { get; internal set; } + public virtual Gee.BidirList childs { get; } + public virtual GXml.xNode? first_child { get; internal set; } + public virtual GXml.xNode? last_child { get; internal set; } + public virtual string? local_name { get; internal set; } + public virtual string name { get; } + public virtual Gee.List? namespace_definitions { get; internal set; } + public virtual string? namespace_prefix { get; internal set; } + public virtual string? namespace_uri { get; internal set; } + public virtual Gee.List namespaces { get; } + public virtual GXml.xNode? next_sibling { get; internal set; } + public virtual string node_name { get; internal set; } + public virtual GXml.NodeType node_type { get; internal set; } + public virtual string? node_value { get; internal set; } + public GXml.xDocument owner_document { get; internal set; } + public virtual GXml.xNode? parent_node { get; internal set; } + public virtual GXml.xNode? previous_sibling { get; internal set; } + public virtual string value { get; set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public class xText : GXml.CharacterData, GXml.Text { + public GXml.xText split_text (ulong offset); + public override string node_name { get; private set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Attribute : GLib.Object, GXml.Node { + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Comment : GLib.Object, GXml.Node { + public abstract string str { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Document : GLib.Object, GXml.Node { + public abstract GXml.Node create_comment (string text); + public abstract GXml.Node create_element (string name); + public abstract GXml.Node create_text (string text); + public virtual void finalize_comment (); + public virtual void finalize_element (); + public virtual void finalize_text (); + public static GXml.Document new_default (); + public static GXml.Document new_default_for_file (GLib.File f) throws GLib.Error; + public static GXml.Document new_default_for_path (string path) throws GLib.Error; + public abstract bool save (GLib.Cancellable? cancellable = null) throws GLib.Error; + public virtual bool save_as (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error; + public abstract GLib.File file { get; set; } + public abstract bool indent { get; set; } + public abstract GXml.Node root { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Element : GLib.Object, GXml.Node { + public virtual void finalize_attr (); + public abstract GXml.Node get_attr (string name); + public abstract void normalize (); + public abstract void set_attr (string name, string value); + public abstract string content { owned get; set; } + public abstract string tag_name { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface NamedNodeMap : GLib.Object { + public abstract T get_named_item (string name); + public abstract T item (ulong index); + public abstract T remove_named_item (string name); + public abstract T set_named_item (T item); + public abstract ulong length { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Namespace : GLib.Object { + public abstract string prefix { get; } + public abstract string uri { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Node : GLib.Object { + public static bool copy (GXml.Document doc, GXml.Node node, GXml.Node source, bool deep); + public virtual string ns_prefix (); + public virtual string ns_uri (); + public abstract bool set_namespace (string uri, string prefix); + public abstract string to_string (); + public abstract Gee.Map attrs { get; } + public abstract Gee.BidirList childs { get; } + public abstract GXml.Document document { get; } + public abstract string name { get; } + public abstract Gee.List namespaces { get; } + public abstract GXml.NodeType type_node { get; } + public abstract string value { get; set; } + + public new Node? get (string id) { + foreach (var child in childs) + if (child.name == id) + return child; + return null; + } + + public Gee.List get_elements_by_class_name (string klass) { + var list = new Gee.ArrayList(); + foreach (var child in childs) { + list.add_all (child.get_elements_by_class_name (klass)); + if ((child as xNode).attributes == null) + continue; + if ((child as xNode).attributes.get_named_item ("class") != null) { + string[] kls = (child as xNode).attributes.get_named_item ("class").value.split (" "); + foreach (string cls in kls) + if (cls == klass) { + list.add (child); + break; + } + } + } + return list; + } + + public Gee.List get_elements_by_tag_name (string tag_name) { + var list = new Gee.ArrayList(); + if (childs == null || childs.size == 0) + return list; + foreach (var child in childs) { + list.add_all (child.get_elements_by_tag_name (tag_name)); + if (child.name == tag_name) + list.add (child); + } + return list; + } + + public GXml.Node? get_element_by_id (string id) { + foreach (var child in childs) { + if (child.get_element_by_id (id) != null) + return child.get_element_by_id (id); + var e = child as GXml.Element; + if (e == null) + continue; + if (e.get_attr ("id") != null && e.get_attr ("id").value == id) + return child; + } + return null; + } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface NodeList : GLib.Object, Gee.Iterable, Gee.Collection { + public abstract unowned GXml.xNode? append_child (GXml.xNode new_child); + public abstract GXml.xNode first (); + public abstract new GXml.xNode @get (int n); + public abstract unowned GXml.xNode? insert_before (GXml.xNode new_child, GXml.xNode? ref_child); + public abstract GXml.xNode item (ulong idx); + public abstract GXml.xNode last (); + public abstract unowned GXml.xNode? remove_child (GXml.xNode old_child); + public abstract unowned GXml.xNode? replace_child (GXml.xNode new_child, GXml.xNode old_child); + public abstract string to_string (bool in_line); + public abstract ulong length { get; protected set; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Serializable : GLib.Object { + public virtual GLib.ParamSpec? default_find_property_spec (string property_name); + public virtual void default_get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public virtual void default_init_properties (); + public virtual GLib.ParamSpec[] default_list_serializable_properties (); + public virtual void default_set_property_value (GLib.ParamSpec spec, GLib.Value val); + public abstract GXml.Node? deserialize (GXml.Node node) throws GLib.Error; + public abstract bool deserialize_property (GXml.Node property_node) throws GLib.Error; + public abstract GLib.ParamSpec? find_property_spec (string property_name); + public abstract bool get_enable_unknown_serializable_property (); + public abstract void get_property_value (GLib.ParamSpec spec, ref GLib.Value val); + public static string gvalue_to_string (GLib.Value val) throws GXml.SerializableError; + public abstract void init_properties (); + public abstract GLib.ParamSpec[] list_serializable_properties (); + public abstract string node_name (); + public abstract bool property_use_nick (); + public abstract GXml.Node? serialize (GXml.Node node) throws GLib.Error; + public abstract GXml.Node? serialize_property (GXml.Node element, GLib.ParamSpec prop) throws GLib.Error; + public abstract bool serialize_use_xml_node_value (); + public abstract bool set_namespace (GXml.Node node); + public abstract void set_property_value (GLib.ParamSpec spec, GLib.Value val); + public static bool string_to_gvalue (string str, ref GLib.Value dest) throws GXml.SerializableError; + public abstract bool transform_from_string (string str, ref GLib.Value dest) throws GLib.Error; + public abstract bool transform_to_string (GLib.Value val, ref string str) throws GLib.Error; + public abstract GLib.HashTable ignored_serializable_properties { get; protected set; } + protected abstract GLib.ParamSpec[] properties { get; set; } + public abstract string? serialized_xml_node_value { get; protected set; } + public abstract Gee.Collection unknown_serializable_nodes { get; } + public abstract Gee.Map unknown_serializable_properties { get; } + public signal void deserialize_unknown_property (GXml.Node node, GLib.ParamSpec prop); + public signal void deserialize_unknown_property_type (GXml.Node node, GLib.ParamSpec prop); + public signal void serialize_unknown_property (GXml.Node element, GLib.ParamSpec prop, out GXml.Node node); + public signal void serialize_unknown_property_type (GXml.Node element, GLib.ParamSpec prop, out GXml.Node node); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface SerializableCollection : GLib.Object, GXml.Serializable { + public virtual bool is_collection (); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface SerializableMapDualKey : GLib.Object { + public abstract P get_map_primary_key (); + public abstract S get_map_secondary_key (); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface SerializableMapKey : GLib.Object { + public abstract K get_map_key (); + } + [CCode (cheader_filename = "gxml/gxml.h")] + public interface Text : GLib.Object, GXml.Node { + public abstract string str { get; } + } + [CCode (cheader_filename = "gxml/gxml.h")] + public enum DomException { + NONE, + INDEX_SIZE, + DOMSTRING_SIZE, + HIERARCHY_REQUEST, + WRONG_DOCUMENT, + INVALID_CHARACTER, + NO_DATA_ALLOWED, + NO_MODIFICATION_ALLOWED, + NOT_FOUND, + NOT_SUPPORTED, + INUSE_ATTRIBUTE, + DOM, + INVALID_DOC, + INVALID_ROOT, + NAMESPACE, + X_OTHER + } + [CCode (cheader_filename = "gxml/gxml.h")] + public enum NodeType { + X_UNKNOWN, + ELEMENT, + ATTRIBUTE, + TEXT, + CDATA_SECTION, + ENTITY_REFERENCE, + ENTITY, + PROCESSING_INSTRUCTION, + COMMENT, + DOCUMENT, + DOCUMENT_TYPE, + DOCUMENT_FRAGMENT, + NOTATION + } + [CCode (cheader_filename = "gxml/gxml.h")] + public errordomain DocumentError { + INVALID_DOCUMENT_ERROR, + INVALID_FILE + } + [CCode (cheader_filename = "gxml/gxml.h")] + public errordomain EnumerationError { + INVALID_VALUE, + INVALID_TEXT + } + [CCode (cheader_filename = "gxml/gxml.h")] + public errordomain Error { + NOT_SUPPORTED, + PARSER, + WRITER + } + [CCode (cheader_filename = "gxml/gxml.h")] + public errordomain SerializableError { + UNSUPPORTED_TYPE_ERROR, + STR_TO_VALUE_ERROR + } + [CCode (cheader_filename = "gxml/gxml.h")] + public errordomain SerializationError { + UNKNOWN_TYPE, + UNKNOWN_PROPERTY, + UNSUPPORTED_OBJECT_TYPE, + UNSUPPORTED_PROPERTY_TYPE, + UNSUPPORTED_TYPE, + UNSUPPORTED_FILE_FORMAT + } + [CCode (cheader_filename = "gxml/gxml.h")] + public static GXml.DomException last_error; + [CCode (cheader_filename = "gxml/gxml.h")] + public static void warning (GXml.DomException exception, string message); +} diff --git a/po/af.po b/po/af.po index ff97b64..1c11f1a 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.7.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2004-03-18 14:16+0200\n" "Last-Translator: Petri Jooste \n" "Language-Team: Afrikaans \n" diff --git a/po/az.po b/po/az.po index b22eecf..06a95c8 100644 --- a/po/az.po +++ b/po/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2004-03-19 18:29+0200\n" "Last-Translator: Metin Amiroff \n" "Language-Team: Azerbaijani \n" diff --git a/po/bg.po b/po/bg.po index 864d503..b7c6bc6 100644 --- a/po/bg.po +++ b/po/bg.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-04-26 22:30+0300\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \n" diff --git a/po/ca.po b/po/ca.po index 587db6a..d9488e2 100644 --- a/po/ca.po +++ b/po/ca.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2012-01-01 14:19+0100\n" "Last-Translator: Gil Forcada \n" "Language-Team: Catalan \n" diff --git a/po/cs.po b/po/cs.po index 76a67f4..86786c5 100644 --- a/po/cs.po +++ b/po/cs.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-17 14:19+0200\n" "Last-Translator: Marek Černocký \n" "Language-Team: Czech \n" diff --git a/po/da.po b/po/da.po index e38421e..f45cbff 100644 --- a/po/da.po +++ b/po/da.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-08-29 11:28+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" diff --git a/po/de.po b/po/de.po index 7dd76b1..e7ce914 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-11 20:57+0100\n" "Last-Translator: Christian Kirbach \n" "Language-Team: German \n" diff --git a/po/el.po b/po/el.po index 1f6f8b0..347e45d 100644 --- a/po/el.po +++ b/po/el.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2012-05-05 19:17+0100\n" "Last-Translator: Savvas Radevic \n" "Language-Team: Greek \n" diff --git a/po/en_GB.po b/po/en_GB.po index b6d44b1..6c1af8f 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2004-04-26 10:41-0400\n" "Last-Translator: Gareth Owen \n" "Language-Team: English (British) \n" diff --git a/po/eo.po b/po/eo.po index 5bdadc1..6b896b5 100644 --- a/po/eo.po +++ b/po/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-06-04 22:18+0200\n" "Last-Translator: Kristjan SCHMIDT \n" "Language-Team: Esperanto \n" diff --git a/po/es.po b/po/es.po index 251ae17..af6fe35 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-10-02 15:47+0200\n" "Last-Translator: Jorge González González \n" "Language-Team: Spanish \n" diff --git a/po/eu.po b/po/eu.po index 440e5b7..bf738e1 100644 --- a/po/eu.po +++ b/po/eu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.17.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2010-03-25 12:30+0100\n" "Last-Translator: Mikel Olasagasti Uranga \n" "Language-Team: Basque \n" diff --git a/po/fi.po b/po/fi.po index e852ec1..e88f1f3 100644 --- a/po/fi.po +++ b/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2009-08-12 22:13+0300\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" diff --git a/po/fr.po b/po/fr.po index 78760aa..9f1cf86 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-04-26 19:24+0200\n" "Last-Translator: Stéphane Aulery \n" "Language-Team: French \n" diff --git a/po/gl.po b/po/gl.po index 833e844..4268281 100644 --- a/po/gl.po +++ b/po/gl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-09-05 12:50+0200\n" "Last-Translator: Fran Dieguez \n" "Language-Team: Galician \n" diff --git a/po/hr.po b/po/hr.po index 6cfa12d..e5ae9f4 100644 --- a/po/hr.po +++ b/po/hr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2012-04-16 02:06+0200\n" "Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" diff --git a/po/hu.po b/po/hu.po index d981430..a4c95e6 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-14 08:15+0200\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" diff --git a/po/id.po b/po/id.po index 2affe20..3408937 100644 --- a/po/id.po +++ b/po/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.3.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-05-31 22:16+0700\n" "Last-Translator: Andhika Padmawan \n" "Language-Team: Indonesian \n" diff --git a/po/it.po b/po/it.po index 68f1bc8..37af0ba 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2009-08-14 00:12+0200\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" diff --git a/po/ja.po b/po/ja.po index 446d247..94b7c8b 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-04-26 19:38+0900\n" "Last-Translator: Makoto Kato \n" "Language-Team: Japanese \n" diff --git a/po/ky.po b/po/ky.po index 2cb2913..4b42460 100644 --- a/po/ky.po +++ b/po/ky.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.5\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2007-11-13 17:16+0600\n" "Last-Translator: Ilyas Bakirov \n" "Language-Team: Kirghiz \n" diff --git a/po/lt.po b/po/lt.po index 098003b..b13f0ed 100644 --- a/po/lt.po +++ b/po/lt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.6.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2008-05-14 02:13+0300\n" "Last-Translator: Gintautas Miliauskas \n" "Language-Team: Lithuanian \n" diff --git a/po/lv.po b/po/lv.po index 5b2f509..915f1d3 100644 --- a/po/lv.po +++ b/po/lv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.2.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-04-20 15:52+0300\n" "Last-Translator: Rihards Prieditis \n" "Language-Team: Latvian \n" diff --git a/po/mt.po b/po/mt.po index 8f9c47c..040e935 100644 --- a/po/mt.po +++ b/po/mt.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2008-10-26 20:27+0100\n" "Last-Translator: Michel Bugeja \n" "Language-Team: Maltese \n" diff --git a/po/nb.po b/po/nb.po index 8a583b6..b14ba65 100644 --- a/po/nb.po +++ b/po/nb.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-07-11 01:15+0100\n" "Last-Translator: Johnny A. Solbu \n" "Language-Team: Norwegian Bokmaal \n" diff --git a/po/nl.po b/po/nl.po index da1f868..98f3696 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.4.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-07-22 10:49+0200\n" "Last-Translator: Freek de Kruijf \n" "Language-Team: Dutch \n" diff --git a/po/or.po b/po/or.po index e05a828..bc252d6 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2004-09-27 13:32+0530\n" "Last-Translator: Gora Mohanty \n" "Language-Team: Oriya \n" diff --git a/po/pl.po b/po/pl.po index fb94d72..354309a 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-10 22:06+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 3093f82..6e04b00 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-02-01 18:24-0200\n" "Last-Translator: Fabrício Godoy \n" "Language-Team: Brazilian Portuguese \n" "Language-Team: Romanian \n" diff --git a/po/ru.po b/po/ru.po index a42c344..a1da680 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-13 12:00+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" diff --git a/po/sk.po b/po/sk.po index 8492711..0cd3d56 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.2.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-01-30 10:44+0100\n" "Last-Translator: Peter Tuharsky \n" "Language-Team: Slovak \n" diff --git a/po/sl.po b/po/sl.po index 6ef723e..93b8ee4 100644 --- a/po/sl.po +++ b/po/sl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2011-04-26 15:21+0100\n" "Last-Translator: Klemen Košir \n" "Language-Team: Slovenian \n" diff --git a/po/sq.po b/po/sq.po index cacb731..e620bc7 100644 --- a/po/sq.po +++ b/po/sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.7.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2008-08-15 16:07+0200\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" diff --git a/po/sr.po b/po/sr.po index 1645785..b547752 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-09-13 10:39+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian <(nothing)>\n" diff --git a/po/sv.po b/po/sv.po index 647b380..2403e62 100644 --- a/po/sv.po +++ b/po/sv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2014-09-19 02:43+0200\n" "Last-Translator: Sebastian Rasmussen \n" "Language-Team: Swedish \n" diff --git a/po/tr.po b/po/tr.po index 6efd661..37f8c5f 100644 --- a/po/tr.po +++ b/po/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-1.4.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-01-10 21:07+0100\n" "Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" diff --git a/po/uk.po b/po/uk.po index 36d6ca7..4b6ff69 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-10 22:48+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" diff --git a/po/vi.po b/po/vi.po index d9d674f..8952303 100644 --- a/po/vi.po +++ b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-06-11 08:37+0700\n" "Last-Translator: Trần Ngọc Quân \n" "Language-Team: Vietnamese \n" diff --git a/po/zh_CN.po b/po/zh_CN.po index c0a25ac..34a6d96 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 1.5.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2015-09-25 22:59+0200\n" +"POT-Creation-Date: 2015-10-05 05:21+0200\n" "PO-Revision-Date: 2015-09-05 21:03+0800\n" "Last-Translator: zwpwjwtz \n" "Language-Team: Chinese (simplified) \n" -- 2.5.0